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

Google Sheets + OpenAI: SEO-kluster klara åt dig

Rickard Andersson Partner, Nodenordic.se

Din SEO-researchprocess ser förmodligen ut så här: du tar en lista med URL:er, öppnar dem en och en, skummar rubriker, gissar ämnet och försöker sedan gruppera sidor i kluster utan att missa något. Det går långsamt. Och ärligt talat är det den typen av arbete som dränerar hjärnan innan du ens kommer till strategin.

Innehållsstrateger känner det när en ”snabb audit” blir ett tvådagars kalkylblads-maraton. SEO-ansvariga känner det när klustringsstandarder skiljer sig från person till person. Byråteam känner det också. Den här automatiseringen av SEO-klustring gör om ett vanligt Google Sheet med URL:er till konsekventa entiteter, nyckelord, sammanfattningar och klusteretiketter du kan agera på.

Nedan ser du vad arbetsflödet gör, vilka resultat du kan förvänta dig och de praktiska detaljerna som gör det pålitligt vecka efter vecka.

Så fungerar automatiseringen

Hela n8n-arbetsflödet, från trigger till slutligt output:

n8n Workflow Template: Google Sheets + OpenAI: SEO-kluster klara åt dig

Problemet: SEO-klustring tar evigheter (och blir ändå rörig)

Ämnesklustring låter enkelt tills du faktiskt gör det i skala. Du hanterar dussintals (ibland hundratals) sidor, var och en med sin egen struktur, formulering och intent. Manuell granskning blir till oändligt flikväxlande: kopiera H1:or, skanna H2:or, klistra in anteckningar och sedan diskutera internt om vad det ”riktiga” ämnet är. Även om du gör jobbet noggrant är resultatet ofta inte konsekvent nog för att styra internlänkning eller innehållsrensning, vilket gör att auditen inte leder till åtgärder. Den blir bara ännu ett kalkylblad som ingen litar på.

Friktionen bygger på. Och kostnaden är inte bara tid.

  • Folk tolkar ämnen olika, så kluster förändras beroende på vem som gör auditen den veckan.
  • Manuell skrapning av rubriker är monotont, vilket gör att du missar signaler som gömmer sig i underrubriker.
  • Idéer för internlänkning landar som ett luddigt ”länka relaterade inlägg”, inte en lista du faktiskt kan implementera.
  • Backloggen växer eftersom granskning av 100 URL:er lätt kan sluka större delen av en dag.

Lösningen: Veckovis URL-analys som skriver tillbaka strukturerade kluster till ditt sheet

Det här n8n-arbetsflödet tar en lista med URL:er från Google Sheets och kör samma analys varje gång, utan att någon manuellt behöver öppna varje sida. Med ett veckoschema hämtar det dina URL-rader, laddar HTML för varje sida och extraherar sidans rubriker (H1 till H6) för att fånga den faktiska strukturen i innehållet. Därefter omvandlar OpenAI (GPT-4o-mini via LangChain-noder) rubrikerna till strukturerade fält: titel, entiteter, nyckelord, ämnen och en lättläst sammanfattning. Sedan klassificerar arbetsflödet varje sida i ett övergripande kluster och ett mer specifikt underkluster. Slutligen genererar det 3–5 förslag på internlänkning och skriver tillbaka allt till ditt ursprungliga Google Sheet med statusflaggor så att du ser vad som är klart och vad som behöver åtgärdas.

Arbetsflödet börjar med en schemalagd hämtning från Google Sheets. Det bearbetar URL:er i batchar så att du inte överbelastar externa tjänster. Efter att OpenAI har genererat den strukturerade datan och klusteretiketterna uppdateras arket rad för rad, så att din research alltid finns på ett ställe.

Det här får du: Automatisering vs. resultat

Exempel: Så här ser det ut i praktiken

Säg att du auditar 80 URL:er varje måndag. Manuellt kan även en ”snabb genomgång” ta 10 minuter per sida för att öppna den, skanna rubriker, notera entiteter och välja kluster, vilket blir cirka 13 timmar. Med det här arbetsflödet lägger du in URL:erna i Google Sheets en gång, och sedan hanterar den veckovisa körningen hämtning och analys automatiskt. Du kan lägga 45 minuter på att skumma output och stickprova avvikare, och sedan gå direkt till uppdatering av internlänkar och beslut om innehåll.

Det du behöver

  • n8n-instans (testa n8n Cloud gratis)
  • Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
  • Google Sheets för URL-input och resultat-output
  • OpenAI för att extrahera entiteter, ämnen och kluster
  • OpenAI API-nyckel (hämta den i din OpenAI-dashboard)

Kunskapsnivå: Mellannivå. Du kopplar konton, mappar några kolumner i sheetet och granskar prompts, men du behöver inte skriva kod.

Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).

Så fungerar det

Ett veckoschema sätter igång det. n8n startar enligt en fast kadens (veckovis), så att din research uppdateras även när ingen kommer ihåg att köra den.

Ditt sheet blir din källa till sanning. Arbetsflödet hämtar URL-rader från Google Sheets och itererar dem i batchar så att du kan skala utan att belasta webbplatser eller OpenAI API:t.

Rubriker extraheras och analyseras sedan av OpenAI. Varje sida hämtas via HTTP, rubriker (H1–H6) parsas och en AI-agent genererar strukturerade fält som entiteter, nyckelord, ämnen och en kort sammanfattning som faktiskt går att läsa.

Kluster och internlänksidéer läggs till automatiskt. En andra AI-pass tilldelar kluster- och underklusteretiketter, och en tredje pass rekommenderar 3–5 mål för internlänkning för att stärka ämnesauktoritet.

Du kan enkelt justera klustringsreglerna så att de matchar din taxonomi (eller byta ut sheetet mot Excel 365) utifrån dina behov. Se hela implementationsguiden nedan för alternativ för anpassning.

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

Steg 1: Konfigurera den schemalagda triggern

Konfigurera det veckoschema som startar pipelinen och hämtar URL-data för bearbetning.

  1. Lägg till noden Scheduled Weekly Start och öppna dess inställningar.
  2. Ställ in regelintervallet till weekly med triggerAtDay satt till 1 (måndag).
  3. Bekräfta att körflödet börjar med Scheduled Weekly StartRetrieve Sheet URLs.

Tips: Använd sticky note Flowpast Branding endast som en visuell etikett—ingen konfiguration krävs.

Steg 2: Anslut Google Sheets

Hämta URL:er från ett Google Sheet och skriv senare tillbaka enrichad data till samma ark.

  1. Öppna Retrieve Sheet URLs och välj målarket: Document-värde [YOUR_ID] och Sheet Name URL Data.
  2. Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Retrieve Sheet URLs.
  3. Konfigurera Write Back to Sheet att använda Operation appendOrUpdate, Document [YOUR_ID] och Sheet Name URL Data.
  4. Säkerställ att Write Back to Sheet är inställd på att automatiskt mappa indata med Matching Columns som inkluderar URL.
  5. Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Write Back to Sheet.

⚠️ Vanlig fallgrop: Om URL inte ingår i matchande kolumner kan uppdateringar lägga till dubbla rader i stället för att uppdatera befintliga.

Steg 3: Sätt upp hämtning och parsning av webbsidor

Iterera över URL:er, hämta HTML och extrahera rubriker för AI-bearbetning längre fram.

  1. I Batch URL Iterator, behåll standardinställningarna för batch och bekräfta flödet: Retrieve Sheet URLsBatch URL Iterator.
  2. I Request Page HTML, ställ in URL till ={{$json["URL"]}}.
  3. I Parse Heading Tags, behåll Operation som extractHtmlContent och verifiera selektorerna för h1, h2, h3, h4, h5 och h6.
  4. Bekräfta flödet: Request Page HTMLParse Heading TagsAI Extract Entities.

Steg 4: Konfigurera AI-extraktion, klustring och länkrekommendationer

Använd tre AI-agenter för att extrahera entiteter, tilldela kluster och föreslå interna länkar, var och en med sin egen modell- och parserkedja.

  1. I AI Extract Entities, behåll prompttexten och bekräfta att den använder rubrikerna och URL:en med uttryck som {{$json["URL"]}}, {{$json["h1"]}}, {{$json["h2_list"]}} och {{$json["h3_list"]}}.
  2. Säkerställ att OpenAI Chat Engine är ansluten som språkmodell för AI Extract Entities och att Structured Output Parser är ansluten som output parser.
  3. Inloggningsuppgifter krävs: Anslut era openAiApi-inloggningsuppgifter i OpenAI Chat Engine.
  4. I Map Extracted Fields, ställ in tilldelningar med uttryck: ={{ $json.output.title }}, ={{ $json.output.entities }}, ={{ $json.output.keywords }}, ={{ $json.output.topics }} och ={{ $json.output.summary }}.
  5. I AI Assign Clusters, behåll prompten och bekräfta URL-referensen till {{ $('Batch URL Iterator').item.json.URL }}.
  6. Säkerställ att OpenAI Cluster Model är ansluten som språkmodell för AI Assign Clusters och att Cluster Output Parser är ansluten som output parser.
  7. Inloggningsuppgifter krävs: Anslut era openAiApi-inloggningsuppgifter i OpenAI Cluster Model.
  8. I Map Cluster Fields, ställ in tilldelningar till ={{ $json.output.cluster }} och ={{ $json.output.subcluster }}.
  9. I AI Suggest Links, behåll prompttexten och bekräfta referenser till {{ $('Batch URL Iterator').item.json.URL }}, {{$json["cluster"]}}, {{$json["subcluster"]}}, {{ $('Map Extracted Fields').item.json.entities }} och {{$items("Retrieve Sheet URLs").map(i => i.json.URL)}}.
  10. Säkerställ att OpenAI Link Model är ansluten som språkmodell för AI Suggest Links och att Link Output Parser är ansluten som output parser.
  11. Inloggningsuppgifter krävs: Anslut era openAiApi-inloggningsuppgifter i OpenAI Link Model.

Tips: Session Memory Buffer, Cluster Session Memory och Link Session Memory är anslutna till AI-agenterna—inga inloggningsuppgifter krävs för dessa, men inloggningsuppgifter måste läggas till i de överordnade OpenAI-modellnoderna.

Steg 5: Konfigurera output till Google Sheets

Sätt ihop de enrichade fälten och skriv tillbaka till källarket, och loopa sedan till nästa URL-batch.

  1. I Assemble Sheet Update, ställ in tilldelningar med uttryck: ={{ $('Map Extracted Fields').item.json.title }}, ={{ $('Map Extracted Fields').item.json.entities }}, ={{ $('Map Extracted Fields').item.json.keywords }}, ={{ $('Map Extracted Fields').item.json.summary }}, ={{ $('Map Cluster Fields').item.json.cluster }}, ={{ $('Map Cluster Fields').item.json.subcluster }}, ={{ $json.output.suggestions }}, processed och ={{ $('Batch URL Iterator').item.json.URL }}.
  2. Bekräfta flödet: AI Suggest LinksAssemble Sheet UpdateWrite Back to Sheet.
  3. Verifiera loopen: Write Back to Sheet skickar output till Batch URL Iterator för att fortsätta bearbeta återstående URL:er.

⚠️ Vanlig fallgrop: Om Batch URL Iterator inte är ansluten till den andra utgången (index 1) kommer arbetsflödet bara att bearbeta den första URL:en.

Steg 6: Testa och aktivera ert arbetsflöde

Kör ett manuellt test för att verifiera pipelinen och aktivera sedan veckoschemat.

  1. Klicka på Execute Workflow för att köra ett manuellt test från Scheduled Weekly Start.
  2. Bekräfta att Request Page HTML returnerar HTML, att Parse Heading Tags extraherar rubriker och att AI-noderna returnerar giltig JSON.
  3. Kontrollera ert Google Sheet för att verifiera uppdaterade kolumner: title, entities, keywords, summary, cluster, subcluster, internal_link_suggestions och status.
  4. När ni är nöjda, slå på arbetsflödet Active för att aktivera veckovis bearbetning.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Google Sheets-inloggningar kan gå ut eller kräva specifika behörigheter. Om saker slutar fungera, kontrollera först panelen för n8n Credentials och Google-kontots appåtkomst.
  • Om du använder Wait-noder eller extern rendering varierar bearbetningstider. Öka väntetiden om noder längre fram fallerar på tomma svar.
  • OpenAI-prompts som lämnas ”default” ger intetsägande kluster. Lägg in webbplatsens kategorier, exempel och varumärkesspråk tidigt, eftersom det är tungt att rätta output i efterhand.

Vanliga frågor

Hur lång tid tar det att sätta upp den här automatiseringen för SEO-klustring?

Cirka en timme om ditt Sheet redan är organiserat.

Behöver jag kunna koda för att automatisera SEO-klustring i Google Sheets?

Nej. Du kopplar främst konton och mappar rätt kolumner i Google Sheets så att arbetsflödet vet var det ska läsa och skriva.

Är n8n gratis att använda för det här arbetsflödet för SEO-klustrautomation?

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 in kostnader för OpenAI API:t (ofta bara några dollar per större audit, beroende på hur många URL:er du kör).

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

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

Kan jag anpassa det här arbetsflödet för SEO-klustrautomation efter min egen taxonomi och mina regler för internlänkning?

Ja, men räkna med att justera prompts. De snabbaste vinsterna är att anpassa instruktionerna för AI-extraktion och klustring så att klusternamn matchar dina kategorier, och sedan skärpa prompten för ”föreslå länkar” så att den bara rekommenderar URL:er från samma underkluster. Du kan också ändra Google Sheets-kolumnerna i Set/Map-stegen så att outputen passar ditt befintliga audit-sheet. Om dina URL:er kräver inloggning behöver du byta HTTP-hämtningsmetod mot en autentiserad hämtning.

Varför misslyckas min Google Sheets-anslutning i det här arbetsflödet?

Oftast beror det på utgången OAuth-åtkomst eller att fel Google-konto är kopplat i n8n. Återanslut Google Sheets-inloggningen och bekräfta sedan att kalkylblads-ID och bladflikens namn fortfarande stämmer. Kontrollera också delningsbehörigheter på själva sheetet, särskilt om det kopierades från en kunds workspace. Om fel uppstår mitt i en körning kan rate limits vara en faktor, så batchning och en kort väntan kan stabilisera det.

Hur många URL:er klarar den här automatiseringen för SEO-klustring?

Hundratals per körning är normalt.

Är den här automatiseringen för SEO-klustring bättre än att använda Zapier eller Make?

För det här användningsfallet är n8n oftast bättre eftersom du gör bearbetning i flera steg (hämta HTML, parsa rubriker, köra flera AI-pass och sedan skriva strukturerade resultat tillbaka). Zapier och Make kan lösa delar av det, men logiken blir snabbt klumpig och du känner av kostnaden när du skalar. n8n ger dig också möjligheten att self-hosta, vilket är en stor fördel om du kör stora auditer varje vecka. Nackdelen är uppsättningen: du lägger lite mer tid på att få prompts och mappingar rätt. Om du vill ha en second opinion innan du bestämmer dig, prata med en automationsexpert.

Det här är den typen av arbetsflöde du sätter upp en gång och sedan förlitar dig på varje vecka när nästa audit (eller kundförfrågan) trillar in. Det repetitiva arbetet försvinner och sheetet blir något du faktiskt kan fatta beslut utifrån.

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