SEO-problem brukar sällan säga till i god tid. En saknad canonical-tagg, en trasig titel, en oavsiktlig noindex, och plötsligt glider rankingen medan ingen märker något förrän inflödet av leads bromsar.
Det är här automatiserad SEO-övervakning betalar sig. Marknadschefer som försöker skydda pipelinen märker det först. Byråteam som underhåller dussintals kundsidor hanterar det dagligen. Webbansvariga blir inkopplade först efter att skadan redan skett.
Det här arbetsflödet kontrollerar din URL-lista varje morgon, flaggar problem snabbt, loggar resultaten tillbaka till Google Sheets och sparar välformaterade PDF-rapporter i Drive. Du får se hur det fungerar, vad du behöver och hur du anpassar det efter dina regler.
Så fungerar den här automatiseringen
Här är hela arbetsflödet du kommer att sätta upp:
n8n Workflow Template: Google Sheets + Gmail: SEO-problem fångas tidigt
flowchart LR
subgraph sg0["Flow 1"]
direction LR
n0@{ icon: "mdi:cog", form: "rounded", label: "Daily 9 AM Trigger", pos: "b", h: 48 }
n1@{ icon: "mdi:database", form: "rounded", label: "Fetch Website Links", pos: "b", h: 48 }
n2@{ icon: "mdi:swap-vertical", form: "rounded", label: "Attach Config & Timeout", pos: "b", h: 48 }
n3["<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 Website HTML"]
n4["<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/code.svg' width='40' height='40' /></div><br/>Analyze HTML (SEO Basics)"]
n5["<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/code.svg' width='40' height='40' /></div><br/>SEO Health Check & Score"]
n6@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Check Performance 50", pos: "b", h: 48 }
n7@{ icon: "mdi:message-outline", form: "rounded", label: "Send Alert Email (Low SEO Sc..", pos: "b", h: 48 }
n8["<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/merge.svg' width='40' height='40' /></div><br/>Merge Alert & Normal Results"]
n9@{ icon: "mdi:database", form: "rounded", label: "Update Performance Log", pos: "b", h: 48 }
n10["<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/html.dark.svg' width='40' height='40' /></div><br/>Generate SEO Report (HTML)"]
n11["<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/>Convert HTML to PDF"]
n12["<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/>Download PDF File"]
n13@{ icon: "mdi:cog", form: "rounded", label: "Save SEO Report to Drive", pos: "b", h: 48 }
n12 --> n13
n0 --> n1
n3 --> n4
n11 --> n12
n1 --> n2
n6 --> n7
n6 --> n8
n6 --> n10
n2 --> n3
n5 --> n6
n4 --> n5
n10 --> n11
n8 --> n9
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 n6 decision
class n1,n9 database
class n3,n11,n12 api
class n4,n5 code
classDef customIcon fill:none,stroke:none
class n3,n4,n5,n8,n10,n11,n12 customIcon
Varför det här spelar roll: små SEO-brott blir stora problem
Att hålla SEO korrekt över en webbplats (eller en portfölj av landningssidor) är irriterande på det där specifika sättet som äter upp din vecka. Du kontrollerar några “viktiga” URL:er, missar resten och hoppas att inget har ändrats. Sedan rullar en utvecklare ut en malljustering, ett CMS-plugin uppdateras, eller någon klonar en sida och glömmer att justera metataggarna. Nu har du dubblerade titlar, saknade H1:or eller en oavsiktlig robots-direktiv. Det värsta är fördröjningen: du känner ofta inte av effekten förrän dagar senare, när åtgärden redan är akut.
Det eskalerar snabbt. Så här brister det i verkligheten.
- Manuella stickprov drar in dig i en loop av att öppna sidor, visa källkod och klistra in anteckningar i ett kalkylark.
- Du hittar problem för sent eftersom sidorna du inte kontrollerade är de som gick sönder.
- Team tappar förtroendet för SEO-rapporteringen när den är inkonsekvent eller “baserad på vem som hade tid”.
- Uppdateringar till kund eller intressenter blir stressiga eftersom du inte snabbt kan visa vad som kontrollerades och när.
Det du bygger: dagliga SEO-hälsokontroller med e-postvarningar och PDF:er
Den här automatiseringen körs enligt ett schema (standard: varje dag kl. 09:00) och börjar med en enkel sanningskälla: ett Google Sheet med de URL:er du bryr dig om. För varje URL hämtar den sidans HTML, extraherar centrala SEO-signaler som title-taggar, meta descriptions, antal H1:or, canonical-taggar, robots-direktiv och andra grunder, och beräknar sedan en hälsopoäng baserat på regler du styr. Om en sida ser ohälsosam ut (poäng under 50 som standard) skickar den en Gmail-varning så att du kan agera medan problemet fortfarande är litet. Om sidan ser bra ut bygger den en detaljerad HTML-rapport, konverterar den till PDF via PDF.co API och sparar PDF:en i Google Drive för enkel delning senare. Till sist skriver den tillbaka resultaten i Google Sheets så att du har en löpande logg.
Flödet startar med din URL-lista i Google Sheets. Sedan crawlar det varje sida och utvärderar SEO-regler. Därefter får du antingen en snabb Gmail-notis vid problem eller en snygg PDF-rapport sparad i Drive, och samma körning loggas tillbaka till Sheets.
Det du bygger
| Det som automatiseras | Det du uppnår |
|---|---|
|
|
Förväntade resultat
Säg att du övervakar 40 landningssidor. En manuell kontroll är oftast “snabb”, men den tar ändå kanske 3 minuter per URL för att öppna, skanna taggar och skriva ner noteringar, vilket blir cirka 2 timmar per runda. Gör du det tre gånger i veckan bränner du nästan en hel arbetsdag. Med det här arbetsflödet lägger du runt 10 minuter på att hålla din URL-lista i Google Sheets i ordning, sedan kör den dagliga kontrollen enligt schemat och skickar bara Gmail-varningar när något ser fel ut. Rapporter för friska sidor hamnar i Drive automatiskt.
Innan du börjar
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
- Google Sheets för att lagra din URL-lista och logga resultat.
- Gmail för att skicka varningar när poängen sjunker.
- Google Drive för att spara SEO-PDF-rapporter.
- PDF.co API-nyckel (hämta den i din PDF.co-instrumentpanel).
Kunskapsnivå: Nybörjare. Du kopplar konton, klistrar in en API-nyckel och mappar ett par kalkylarkskolumner.
Vill du att någon bygger det här åt dig? Prata med en automationsspecialist (gratis 15-minuters konsultation).
Steg för steg
En schemalagd daglig körning drar igång. Cron-triggern kör varje morgon (kl. 09:00 som standard), så du är inte beroende av att någon kommer ihåg att “göra kontrollerna”.
Dina URL:er hämtas från Google Sheets. Arbetsflödet läser din lista, tillämpar en enkel konfiguration (som timeout för förfrågningar) och förbereder varje URL för crawling.
Varje sida crawlas och poängsätts. n8n hämtar HTML via HTTP Request, sedan parsar kodsteg ut SEO-grunder och beräknar en poäng enligt dina regler. En IF-beslutspunkt kontrollerar poängen mot din gräns.
Varningar, loggar och PDF:er sker automatiskt. Låga poäng triggar ett Gmail-mejl. Friska sidor genererar en HTML-rapport, konverteras till PDF via PDF.co och laddas sedan upp till Google Drive. I båda fallen slås resultaten ihop igen och uppdaterar din logg i Google Sheets.
Du kan enkelt ändra poängtröskeln så att den matchar hur strikt du vill vara. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera Cron-triggern
Ställ in schemat så att arbetsflödet kontrollerar webbplatser varje morgon.
- Öppna Scheduled Morning Trigger och ställ in triggtiden till
hour: 9(under Trigger Times). - Bekräfta att noden är ansluten till Retrieve Site Links som första steg i flödet.
Steg 2: anslut Google Sheets
Hämta listan över webbplatser som ska övervakas och förbered resultatsheetet för uppdateringar.
- Öppna Retrieve Site Links och välj kalkylarket i Document ID och arket i Sheet Name.
- Inloggningsuppgifter krävs: anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Retrieve Site Links.
- Öppna Update Performance Sheet, ställ in Operation till
update, och bekräfta att kolumnmappningen använder uttryck som{{ $json.psi.fetchedAt }}och{{ $json.url.extractDomain() }}. - Inloggningsuppgifter krävs: anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Update Performance Sheet.
Steg 3: konfigurera HTML-hämtning och SEO-tolkning
Konfigurera stegen för webbplatsanrop, tolkning och prestandapoäng.
- I Apply Config Timeout, ställ in siteUrl till
{{ $json["Website Link"] }}och timeoutMs till2000. - I Request Site HTML, ställ in URL till
{{ $json["siteUrl"] }}och Timeout till{{ $json["timeoutMs"] }}. - Låt Parse SEO Basics vara som den är för att tolka titel, meta-beskrivning, kanoniska taggar och kontroller av interna länkar.
- I Compute SEO Score, ersätt
[CONFIGURE_YOUR_API_KEY]med er PageSpeed Insights-nyckel och verifiera att noden kan komma åt den.
Steg 4: konfigurera poängtröskeln och parallella åtgärder
Skicka webbplatser med låg poäng till e-postnotifieringar samtidigt som resultatflödet uppdateras parallellt.
- I Evaluate Score Threshold, ställ in villkoret till Number lt
50med{{ $json.psi.performance }}som vänstervärde. - Notera den parallella grenen: Evaluate Score Threshold skickar utdata till både Dispatch Low Score Email och Combine Result Streams parallellt när poängen är låg.
- Bekräfta att den falska grenen skickar data till Build SEO Report HTML samtidigt som den också flödar in i Combine Result Streams.
- I Dispatch Low Score Email, ställ in Send To till
[YOUR_EMAIL]och behåll Subject somWebsite Health & SEO Audit. - Inloggningsuppgifter krävs: anslut era gmailOAuth2-inloggningsuppgifter i Dispatch Low Score Email.
50 i Evaluate Score Threshold.Steg 5: bygg, rendera och lagra PDF-rapporten
Skapa en varumärkesanpassad HTML-rapport, konvertera den till PDF och lagra den i Google Drive.
- I Build SEO Report HTML, behåll hela HTML-mallen som den är för att rendera rapportinnehåll som
{{ $json.summary.url }}och{{ $json.psi.performance }}. - I Render PDF Report, ställ in URL till
https://api.pdf.co/v1/pdf/convert/from/htmloch säkerställ att body-parametrarna inkluderarhtmlsatt till{{ $json.html }},namesatt tillSEO-Report.pdf, ochpaperSizesatt tillA4. - I Render PDF Report, ställ in header-parametern x-api-key till
[CONFIGURE_YOUR_API_KEY]. - I Fetch PDF File, ställ in URL till
{{ $json.url }}för att ladda ner den genererade filen. - I Store Report in Drive, ställ in Name till
{{ $('Evaluate Score Threshold').item.json.url.extractDomain().split('.')[1] }}.pdfoch välj er mål-Folder ID. - Inloggningsuppgifter krävs: anslut era googleDriveOAuth2Api-inloggningsuppgifter i Store Report in Drive.
Steg 6: testa och aktivera ert arbetsflöde
Kör ett manuellt test för att verifiera tolkning, poängsättning och uppdateringar av utdata innan ni slår på arbetsflödet.
- Klicka på Execute Workflow och bekräfta att Retrieve Site Links returnerar giltiga URL:er.
- Verifiera att Request Site HTML returnerar HTML och att Parse SEO Basics matar ut sammanfattningsfält som
metaDescriptionLengthochh1Count. - Kontrollera att Compute SEO Score har ett ifyllt
psi.performance-värde och att Evaluate Score Threshold routar till rätt gren. - Bekräfta att Dispatch Low Score Email skickar meddelandet när poängen är under
50och att Update Performance Sheet uppdaterar rätt rad. - Verifiera att PDF:en skapas via Render PDF Report och sparas av Store Report in Drive.
- När allt fungerar, växla arbetsflödet till Active för att aktivera daglig övervakning.
Felsökningstips
- Google Sheets-autentisering kan löpa ut eller sakna filåtkomst. Om uppdateringar slutar fungera, kontrollera n8n:s hantering av autentiseringsuppgifter och bekräfta att kalkylarket är delat med det anslutna Google-kontot.
- Om du använder Wait-liknande timing (eller om dina sidor svarar långsamt) varierar processtiderna. Öka HTTP-timeout i konfigurationssteget om crawlen misslyckas på timeouts eller returnerar delvis HTML.
- PDF.co-fel beror oftast på nyckel eller endpoint. Verifiera API-nyckeln och kontrollera sedan PDF.co-request-noden för korrekt URL och payload när PDF:er plötsligt kommer tillbaka tomma.
Snabba svar
Cirka 30 minuter om dina konton är redo.
Nej. Du kopplar mest Google-verktyg och klistrar in din PDF.co API-nyckel.
Ja. n8n har ett gratis alternativ för egen drift och en gratis provperiod på n8n Cloud. Cloud-planer startar på 20 USD/månad för högre volym. Du behöver också räkna med kostnader för PDF.co API-användning för HTML-till-PDF-konverteringar.
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 obegränsade körningar men kräver grundläggande serveradministration.
Ja, och det bör du. Du kan ändra godkänd/underkänd-logiken genom att redigera IF-noden “Evaluate Score Threshold”, och du kan justera vad som kontrolleras genom att uppdatera kodnoderna “Parse SEO Basics” och “Compute SEO Score”. Vanliga justeringar är att lägga till kontroller för schema markup, skärpa title/meta-reglerna för annonslandningssidor eller routa varningar till Slack eller Teams istället för Gmail.
Oftast beror det på att Googles autentisering har löpt ut eller att kalkylarket inte är delat med det anslutna kontot. Anslut Google Sheets på nytt i n8n och kontrollera sedan kalkylarkets ID och fliknamnet som används i noderna “Retrieve Site Links” och “Update Performance Sheet”. Om bara uppdateringar misslyckas är det ofta ett problem med kolumnmappning (arbetsflödet skriver till en kolumn som har flyttats).
De flesta små team kör 20 till 200 URL:er dagligen utan problem, förutsatt att målwebbplatserna svarar normalt.
Ofta, ja, eftersom det här arbetsflödet inte bara är “skicka data från A till B”. Du crawlar HTML, parsar det, poängsätter det, förgrenar logik baserat på poängen och genererar filer. n8n hanterar den typen av flersteglogik snyggt, och egen drift kan bli en stor kostnadsfördel när du kör dagliga kontroller över många URL:er. Zapier eller Make kan fortfarande fungera om du förenklar idén (färre kontroller, ingen PDF-generering, färre grenar). Om du är osäker, prata med en automationsspecialist och beskriv ditt antal URL:er samt rapporteringsbehov.
När det här väl är igång slutar SEO-kontroller vara en återkommande uppgift du “tar senare”. Arbetsflödet sköter den repetitiva övervakningen, och du kan fokusera på att åtgärda de få saker som faktiskt spelar roll.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.