Din sökordsanalys ska inte behöva bo i fem webbläsarflikar, två CSV-exporter och ett “slutgiltigt-slutgiltigt” kalkylark som du knappt vågar röra. Men det är ofta så det blir. En export till för, en kopiera-klistra-in till, en trasig kolumn till.
SEO-ansvariga märker det när de behöver snabb SERP-insikt för en innehållsplan. Innehållsansvariga stöter på det när skribenter ber om “bara några fler sökordsidéer”. Och om du driver en byrå bygger du sannolikt om samma research-arbetsbok för varje kund. Den här DataForSEO Sheets automation gör den röran till en korrekt formaterad, repeterbar process.
Du får se vad workflowet hämtar (relaterade sökord, förslag, sökordsidéer, autocomplete, underämnen och SERP/PAA), hur det organiserar allt i Google Sheets och var de verkliga tidsvinsterna finns.
Så fungerar automatiseringen
Hela n8n-workflowet, från trigger till slutresultat:
n8n Workflow Template: Dataforseo + google sheets: sökordsanalys klar
flowchart LR
subgraph sg0["Manual Launch Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Manual Launch Trigger", pos: "b", h: 48 }
n1@{ icon: "mdi:database", form: "rounded", label: "Retrieve Sheet Data", pos: "b", h: 48 }
n2@{ icon: "mdi:database", form: "rounded", label: "Create Worksheet File", pos: "b", h: 48 }
n3@{ icon: "mdi:cog", form: "rounded", label: "Move Drive File", pos: "b", h: 48 }
n4@{ icon: "mdi:swap-vertical", form: "rounded", label: "Expand Related Items", pos: "b", h: 48 }
n5@{ icon: "mdi:swap-vertical", form: "rounded", label: "Map Related Metrics", pos: "b", h: 48 }
n6@{ icon: "mdi:swap-vertical", form: "rounded", label: "Expand Suggestions", pos: "b", h: 48 }
n7@{ icon: "mdi:swap-vertical", form: "rounded", label: "Map Suggested Fields", pos: "b", h: 48 }
n8@{ icon: "mdi:swap-vertical", form: "rounded", label: "Expand Idea Items", pos: "b", h: 48 }
n9@{ icon: "mdi:swap-vertical", form: "rounded", label: "Map Idea Fields", pos: "b", h: 48 }
n10@{ icon: "mdi:swap-vertical", form: "rounded", label: "Expand Autocomplete", pos: "b", h: 48 }
n11@{ icon: "mdi:swap-vertical", form: "rounded", label: "Map Autocomplete Fields", pos: "b", h: 48 }
n12@{ icon: "mdi:swap-vertical", form: "rounded", label: "Expand Subtopics", pos: "b", h: 48 }
n13["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Fetch Related Keywords"]
n14["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Fetch Keyword Suggestions"]
n15["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Fetch Keyword Ideas"]
n16["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Fetch Autocomplete"]
n17["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Generate Subtopics"]
n18@{ icon: "mdi:swap-vertical", form: "rounded", label: "Map Subtopic Fields", pos: "b", h: 48 }
n19@{ icon: "mdi:database", form: "rounded", label: "Append Related Master", pos: "b", h: 48 }
n20@{ icon: "mdi:database", form: "rounded", label: "Append Related Sheet", pos: "b", h: 48 }
n21@{ icon: "mdi:database", form: "rounded", label: "Append Suggestions Master", pos: "b", h: 48 }
n22@{ icon: "mdi:database", form: "rounded", label: "Append Suggested Sheet", pos: "b", h: 48 }
n23@{ icon: "mdi:database", form: "rounded", label: "Append Ideas Master", pos: "b", h: 48 }
n24@{ icon: "mdi:database", form: "rounded", label: "Append Ideas Sheet", pos: "b", h: 48 }
n25@{ icon: "mdi:database", form: "rounded", label: "Append Autocomplete Master", pos: "b", h: 48 }
n26@{ icon: "mdi:database", form: "rounded", label: "Append Autocomplete Sheet", pos: "b", h: 48 }
n27@{ icon: "mdi:database", form: "rounded", label: "Append Subtopics Master", pos: "b", h: 48 }
n28@{ icon: "mdi:database", form: "rounded", label: "Append Subtopics Sheet", pos: "b", h: 48 }
n29@{ icon: "mdi:swap-vertical", form: "rounded", label: "Expand SERP Items", pos: "b", h: 48 }
n30@{ icon: "mdi:swap-vertical", form: "rounded", label: "Map SERP Fields", pos: "b", h: 48 }
n31@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Filter PAA Type", pos: "b", h: 48 }
n32@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Filter Organic Type", pos: "b", h: 48 }
n33["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Fetch SERP Results"]
n34@{ icon: "mdi:database", form: "rounded", label: "Append SERP Master", pos: "b", h: 48 }
n35@{ icon: "mdi:swap-vertical", form: "rounded", label: "Expand SERP Details", pos: "b", h: 48 }
n36@{ icon: "mdi:swap-vertical", form: "rounded", label: "Map SERP Detail", pos: "b", h: 48 }
n37@{ icon: "mdi:database", form: "rounded", label: "Append SERP Details", pos: "b", h: 48 }
n31 --> n35
n32 --> n30
n4 --> n5
n6 --> n7
n8 --> n9
n10 --> n11
n12 --> n18
n29 --> n31
n29 --> n32
n35 --> n36
n5 --> n19
n30 --> n34
n7 --> n21
n9 --> n23
n11 --> n25
n36 --> n37
n18 --> n27
n3 --> n13
n3 --> n14
n3 --> n15
n3 --> n16
n3 --> n17
n3 --> n33
n1 --> n2
n17 --> n12
n15 --> n8
n2 --> n3
n19 --> n20
n21 --> n22
n23 --> n24
n25 --> n26
n27 --> n28
n33 --> n29
n13 --> n4
n16 --> n10
n14 --> n6
n0 --> n1
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n0 trigger
class n31,n32 decision
class n1,n2,n19,n20,n21,n22,n23,n24,n25,n26,n27,n28,n34,n37 database
class n13,n14,n15,n16,n17,n33 api
classDef customIcon fill:none,stroke:none
class n13,n14,n15,n16,n17,n33 customIcon
Problemet: sökordsanalys blir snabbt kalkylarkskaos
Sökordsanalys låter enkelt tills du försöker göra det “på riktigt”. Du hämtar relaterade sökord från ett ställe, förslag från ett annat, och sedan behöver du fortfarande autocomplete, People Also Ask och en snabb SERP-koll. Plötsligt exporterar du CSV:er, klistrar in i Sheets, städar kolumner, tar bort dubbletter och försöker minnas vilken flik som innehåller versionen du litar på. Och om du analyserar flera seed-sökord upprepar du hela rutinen om och om igen. Det är inte svårt. Det tar bara aldrig slut.
Friktionen byggs på. Här är var det fallerar i riktiga team.
- Exporter kommer i olika format, så ditt “huvudark” blir ett engångsprojekt i formatering varje gång.
- Manuell kopiering gör att fel smyger sig in, särskilt för CPC-, konkurrens- och sökordssvårighetsfält.
- SERP-insikter och “People Also Ask”-frågor hoppas ofta över eftersom det är krångligt att hämta dem.
- Research fastnar i någons laptop-mapp i stället för att ligga i en delad, organiserad plats i Google Drive.
Lösningen: DataForSEO-research direkt in i ett strukturerat ark
Det här n8n-workflowet kör din sökordsanalys som en liten pipeline. Du börjar med ett enkelt indataark (primärt sökord, plats, språk). När du startar workflowet skapar det ett helt nytt Google Sheet namngivet med dagens datum, bygger upp en uppsättning flikar (master, related keywords, keyword ideas, suggestions, autocomplete, subtopics, SERP, content) och flyttar sedan arket till en dedikerad Google Drive-mapp så att det är enkelt att hitta senare. Därefter anropar det flera DataForSEO-endpoints och samlar allt du annars brukar sätta ihop för hand: listor med relaterade sökord, förslag, sökordsidéer, autocomplete-frågor, underämnen samt SERP-resultat inklusive “People Also Ask”. Till sist mappar n8n svaren till konsekventa kolumner och lägger till rader i rätt flikar.
Workflowet startas vid begäran via en manuell trigger, så du kör det när du planerar innehåll. DataForSEO hämtar dataset, n8n delar upp svaren i enskilda objekt och Google Sheets blir destinationen för varje felfri, formaterad rad. Du får en research-arbetsbok du kan lämna till en skribent (eller importera till ett briefing-system) utan att behöva be om ursäkt först.
Det du får: automatisering vs. resultat
| Vad detta workflow automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du analyserar 10 seed-sökord för ett nytt bloggkluster. Manuellt kanske du hämtar 6 dataset (relaterade sökord, förslag, idéer, autocomplete, underämnen plus SERP/PAA) och lägger kanske 10 minuter per dataset per seed-sökord när du räknar med export och städning. Det blir ungefär 10 timmar av rutinjobb. Med det här workflowet uppdaterar du ett indataark, klickar på “Test workflow” och väntar medan DataForSEO fyller en daterad arbetsbok. Ditt “arbete” blir mest granskning och prioritering, inte att formatera rader.
Det här behöver du
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
- Google Sheets för att lagra indata och research-resultat.
- Google Drive för att arkivera den genererade arbetsboken i en mapp.
- DataForSEO-inloggning (hämta HTTP Basic Auth-uppgifter i din DataForSEO-dashboard)
Nivå: Medel. Du kopplar konton, klistrar in inloggningsuppgifter och bekräftar rätt Sheet-ID:n och mappplats.
Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Du startar när du är redo. Workflowet triggas manuellt (klicka “Test workflow”), vilket passar perfekt för innehållsplaneringspass och ad hoc-förfrågningar om research.
Ditt indataark blir briefen. n8n läser primära sökord tillsammans med plats och språk från ett Google Sheet, så du behöver inte redigera noder varje gång du byter målmarknad.
DataForSEO hämtar allt i en körning. Workflowet anropar flera DataForSEO-endpoints för att hämta relaterade sökord, förslag, sökordsidéer, autocomplete, underämnen och SERP-resultat. Därefter delar det upp stora svar i enskilda rader, mappar fält som volym, CPC, konkurrens, svårighetsgrad och itemtyper, och filtrerar SERP-data så att People Also Ask inte blandas ihop med organiska resultat.
Google Sheets blir den enda destinationen. Varje dataset läggs till både i en master-flik och en dedikerad flik (related, ideas, suggested, autocomplete, subtopics, SERP details), och hela arbetsboken flyttas till en specifik Google Drive-mapp för prydlig lagring.
Du kan enkelt justera flikarna och vilka fält du sparar för att matcha ditt sätt att rapportera. Se hela implementationsguiden nedan för alternativ för anpassning.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera den manuella triggern
Det här arbetsflödet startas manuellt för att hämta ett keyword seed och generera flera research-utdata.
- Lägg till noden Manual Launch Trigger som starttrigger.
- Behåll standardinställningarna (inga parametrar krävs).
- Koppla Manual Launch Trigger till Retrieve Sheet Data.
Steg 2: Anslut Google Sheets-indata och skapa fil
Dessa noder läser in indata för nyckelord och skapar en ny kalkylbladsfil för resultat.
- Öppna Retrieve Sheet Data och ställ in Document till ert källkalkylblad (ersätt
[YOUR_ID]). - Ställ in Sheet Name till listvärdet
gid=0(Sheet1). - Inloggning krävs: anslut era googleSheetsOAuth2Api-uppgifter till Retrieve Sheet Data.
- Öppna Create Worksheet File och ställ in Title till
={{ $now.format('yyyy-MM-dd') }}-seo pro. - Ställ in Resource till
spreadsheetoch bekräfta att listan med blad innehållerkeyword,SERP,Content,related keyword,keyword ideas,suggested keyword,sub topicsochauto complete. - Inloggning krävs: anslut era googleSheetsOAuth2Api-uppgifter till Create Worksheet File.
primary keyword, location name och language name – de refereras i hela arbetsflödet.Steg 3: Konfigurera placering av fil i Google Drive
Det nya kalkylbladet flyttas till en mål-mapp i Drive innan datainsamlingen börjar.
- Öppna Move Drive File och ställ in Operation till
move. - Ställ in File ID till
={{ $json.spreadsheetId }}så att det flyttar det nyss skapade kalkylbladet. - Välj destinations-Folder (ersätt
[YOUR_ID]). - Inloggning krävs: anslut era googleDriveOAuth2Api-uppgifter till Move Drive File.
Steg 4: Konfigurera DataForSEO HTTP-anrop (parallell körning)
När filen har flyttats förgrenar arbetsflödet ut till flera DataForSEO-anrop som körs samtidigt.
- Bekräfta att Move Drive File skickar utdata till Fetch Related Keywords, Fetch Keyword Suggestions, Fetch Keyword Ideas, Fetch Autocomplete, Generate Subtopics och Fetch SERP Results parallellt.
- I Fetch Related Keywords, ställ in URL till
https://api.dataforseo.com/v3/dataforseo_labs/google/related_keywords/liveoch bekräfta att JSON Body använder{{ $('Retrieve Sheet Data').item.json['primary keyword'] }},{{ $('Retrieve Sheet Data').item.json['location name'] }}och{{ $('Retrieve Sheet Data').item.json['language name'] }}. - Inloggning krävs: anslut era httpBasicAuth-uppgifter till Fetch Related Keywords (och valfritt httpHeaderAuth om ert API kräver det).
- Upprepa samma indatamappning för Fetch Keyword Suggestions, Fetch Keyword Ideas, Fetch Autocomplete och Generate Subtopics, med respektive URL:er.
- Inloggning krävs: anslut era httpBasicAuth-uppgifter till alla DataForSEO HTTP-noder (Fetch Keyword Suggestions, Fetch Keyword Ideas, Fetch Autocomplete, Generate Subtopics, Fetch SERP Results).
https://api.dataforseo.[CONFIGURE_YOUR_API_KEY] till er live-endpoint innan ni testar.Steg 5: Konfigurera split och mappning för keyword-utdata
Varje API-svar expanderas och mappas till strukturerade fält innan det skrivs till kalkylblad.
- För relaterade nyckelord, ställ in Expand Related Items Field to Split Out till
tasks[0].result[0].itemsoch mappa sedan med Map Related Metrics med uttryck som={{ $('Retrieve Sheet Data').item.json['primary keyword'] }}och={{ $json.keyword_data.keyword_info.search_volume }}. - För förslag och idéer, säkerställ att Expand Suggestions och Expand Idea Items också delar upp
tasks[0].result[0].itemsoch mappa sedan med Map Suggested Fields och Map Idea Fields (t.ex.={{ $json.keyword_info.cpc }}och={{ $json.search_intent_info.main_intent }}). - För autocomplete, ställ in Expand Autocomplete att dela upp
tasks[0].result[0].itemsoch mappa med Map Autocomplete Fields, inklusive={{ $json.suggestion }}. - För subtopics, ställ in Expand Subtopics Field to Split Out till
tasks[0].result[0].sub_topicsoch mappa med Map Subtopic Fields med={{ $json.sub_topics }}.
Steg 6: Konfigurera SERP-tolkning och filter (parallella grenar)
SERP-resultat expanderas, filtreras till två typer och mappas sedan till olika utdata.
- Ställ in Expand SERP Items Field to Split Out till
tasks[0].result[0].items. - Bekräfta att Expand SERP Items skickar utdata till både Filter PAA Type och Filter Organic Type parallellt.
- I Filter PAA Type, ställ in villkoret att
={{ $json.type }}är lika medpeople_also_ask. - I Filter Organic Type, ställ in villkoret att
={{ $json.type }}är lika medorganic. - Mappa PAA-detaljer via Expand SERP Details (dela upp
items) → Map SERP Detail med fält som={{ $json.expanded_element[0].description }}. - Mappa organiska resultat via Map SERP Fields med
={{ $json.url }},={{ $json.domain }},={{ $json.title }}och={{ $json.description }}.
people_also_ask. Justera om ni behöver en annan etikett för organiska resultat.Steg 7: Konfigurera Google Sheets-utdata (master + detaljblad)
Arbetsflödet lägger till varje dataset både i ett masterblad och i dess specialiserade blad.
- För relaterade nyckelord, säkerställ att Map Related Metrics matar Append Related Master och sedan Append Related Sheet.
- För förslag, idéer, autocomplete och subtopics, bekräfta kedjorna: Map Suggested Fields → Append Suggestions Master → Append Suggested Sheet, Map Idea Fields → Append Ideas Master → Append Ideas Sheet, Map Autocomplete Fields → Append Autocomplete Master → Append Autocomplete Sheet och Map Subtopic Fields → Append Subtopics Master → Append Subtopics Sheet.
- För SERP-utdata, bekräfta Map SERP Fields → Append SERP Master och Map SERP Detail → Append SERP Details.
- Inloggning krävs: anslut era googleSheetsOAuth2Api-uppgifter till alla Google Sheets-append-noder (14+ noder hanterar masterblad och utdataflikar).
Steg 8: Testa och aktivera ert arbetsflöde
Kör arbetsflödet från start till mål för att bekräfta att alla blad fylls korrekt innan ni aktiverar det.
- Klicka på Execute Workflow medan Manual Launch Trigger är markerad.
- Verifiera att ett nytt kalkylblad skapas med titelformatet
YYYY-MM-DD-seo prooch flyttas till er Drive-mapp. - Kontrollera att varje utdataflik (related keywords, keyword ideas, suggested keyword, sub topics, auto complete, SERP) innehåller rader som lagts till av motsvarande Append-noder.
- När testet lyckas, växla arbetsflödet till Active för användning i produktion.
Vanliga fallgropar
- Google Sheets-inloggningar kan löpa ut eller kräva specifika behörigheter. Om det skapar fel, kontrollera Google-kopplingen i n8n:s Credentials först och bekräfta sedan att arket är delat med rätt konto.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om noder längre fram misslyckas på grund av tomma svar.
- Autentiseringsfel mot DataForSEO beror oftast på basic auth-format eller en kontobegränsning. Kontrollera användarnamn/lösenord i HTTP Request-noderna igen och titta på DataForSEO-svarets body för meddelanden om rate limit eller behörigheter.
Vanliga frågor
Cirka en timme om dina Google- och DataForSEO-konton är klara.
Nej. Du kommer mest att koppla konton och klistra in API-uppgifter. Den “svåra delen” är bara att bekräfta att dina flikar och kolumner matchar workflowets mappningar.
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 DataForSEO API-användning (det beror på endpoints och volym).
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serveradministration.
Ja, men behåll logiken intakt. Du kan byta namn på eller ta bort flikar när du skapar kalkylarksfilen och sedan uppdatera “append to sheet”-åtgärderna så att de skriver till dina nya fliknamn. Vanliga justeringar är att lägga till en “Cluster”-kolumn i master-fliken, spara bara de 20 främsta relaterade sökorden per seed och lagra People Also Ask-frågor i en dedikerad flik för innehållsbrief.
Oftast beror det på en utgången Google OAuth-session eller att workflowet pekar på ett ark som det anslutna kontot inte kan komma åt. Anslut Google Sheets på nytt i n8n och bekräfta sedan att indataarket (“SEO PRO”) och behörigheterna för destinationens kalkylark är korrekta. Om arket skapades men rader inte skrivs in matchar fliknamnen ofta inte det som append-noderna förväntar sig.
I praktiken dussintals per körning för de flesta små team, och du kan skala vidare genom att köra i batcher och hålla koll på DataForSEO:s rate limits.
Ofta, ja, eftersom det här workflowet inte är en enkel tvåstegs “skicka data från A till B”. Du anropar flera endpoints, delar upp stora svar i rader, filtrerar SERP-itemtyper och skriver till flera flikar. n8n hanterar den typen av förgreningar snyggt, och self-hosting undviker prissättning per uppgift när du skalar upp. Zapier eller Make kan fortfarande fungera om du håller omfattningen smal (en endpoint, en flik i Sheets). Om du vill ha hela arbetsboksupplägget utan silvertejp är n8n ett mer bekvämt val. Prata med en automationsexpert om du vill ha hjälp att välja.
När detta väl är på plats slutar sökordsanalys att vara ett återkommande städprojekt. Du trycker kör, får en strukturerad arbetsbok och lägger tiden på beslut som faktiskt lyfter rankingen.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.