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

DataForSEO + Search Console: kundklara SEO-audits

Rickard Andersson Partner, Nodenordic.se

Du kan det här. En “snabb” innehållsgranskning slutar med fem öppna flikar, exporter som inte matchar, och en rapport du skriver om vid midnatt för att siffrorna känns fel.

Det här är smärtan SEO-konsulter hanterar hela tiden. Det drabbar också byråansvariga som försöker standardisera leveranser, och in-house-marknadsförare som behöver en pålitlig GSC-auditautomation utan att bygga ett kalkylbladsmonster.

Det här arbetsflödet kombinerar en DataForSEO-crawl med Google Search Console-mått och genererar sedan en varumärkesanpassad HTML-audit som du kan skicka till en kund. Du ser vad det automatiserar, vilka resultat du kan förvänta dig och vad du behöver för att köra det.

Så fungerar automatiseringen

Hela n8n-flödet, från trigger till slutligt resultat:

n8n Workflow Template: DataForSEO + Search Console: kundklara SEO-audits

Problemet: SEO-audits tar för lång tid att göra om till kundklara rapporter

En innehållsgranskning ska skapa tydlighet. I stället skapar den ofta mer jobb. Du crawlar en webbplats i ett verktyg, hämtar prestanda från Google Search Console i ett annat och lägger sedan timmar på att få URL:er att matcha, normalisera data och förklara vad som spelar roll på ett sätt som kunden faktiskt förstår. Och om du gör det här varje månad blir grovjobbet en permanent skatt i kalendern. Ännu värre: manuella audits driver iväg. Du ändrar tröskelvärden, hoppar över kontroller när det är stressigt, och “metoden” beror på vem som gjorde auditen den veckan.

Det går fort att det blir mycket. Här brukar det oftast börja fallera.

  • Att hämta crawldata och GSC-mått separat leder till URL:er som inte matchar och förvirrande slutsatser.
  • Manuell problemidentifiering (tunt innehåll, duplicerad metadata, orphan-sidor) tar lång tid, och du slutar med att ta stickprov i stället för att granska allt.
  • Att göra fynden till en snygg, varumärkesanpassad leverans tar ofta lika lång tid som själva analysen.
  • Att skala förbi några hundra sidor blir ett slit, så större sajter får “good enough”-audits.

Lösningen: en automatiserad crawl + GSC-sammanslagning, levererad som en varumärkesanpassad HTML-audit

Det här n8n-arbetsflödet kör en crawl i DataForSEO, väntar tills uppgiften är klar och hämtar tillbaka rå auditdata in i din automation. Därifrån plockar det ut de URL:er du bryr dig om (till exempel sidor med status 200) och kör dem i batchar för att hämta klick och exponeringar från Google Search Console. När båda datamängderna finns på samma ställe slår arbetsflödet ihop crawl-fynd med prestandasignaler, bygger en strukturerad rapportmodell och renderar en varumärkesanpassad HTML-rapport med sammanfattningar, uppdelning av problem och prioriterade rekommendationer. Till sist exporteras rapporten som en nedladdningsbar HTML-fil, så att du kan dela den direkt eller lägga den i din leveransprocess.

Arbetsflödet börjar med att du anger domänen, crawlgränsen (upp till 1 000 sidor) och varumärkesfält. DataForSEO kör crawlen medan n8n regelbundet kontrollerar status. När den är klar berikar flödet crawlen med GSC-data och skapar sedan en kundvänlig HTML-rapport som inte behöver “en sista formateringsrunda”.

Det du får: automation kontra resultat

Exempel: så här ser det ut

Säg att du kör en månatlig audit för en kundsajt med cirka 500 indexerbara sidor. Manuellt kanske du lägger runt 2 timmar på att hämta en crawl-export, ytterligare en timme på att rensa URL-format och cirka 2 timmar till på att hämta GSC-data, slå ihop den och paketera allt till något kundklart. Med det här arbetsflödet anger du domän och varumärke en gång, startar det och väntar cirka 20 minuter på att crawl/rapportkörningen blir klar. Resultatet är en varumärkesanpassad HTML-audit du kan skicka samma dag, utan att bygga om rapporten varje gång.

Det du behöver

  • n8n-instans (prova n8n Cloud gratis)
  • Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
  • DataForSEO för webbplats-crawling och auditdata.
  • Google Search Console för att hämta klick och exponeringar per URL.
  • API-uppgifter för DataForSEO (hämta dem från sidan DataForSEO API Access).

Svårighetsnivå: Medel. Du kopplar API-uppgifter, justerar några fält och kör batchar på ett säkert sätt.

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

Så fungerar det

Du startar arbetsflödet och anger indata. I steget “Assign Input Values” väljer du måldomän, max antal crawlade sidor (upp till 1 000), preferens för JavaScript-rendering och dina varumärkesdetaljer som logotyp-URL och färger.

Arbetsflödet kör crawlen och följer upp status. n8n skapar DataForSEO-uppgiften och loopar sedan med en kort väntan och en statuskontroll tills crawlen är klar. Ingen barnpassning.

Det berikar crawl-URL:er med prestanda från Google Search Console. URL:er tolkas, hanteras i batchar och varje batch får GSC-klick och exponeringar via en HTTP-förfrågan till Search Console API. Om ett API-anrop behöver en stund pausar arbetsflödet och försöker igen.

Din audit blir en varumärkesanpassad HTML-rapport. Arbetsflödet slår ihop datamängder, identifierar problemkategorier (statusproblem, metadata, innehållskvalitet, internlänkning, prestanda) och renderar sedan en HTML-rapport och exporterar den som en nedladdningsbar fil.

Du kan enkelt ändra crawlgränser och tröskelvärden för problem utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.

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

Steg 1: Konfigurera den manuella triggern

Starta arbetsflödet med den manuella triggern så att ni kan köra granskningen vid behov under uppsättning och testning.

  1. Lägg till noden Manual Launch Trigger som startpunkt.
  2. Behåll standardinställningarna (inga parametrar krävs) för att möjliggöra manuell körning från editorn.

Steg 2: Anslut datainmatningar och varumärkesprofilering

Definiera crawl-målet, företagsuppgifter och varumärkesprofilering som används genom hela granskningen och HTML-rapporten.

  1. Öppna Assign Input Values och ställ in dfs_domain till example.com.
  2. Ställ in dfs_max_crawl_pages till 1000 och dfs_enable_javascript till false.
  3. Fyll i varumärkesfälten: company_name Example Company, company_website https://example.com, company_logo_url https://example.com/logo.png.
  4. Ställ in brand_primary_color till #252946 och brand_secondary_color till #0fd393.
  5. Ställ in gsc_property_type till domain för att använda Search Console-data på domännivå.
Ni kan ändra gsc_property_type till url-prefix om ni vill ha egendomsspecifika mätvärden i stället för data för hela domänen.

Steg 3: Konfigurera DataForSEO-crawl och polling-loop

Dessa noder skickar in en crawl-uppgift, kontrollerar status och hämtar rå granskingsdata när crawlen är klar.

  1. I Initiate Crawl Task, behåll URL som https://api.dataforseo.com/v3/on_page/task_post och ställ in JSON Body till det angivna uttrycket: =[{"target":"{{ $json.dfs_domain }}","max_crawl_pages": {{ $json.dfs_max_crawl_pages }},"load_resources": false,"enable_javascript": {{ $json.dfs_enable_javascript }},"custom_js":"meta = {}; meta.url = document.URL; meta;","tag":"{{ $json.dfs_domain + Math.floor(10000 + Math.random() * 90000) }}"}].
  2. Autentisering krävs: Anslut era httpBasicAuth-uppgifter i Initiate Crawl Task, Verify Task Progress, Retrieve Raw Audit Data och Retrieve Link Sources.
  3. I Verify Task Progress, ställ in URL till =https://api.dataforseo.com/v3/on_page/summary/{{ $json.tasks[0].id }} och behåll headern Content-Type som application/json.
  4. I Branch Completion Check, ställ in villkoret så att det kontrollerar att {{ $json.tasks[0].result[0].crawl_progress }} är lika med finished.
  5. Ställ in Pause Interval till att vänta 1 minutes för att polla status om crawlen inte är klar.
  6. Konfigurera Retrieve Raw Audit Data med URL https://api.dataforseo.com/v3/on_page/pages och JSON Body =[{"id":"{{ $json.tasks[0].id }}","limit":"1000"}].
⚠️ Vanlig fallgrop: DataForSEO-noderna kräver Basic Auth-uppgifter även om noderna inte visar några sparade uppgifter som standard. Lägg till era uppgifter innan ni testar, annars misslyckas crawlen.

Steg 4: Berika URL:er med Search Console-mätvärden

Den här delen extraherar URL:er med status 200, batchar dem och hämtar 90-dagars Search Console-mätvärden för varje sida.

  1. I Parse Page URLs, behåll koden som filtrerar fram endast status_code === 200 och som output:ar { url: page.url }.
  2. Ställ in Batch Iterate URLs till batchSize 100 för skalbar bearbetning.
  3. I Fetch GSC Metrics, behåll det dynamiska URL-uttrycket som växlar mellan domain- och URL-prefix-egenskaper: {{ $('Assign Input Values').first().json.gsc_property_type === 'domain' ? 'https://searchconsole.googleapis.com/webmasters/v3/sites/' + 'sc-domain:' + $node["Batch Iterate URLs"].json.url.replace(/https?:\/\/(www\.)?([^\/]+).*/, '$2') + '/searchAnalytics/query' : 'https://searchconsole.googleapis.com/webmasters/v3/sites/' + encodeURIComponent($node["Batch Iterate URLs"].json.url.replace(/(https?:\/\/(?:www\.)?[^\/]+).*/, '$1')) + '/searchAnalytics/query' }}.
  4. Behåll Body-uttrycket som sätter ett 90-dagarsintervall och filtrerar på sidans URL: {"startDate":"{{ new Date(new Date().setDate(new Date().getDate() - 90)).toISOString().split('T')[0] }}","endDate":"{{ new Date().toISOString().split('T')[0] }}","dimensionFilterGroups":[{"filters":[{"dimension":"page","operator":"equals","expression":"{{ $node['Batch Iterate URLs'].json.url }}"}]}],"aggregationType":"auto","rowLimit":100}.
  5. Autentisering krävs: Anslut era googleOAuth2Api-uppgifter i Fetch GSC Metrics.
  6. Ställ in Pause Retry till att vänta 1 minutes innan resultaten mappas om Google API:et stryper.
  7. I Map GSC Metrics to URL, ställ in URL till {{ $('Batch Iterate URLs').item.json.url }}, Clicks till {{ $('Fetch GSC Metrics').item.json.rows[0].clicks }} och Impressions till {{ $('Fetch GSC Metrics').item.json.rows[0].impressions }}.
  8. Batch Iterate URLs skickar output både till Combine GSC with Audit och Fetch GSC Metrics parallellt för att berika granskningen medan batch-loopen körs.
Om Search Console returnerar tomma rader, säkerställ att egendomen matchar gsc_property_type och att URL-formatet är konsekvent med egendomen.

Steg 5: Bygg rapportmodellen och HTML-output

Dessa noder slår ihop granskningsdata med GSC-mätvärden, samlar in länkkällor för 404/301-sidor och renderar den varumärkesanpassade HTML-rapporten.

  1. I Combine GSC with Audit, behåll JavaScript-koden som slår ihop GSC-mätvärden i varje sidas googleSearchConsoleData.
  2. Använd Filter 404 and 301 för att isolera fel- och omdirigerings-URL:er från Retrieve Raw Audit Data.
  3. Batch Link Sources skickar output både till Assemble Report Model och Retrieve Link Sources parallellt för att berika 404/301-sidor med källänkar.
  4. I Retrieve Link Sources, behåll URL som https://api.dataforseo.com/v3/on_page/links och JSON Body som =[{"id":"{{ $('Retrieve Raw Audit Data').first().json.tasks[0].id }}","page_to":"{{ $json.url }}"}].
  5. I Format Link Source Data, behåll mappningen av link_from, type och text till en strukturerad käll-array.
  6. I Assemble Report Model, behåll den längre JavaScript-koden som kategoriserar problem och bygger output för summary, issues och pages.
  7. I Render HTML Report, behåll HTML-mallogiken som refererar till Assign Input Values och Assemble Report Model.
  8. I Export HTML File, ställ in Operation till toText, Source Property till html och Binary Property Name till content audit report.
⚠️ Vanlig fallgrop: Om Retrieve Link Sources inte har giltiga DataForSEO-uppgifter blir avsnitten med källänkar för 404/301 tomma i HTML-rapporten.

Steg 6: Testa och aktivera ert arbetsflöde

Kör ett manuellt test för att validera datainsamlingen och verifiera att HTML-rapporten genereras korrekt.

  1. Klicka på Execute Workflow med start från Manual Launch Trigger för att köra granskningen från början till slut.
  2. Bekräfta att Retrieve Raw Audit Data returnerar crawl-objekt och att Fetch GSC Metrics returnerar rader för varje URL.
  3. Verifiera att Render HTML Report output:ar en fullständig HTML-sträng och att Export HTML File genererar en nedladdningsbar fil.
  4. När resultaten ser korrekta ut, växla arbetsflödet till Active för att använda det i produktionskörningar.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • DataForSEO-uppgifter kan löpa ut eller kräva specifika behörigheter. Om något skapar fel, kontrollera först din DataForSEO API-åtkomststatus och att n8n-uppgifterna är tilldelade på alla crawl-relaterade HTTP Request-noder.
  • Om du använder Wait-noder eller extern bearbetning varierar timing. Öka väntetiden om efterföljande noder fallerar på tomma svar medan crawl-uppgiften fortfarande håller på att slutföras.
  • Standardprompter för AI kan bli generiska. Lägg in din audit-ton och rekommendationsstil tidigt i AI Agent/OpenAI-stegen, annars kommer du att redigera output i all evighet.

Vanliga frågor

Hur lång tid tar det att sätta upp den här GSC-auditautomationen?

Cirka 30 minuter om du redan har DataForSEO- och Search Console-åtkomst klar.

Behöver jag kodningskunskaper för att automatisera GSC-auditrapportering?

Nej. Du kopplar uppgifter och justerar några fält i n8n. Arbetsflödets logik är redan byggd.

Är n8n gratis att använda för det här arbetsflödet för GSC-auditautomation?

Ja. n8n har ett gratis alternativ för egen drift 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 DataForSEO API-användning (de inkluderar en liten testkredit) och eventuella Google API-gränser på ditt konto.

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 egen drift på en VPS. För egen drift är Hostinger VPS prisvärd och hanterar n8n bra. Egen drift ger dig obegränsade körningar men kräver grundläggande serverhantering.

Kan jag anpassa det här arbetsflödet för GSC-auditautomation för white-label-branding och olika audittrösklar?

Ja, och det bör du. Uppdatera varumärkesfält (företagsnamn, logotyp-URL, primär/sekundär färg) i steget “Assign Input Values” och justera sedan tröskelvärden i logiken som bygger rapporten, till exempel ordantal för tunt innehåll (just nu 1500), markering för klickdjup (just nu djupare än 4) och läsbarhet (just nu under 55). Om du vill ha en annan policy för titel/beskrivning, ändra även kontrollerna för titel- och beskrivningslängd. Många team lägger också till ett extra leveranssteg efter outputen “Export HTML File” för att mejla rapporten eller ladda upp den till lagring.

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

Oftast beror det på felaktiga Basic Auth-uppgifter eller att uppgiften inte är tilldelad till varje DataForSEO HTTP Request-nod. Dubbelkolla noderna “Initiate Crawl Task” och “Retrieve Raw Audit Data” först och bekräfta sedan att din DataForSEO API-åtkomst är aktiv. Om det fortfarande misslyckas kan det vara rate limiting vid större körningar, så att sänka batchtrycket och förlänga väntetider kan hjälpa.

Hur många sidor klarar den här GSC-auditautomationen?

Upp till 1 000 crawlade sidor per körning, och den batchar GSC-uppslagen så att berikningen håller sig hanterbar.

Är den här GSC-auditautomationen bättre än att använda Zapier eller Make?

Ofta, ja. Det här arbetsflödet bygger på looping, batching, att vänta på långkörande crawl-uppgifter och att slå ihop datamängder på ett tillförlitligt sätt, vilket är där n8n brukar vara mer flexibelt (och billigare att köra i volym om du kör egen drift). Zapier eller Make kan fungera för enkla “skicka mig en rapport”-flöden, men den här typen av auditbygge blir ofta klumpigt när du lägger till batching och retries. Dessutom är det enklare att generera en full varumärkesanpassad HTML-rapport när du kontrollerar logiken från början till slut. Om du är osäker, prata med en automationsexpert så får du en rak rekommendation baserad på din volym och dina leveransbehov.

Sätt upp det en gång så slutar dina audits vara en återkommande brandkårsutryckning. Arbetsflödet tar hand om det repetitiva jobbet så att du kan fokusera på beslut, inte datahantering.

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