Behöver ert företag hjälp med att implementera AI? Kontakta oss och få prisoffert här →
AI Skolan
januari 22, 2026

Jina Reader + Google Gemini, planera servicesidor snabbt

Rickard Andersson Partner, Nodenordic.se

Du känner igen känslan: du ska “bara” bygga en tjänstesida, och plötsligt har en hel eftermiddag försvunnit på att öppna konkurrentflikar, kopiera rubriker och försöka gissa vad Google faktiskt vill ha.

Det drabbar SEO-ansvariga först, men marknadschefer och byråägare känner av det också. En bra automatisering för en service page blueprint gör konkurrent-URL:er till en strukturerad plan du kan skriva utifrån, utan rörig kalkylblads-arkeologi.

Den här guiden visar vad arbetsflödet producerar, hur det fungerar på enkel svenska och vad du behöver för att köra det stabilt i n8n.

Så fungerar automatiseringen

Här är hela arbetsflödet du kommer att sätta upp:

n8n Workflow Template: Jina Reader + Google Gemini, planera servicesidor snabbt

Varför det här spelar roll: konkurrentresearch äter upp arbetsdagen

Att planera en tjänstesida ska vara ett snabbt “disposition, utkast, publicera”-jobb. I praktiken blir det en oändlig loop av konkurrentkoll, intent-gissningar och velande kring var din CTA ska sitta. Du skummar fem sidor, glömmer vad den första sa och bygger sedan samma disposition som du gjorde förra månaden eftersom du inte hittar den. Under tiden kommer själva skrivandet aldrig igång, och sidan lanseras sent med en struktur som känns okej… men som varken rankar eller konverterar.

Det blir snabbt mycket. Här är var det faller isär.

  • Manuell konkurrentanalys kan ta runt 2 timmar per sida, och ändå missar du mönster som återkommande sektionsordning och var förtroendesignaler placeras.
  • Intent är svårt att pricka med magkänsla, så du slutar med att skriva “allt”, och sidan blir svullen och ofokuserad.
  • Innehållsgap är lätta att prata om och irriterande att bevisa, vilket gör att du skickar ut sidor som ser ut som alla andras.
  • Att göra research till en handlingsbar blueprint är den långsamma delen, särskilt när du gör det för flera kundbranscher.

Vad du bygger: en tjänstesideplan från konkurrent till blueprint

Det här arbetsflödet tar ett litet urval konkurrent-URL:er (upp till fem) plus ditt målkeyword och tjänstedetaljer, och producerar en färdig service page blueprint som en nedladdningsbar Markdown-fil. Det börjar med att extrahera on-page-innehåll från varje konkurrent via Jina Reader API, och parsar sedan nyckelelement som rubriker och metainformation så att du slipper manuell kopiering. Därefter analyserar Google Gemini konkurrenternas struktur, återkommande teman och vad sidorna signalerar till sökare. Sedan körs en intent- och gap-analys så att du ser vad som är “hygienfaktor” kontra vad som faktiskt differentierar. Till sist skapas en disposition (H1/H2/H3) plus UX- och konverteringsrekommendationer, och allt sammanställs till en korrekt formaterad blueprint som du kan ge till en skribent eller implementera själv.

Arbetsflödet börjar med ett enkelt intake-formulär i n8n. Därifrån loopar det igenom konkurrent-URL:er för att extrahera och normalisera innehåll, och sedan syntetiserar Gemini insikter över struktur, intent och möjligheter. På slutet exporterar du en enda blueprint-fil som känns som att en strateg har skrivit den med avsikt.

Det du bygger

Förväntade resultat

Säg att du skapar två nya tjänstesidor i veckan. Före: du granskar fem konkurrent-URL:er per sida och lägger kanske 20 minuter per URL på att skumma, kopiera rubriker och anteckna. Det är runt 3 timmars research per vecka, plus ytterligare en timme för att göra anteckningarna till en användbar disposition. Efter: du klistrar in upp till fem URL:er en gång, väntar på att analysen kör klart och lägger sedan cirka 20 minuter på att finslipa blueprinten. Du får tillbaka ungefär 3 timmar varje vecka, och outputen är enklare att återanvända.

Innan du börjar

  • n8n-instans (testa n8n Cloud gratis)
  • Self-hosting om du föredrar det (Hostinger fungerar bra)
  • Jina Reader API för att extrahera innehåll från konkurrenternas sidor.
  • Google Gemini API för att analysera struktur, intent och gap.
  • Jina Reader API-nyckel (hämta den i Jina API-dashboardens key manager).

Kunskapsnivå: Medel. Du klistrar in API-nycklar, kopplar credentials och justerar en wait-timer för att matcha rate limits.

Vill du att någon bygger detta åt dig? Prata med en automations-expert (gratis 15-minuters konsultation).

Steg för steg

Du skickar in input via ett formulär. Arbetsflödet startar med ett intake-formulär i n8n där du lägger till konkurrent-URL:er, ett målkeyword, ditt varumärkesnamn och tjänstedetaljer (samt en flagga om sidan är en startsida).

Konkurrentinnehåll samlas in och normaliseras. n8n delar upp URL:erna i items, loopar igenom dem i batcher och använder sedan en HTTP-request för att hämta innehåll via Jina Reader. Ett parsningsteg extraherar användbara delar som rubriker och metadata så att analysen baseras på struktur, inte brus.

Gemini kör analys i flera lager. En modellpass fokuserar på konkurrentmönster, en annan tolkar användarintent för keywordet, och ett syntessteg identifierar överlapp och gap. Det finns avsiktliga pauser (wait-noder) så att du inte trycker sönder API-gränser, särskilt på gratisnivåer.

En blueprint-fil skapas och exporteras. Arbetsflödet producerar en disposition med rekommenderade sektioner plus UX- och konverteringsguidning, och exporterar sedan den färdiga blueprinten som en nedladdningsbar textfil i Markdown-format.

Du kan enkelt ändra prompts och sektionskrav för att matcha din bransch eller tonalitet efter behov. Se hela implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementering

Steg 1: Konfigurera formulärtriggern

Det här arbetsflödet startar med en formulärinsändning som samlar in konkurrenters URL:er och servicedetaljer.

  1. Lägg till och öppna Intake Form Trigger.
  2. Ställ in Form Title till Competitors Analysis for Service-Based Queries.
  3. Ställ in Form Description till Generate a high-level service page content blueprint report to follow to beat the competition. Note: Do not add more than 5 competitors otherwise this could dilute the context and quality of the final report.
  4. Konfigurera formulärfälten för Competitors, Target Keyword, Services Offered, Brand Name och Is Homepage? enligt vad som visas i noden.

⚠️ Vanlig fallgrop: Formuläret varnar för att lägga till fler än 5 konkurrenter. Om ni överskrider detta kan det försämra kvaliteten på resultatet och öka bearbetningstiden.

Steg 2: Koppla inputs och API-inställningar

Använd en centraliserad konfigurationsnod för att lagra API-nycklar och modellinställningar som används längre fram i flödet.

  1. Öppna Configure Inputs.
  2. Ställ in JINA Reader API Key till er nyckel i [CONFIGURE_YOUR_API_KEY].
  3. Ställ in Google Gemini Model till gemini-2.5-pro-preview-03-25.
  4. Ställ in Waiting Time (Seconds) till 1 (justera vid behov utifrån rate limits).

Tips: Öka Waiting Time (Seconds) om ni stöter på rate limits eller throttling från LLM-leverantören.

Steg 3: Sätt upp bearbetning av konkurrent-URL:er och extrahering av HTML

Det här steget delar upp konkurrentlistan, loopar igenom varje URL, hämtar HTML och konverterar den till strukturerad data.

  1. I Split URLs Into Items, behåll befintlig JavaScript-kod för att dela upp Intake Form Trigger-konkurrenter till competitor_url-items.
  2. Koppla Split URLs Into Items till Batch Iterate Records för att loopa varje URL.
  3. Konfigurera Fetch Page HTML med URL satt till =https://r.jina.ai/{{ $json.competitor_url }}.
  4. I Fetch Page HTML, ställ in headers: Authorization till =Bearer {{ $('Configure Inputs').first().json['JINA Reader API Key'] }} och X-Return-Format till html.
  5. Behåll Parse HTML Elements som den är för att extrahera rubriker, metadata, schema och n-gram.
  6. I Map URL Details, mappa fälten med uttryck: Competitor URL till {{ $('Batch Iterate Records').item.json.competitor_url }}, Outline till {{ JSON.stringify($json.outline) }}, Meta till {{ JSON.stringify($json.meta) }} och Ngrams till {{ JSON.stringify($json.ngrams) }}.
  7. Batch Iterate Records skickar output parallellt till både Fetch Page HTML och Compile Competitor XML.
  8. Behåll Compile Competitor XML och Pass Competitor Data för att sätta ihop hela konkurrentdatasetet.

⚠️ Vanlig fallgrop: Fetch Page HTML är konfigurerad med Continue On Fail. Om URL:er är ogiltiga kan senare AI-steg få ofullständig data.

Steg 4: Konfigurera LLM för konkurrentanalys

Den här fasen analyserar konkurrenternas struktur och ger ut en strukturerad rapport.

  1. Öppna Gemini Model Primary och bekräfta att Model Name är =models/{{ $('Configure Inputs').first().json['Google Gemini Model'] }}.
  2. Credentials krävs: Koppla era googlePalmApi-credentials i Gemini Model Primary.
  3. I Competitor Insights LLM, behåll uttrycket i fältet Text som injicerar Target Keyword och competitors_data.
  4. Bekräfta att Competitor Insights LLM använder Gemini Model Primary som språkmodell—credentials ska läggas till i Gemini Model Primary, inte i chain-noden.
  5. I Store Competitor Report, behåll uttrycket för XML-extraktion för Competitor Analysis Report.
  6. Säkerställ att Store Competitor Report går vidare till Delay Before Intent för att respektera tidsbegränsningar.

Steg 5: Konfigurera intent, syntes och generering av disposition

Det här blocket bygger användarintent, syntes och rekommendationer för disposition med flera Gemini-backade LLM-noder.

  1. Öppna Gemini Model Intent och behåll Model Name satt till =models/{{ $('Configure Inputs').first().json['Google Gemini Model'] }}.
  2. Credentials krävs: Koppla era googlePalmApi-credentials i Gemini Model Intent.
  3. I User Intent LLM, behåll Text-uttrycket för målfrågan. Den här chainen använder Gemini Model Intent—credentials ska läggas till i modellnoden.
  4. I Store Intent Report, behåll extraktionsuttrycket för User Intent Analysis Report, och skicka sedan vidare till Pause Before Synthesis med Amount satt till ={{ $('Configure Inputs').first().json['Waiting Time (Seconds)'] }}.
  5. Öppna Gemini Model Synthesis och behåll Model Name satt till =models/{{ $('Configure Inputs').first().json['Google Gemini Model'] }}.
  6. I Synthesis Gap LLM, behåll Text-uttrycket som kombinerar konkurrent- och intentrapporter. Den använder Gemini Model Synthesis som språkmodell.
  7. I Store Synthesis Output, behåll extraktionsuttrycket för Synthesis & Gap Analysis, och koppla sedan till Pause Before Outline.
  8. Öppna Gemini Model Outline och behåll Model Name satt till =models/{{ $('Configure Inputs').first().json['Google Gemini Model'] }}.
  9. Credentials krävs: Koppla era googlePalmApi-credentials i Gemini Model Outline.
  10. I Outline Generator LLM, behåll Text-uttrycket som använder syntesresultat och intake-fält, och lagra sedan output i Store Outline Draft.

⚠️ Vanlig fallgrop: Gemini Model Synthesis har inga credentials konfigurerade. Ni måste lägga till googlePalmApi-credentials i den här modellnoden för att Synthesis Gap LLM ska fungera.

Steg 6: Konfigurera UX-förbättringar, slutlig blueprint och export

Arbetsflödet avslutas genom att generera UX-copyförslag och sammanställa en slutlig blueprint-fil.

  1. I Pause Before UX, behåll Amount satt till ={{ $('Configure Inputs').first().json['Waiting Time (Seconds)'] }}.
  2. Öppna Gemini Model UX och behåll Model Name satt till =models/{{ $('Configure Inputs').first().json['Google Gemini Model'] }}.
  3. I UX Copy Enhancement LLM, behåll Text-uttrycket som kombinerar disposition, intent och servicedetaljer. Den här chainen använder Gemini Model UX.
  4. Lagra resultaten i Store UX Suggestions med hjälp av det befintliga uttrycket för XML-extraktion.
  5. Öppna Gemini Model Final och behåll Model Name satt till =models/{{ $('Configure Inputs').first().json['Google Gemini Model'] }}.
  6. I Final Blueprint LLM, behåll Text-uttrycket som sammanställer alla tidigare rapporter, och routa sedan till Store Final Blueprint.
  7. Konfigurera Export Blueprint File med Operation satt till toText och Source Property satt till Final Blueprint.

⚠️ Vanlig fallgrop: Gemini Model UX och Gemini Model Final har inga credentials konfigurerade. Lägg till googlePalmApi-credentials i dessa modellnoder för att förhindra körningsfel i UX Copy Enhancement LLM och Final Blueprint LLM.

Steg 7: Testa och aktivera ert arbetsflöde

Verifiera att varje steg ger giltig output innan ni aktiverar arbetsflödet för produktion.

  1. Klicka på Execute Workflow och skicka in Intake Form Trigger med 2–3 konkurrent-URL:er för att validera scraping-loopen.
  2. Bekräfta att Store Competitor Report, Store Intent Report, Store Synthesis Output, Store Outline Draft och Store UX Suggestions var och en innehåller extraherad text (inte rå XML).
  3. Kontrollera att Store Final Blueprint innehåller en Markdown-blueprint och att Export Blueprint File ger ut en fil med namnet Blueprint.txt.
  4. När ni är nöjda, växla arbetsflödet till Active så att formuläret kan användas i produktion.
🔒

Lås upp fullständig steg-för-steg-guide

Få den kompletta implementeringsguiden + nedladdningsbar mall

Felsökningstips

  • Jina Reader-credentials kan gå ut eller klistras in fel. Om extraheringen misslyckas: kontrollera först API-nyckeln som är sparad i ditt n8n-steg “Edit Fields / Configure Inputs”.
  • Om du använder Wait-noder eller extern rendering varierar processeringstiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar.
  • Standardprompts i AI-noder är generiska. Lägg in din tonalitet tidigt, annars kommer du att redigera outputen i all oändlighet.

Snabba svar

Hur lång är uppsättningstiden för den här automatiseringen för service page blueprint?

Cirka 30 minuter om du redan har dina API-nycklar.

Krävs kodning för den här automatiseringen för service page blueprint?

Nej, ingen kodning krävs. Du kopplar mest credentials och klistrar in dina konkurrent-URL:er i formuläret.

Är n8n gratis att använda för det här arbetsflödet för service page blueprint?

Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också räkna med kostnader för användning av Jina Reader och Gemini API.

Var kan jag hosta n8n för att köra den här automatiseringen?

Två alternativ: n8n Cloud (managed, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och klarar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.

Kan jag anpassa den här automatiseringen för service page blueprint för olika användningsfall?

Ja, och det borde du sannolikt. Du kan byta vad du extraherar genom att justera steget “Parse HTML Elements”, vilket ändrar vad AI:n får se för olika branscher. Du kan också skriva om prompts i Gemini-analysstegen (konkurrentinsikter, intent, disposition och UX) för att styra tonalitet, önskad sektionsordning eller CTA-stil. Vanliga justeringar är att lägga till krav på “pris/erbjudande”, tvinga fram sektioner för lokal SEO och lägga in compliance-språk för reglerade tjänster.

Varför misslyckas min Jina Reader-anslutning i det här arbetsflödet?

Oftast beror det på en ogiltig eller saknad API-nyckel i ditt konfigurationssteg. Uppdatera nyckeln och kör sedan om först med en konkurrent-URL för att bekräfta att extraheringen fungerar. Om sidan är hårt skyddad eller blockerar botar kan Jina returnera tunt innehåll, vilket gör att Gemini-analysen ser “generisk” ut.

Vilken volym kan det här arbetsflödet för service page blueprint hantera?

Det är designat för upp till fem konkurrent-URL:er per körning, och de flesta team kör det bara några gånger per dag som mest.

Är den här automatiseringen för service page blueprint bättre än att använda Zapier eller Make?

Ofta, ja. Det här arbetsflödet behöver loopa över URL:er, vänta för att respektera rate limits och köra AI-analys i flera steg som förgrenar och slår ihop output, vilket är precis där Zapier och Make börjar kännas begränsade eller dyra. n8n hanterar komplex logik utan att straffa dig för varje extra väg, och self-hosting tar bort körningstak om du gör mycket research. Nackdelen är att du behöver göra lite mer setup i början, särskilt kring credentials och testning. Om du är osäker, prata med en automations-expert så pekar vi dig mot det enklaste alternativet för din arbetsbelastning.

Sätt upp detta en gång, så slutar du behandla konkurrentresearch som en återkommande brandkårsutryckning. Arbetsflödet gör grovjobbet så att du kan fokusera på skrivandet och resultaten.

Kontakta oss

Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.

×

Använd mall

Få direkt tillgång till denna n8n-arbetsflödes JSON-fil

Launch login modal Launch register modal