Innehållsgranskningar låter enkla tills du gör dem för den 12:e URL:en den här veckan, dubbelkollar samma sidor och klistrar in samma anteckningar om ”fixa rubriker, tajta intro, lägg till interna länkar” i ännu ett dokument.
Det är här automatisering av innehållsgranskning verkligen betalar sig. SEO-ansvariga märker det när intressenter ber om ”en snabb genomgång till”. Content managers tappar timmar på att hålla rapporter konsekventa. Byråägare slutar med att bygga om samma leverans, bara med en annan logga längst upp.
Det här workflowet tar emot valfri URL-förfrågan, skrapar sidan, kör en AI-granskning, loggar resultaten i Google Sheets och skapar en strukturerad Google Docs-rapport som du kan dela direkt. Du får se hur det fungerar, vad du behöver och vad du ska se upp med innan du sätter det i drift.
Så fungerar automatiseringen
Hela n8n-workflowet, från trigger till slutligt resultat:
n8n Workflow Template: Google Sheets till Google Docs, innehållsaudits klara
flowchart LR
subgraph sg0["Content Analysis Request Form Flow"]
direction LR
n0@{ icon: "mdi:database", form: "rounded", label: "Check Previous Analysis", pos: "b", h: 48 }
n1@{ icon: "mdi:code-braces", form: "rounded", label: "Prepare Analysis Context", pos: "b", h: 48 }
n2["<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/form.svg' width='40' height='40' /></div><br/>Content Analysis Request Form"]
n3@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Report Already Exists?", pos: "b", h: 48 }
n4@{ icon: "mdi:robot", form: "rounded", label: "Analysis Results Parser", pos: "b", h: 48 }
n5@{ icon: "mdi:cog", form: "rounded", label: "Decodo Scraping Tool", pos: "b", h: 48 }
n6@{ icon: "mdi:brain", form: "rounded", label: "GPT-4o Analysis Engine", pos: "b", h: 48 }
n7@{ icon: "mdi:robot", form: "rounded", label: "Content Intelligence AI Agent", pos: "b", h: 48 }
n8@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Check Content Quality Thresh..", pos: "b", h: 48 }
n9@{ icon: "mdi:database", form: "rounded", label: "Save Analysis to Database", 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/slack.svg' width='40' height='40' /></div><br/>Notify Team (Normal)"]
n11@{ icon: "mdi:message-outline", form: "rounded", label: "Send Analysis Report", pos: "b", h: 48 }
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/code.svg' width='40' height='40' /></div><br/>Format Email HTML"]
n13@{ icon: "mdi:robot", form: "rounded", label: "Remediation Plan Generator", pos: "b", h: 48 }
n14@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model", pos: "b", h: 48 }
n15@{ icon: "mdi:cog", form: "rounded", label: "No Operation, do nothing", pos: "b", h: 48 }
n16@{ icon: "mdi:cog", form: "rounded", label: "Aggregate Analysis Data", pos: "b", h: 48 }
n17@{ icon: "mdi:cog", form: "rounded", label: "Create Google Doc Report", pos: "b", h: 48 }
n18@{ icon: "mdi:cog", form: "rounded", label: "Update Google Doc Content", pos: "b", h: 48 }
n19["<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/trello.svg' width='40' height='40' /></div><br/>Create Trello Task"]
n20["<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/slack.svg' width='40' height='40' /></div><br/>Skip Duplicate Analysis"]
n12 --> n11
n14 -.-> n13
n19 --> n20
n5 -.-> n7
n11 --> n10
n6 -.-> n7
n3 --> n15
n3 --> n16
n16 --> n7
n4 -.-> n7
n0 --> n3
n17 --> n18
n1 --> n0
n9 --> n8
n18 --> n12
n13 --> n19
n2 --> n1
n7 --> n9
n8 --> n13
n8 --> n17
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 n2 trigger
class n4,n7,n13 ai
class n6,n14 aiModel
class n3,n8 decision
class n0,n9 database
class n1,n12 code
classDef customIcon fill:none,stroke:none
class n2,n10,n12,n19,n20 customIcon
Problemet: innehållsgranskningar är långsamma, inkonsekventa och svåra att skala
Manuella innehållsgranskningar börjar ofta med goda intentioner, men faller isär när volymerna ökar. Du öppnar en URL, kopierar delar till ett verktyg, kör några kontroller, skriver ”åtgärdsbara insikter” och försöker få det att se ut som förra veckans rapport. Sedan skickar någon in en URL du redan granskade för två veckor sedan, och du märker det inte förrän du är halvvägs. Även när du gör allt ”rätt” varierar resultatet beroende på vem som gjorde granskningen och hur stressad personen var. Den inkonsekvensen gör det svårare att prioritera åtgärder och motivera arbetet för ledning eller kunder, vilket är hela poängen med en granskning.
Friktionen byggs på. Här är var det brukar brista.
- Du tappar cirka 30–60 minuter per URL bara på att samla in sidinnehåll, kolla grunderna och skriva en sammanfattning som ser professionell ut.
- Dubblettgranskningar smyger in, så du betalar för upprepad analys och får ändå två olika ”sanningar” för samma sida.
- Resultaten hamnar i utspridda dokument och e-posttrådar, vilket gör att trender (och vinster) blir osynliga över tid.
- När en sida faktiskt är dålig är det lätt att missa allvaret tills rankingen sjunker eller konverteringen faller.
Lösningen: en förfrågan in, ett komplett granskningssystem ut
Det här n8n-workflowet gör innehållsgranskning till ett system vid begäran som levererar samma konsekventa resultat varje gång. Det startar när någon skickar in en URL via ett enkelt intake-formulär (eller via en annan trigger du väljer). Workflowet bygger kontext för granskningen, kontrollerar i Google Sheets om URL:en har analyserats tidigare och stoppar dubbletter innan de bränner tid och API-krediter. För nya URL:er skrapar det sidan med Decodo så att AI:n inte gissar vad som finns på sidan. Sedan tar en dedikerad AI-agent (driven av GPT-4o) fram strukturerade insikter för SEO och läsbarhet, plus konkreta rekommendationer du faktiskt kan tilldela. Till sist loggar workflowet allt i Google Sheets för historik, skapar en formaterad Google Docs-rapport och meddelar teamet via e-post och Slack. Om sidan inte klarar en kvalitetsgräns kan det också generera en åtgärdsplan och skapa ett Trello-kort.
Workflowet börjar med en intake-förfrågan och går sedan vidare till dubblettskydd och webbskrapning. Därefter producerar AI en standardiserad granskningsoutput som lagras för uppföljning. Rapporter skapas i Google Docs och rätt personer blir notifierade (normal vs. brådskande), så att problem inte blir liggande utan att någon ser dem.
Det här får du: automatisering vs. resultat
| Vad det här workflowet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här kan det se ut
Säg att ditt team granskar 15 URL:er i veckan (nya blogginlägg, viktiga landningssidor och några äldre sidor som slank igenom). Manuellt tar även en ”snabb” granskning cirka 45 minuter när du räknar in skrapning/kopiering av innehåll, att skriva fynd, formatera ett dokument och skicka ut det, vilket är ungefär 11 timmar i veckan. Med det här workflowet tar det cirka 2 minuter att skicka in förfrågan, sedan väntar du på skrapning och AI-bearbetning (ofta 5–10 minuter) medan du gör annat. Din faktiska handpåläggning sjunker till att granska outputen och tilldela nästa steg, vilket kan vara 10 minuter per URL.
Det du behöver
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- Google Sheets för att lagra granskningshistorik och poäng.
- Google Docs för att skapa snygga, delningsbara rapporter.
- OpenAI API-nyckel (hämta den i din OpenAI-dashboard).
Svårighetsnivå: Medel. Du kopplar konton, klistrar in API-nycklar och justerar några fält så att de matchar hur ditt team namnger och poängsätter granskningar.
Vill du inte sätta upp det här själv? Prata med en automationsexpert (gratis konsultation i 15 minuter).
Så fungerar det
En URL-förfrågan kommer in. Workflowet startar med en inskickad förfrågan via ett intake-formulär (du kan även anpassa detta till Telegram, webhook eller e-postbaserad intake om det passar din process bättre).
Kontext och deduplicering sker först. n8n bygger en ”analyskontext” för förfrågan och slår sedan upp tidigare resultat i Google Sheets. Om URL:en redan har granskats kan workflowet stoppa tidigt i stället för att lägga tid på skrapning och betala för AI-tokens.
Sidan skrapas och analyseras. Decodo hämtar ut hela innehållet och en AI-agent som använder GPT-4o utvärderar SEO-effektivitet, läsbarhet och innehållskvalitet. Outputen parsas till ett strukturerat format så att nästa steg inte bygger på röriga fritekstblock.
Rapporter och larm skickas. Resultaten lagras tillbaka i Google Sheets, och därefter skapas en Google Docs-rapport som uppdateras med de formaterade fynden. En sammanfattning skickas via Gmail, och Slack får antingen en normal notifiering eller ett brådskande larm beroende på kvalitetsgränsen. Om sidan kräver större insatser kan en åtgärdsplan genereras och ett Trello-kort skapas automatiskt.
Du kan enkelt justera kvalitetsgränserna så att de matchar dina standarder utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera formulärtriggern
Ställ in intagsformuläret som fångar URL och kontext för varje analysförfrågan.
- Lägg till triggern Content Intake Form och ställ in Form Title till
Content Analysis Request. - Under Form Fields lägger ni till ett URL-fält med etiketten
Target URLoch markerar det som obligatoriskt. - Lägg till ett valfält med etiketten
Analysis Focusoch ett valfält med etikettenIndustry, båda obligatoriska. - Bekräfta att exekveringsflödet startar med Content Intake Form → Build Analysis Context.
Steg 2: anslut Google Sheets
Konfigurera uppslagning och lagring av analysresultat i Google Sheets.
- Öppna Lookup Prior Results och ställ in Document ID till
[YOUR_ID]och Sheet Name tillgid=0. - Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Lookup Prior Results.
- I Store Analysis Records ställer ni in Operation till
appendoch mappar kolumner med uttryck som{{$json.output.Target_URL}}och{{$('Build Analysis Context').item.json.analysis_id}}. - Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Store Analysis Records.
⚠️ Vanlig fallgrop: Säkerställ att Google-arket har kolumner som matchar det definierade schemat (t.ex. Analysis_ID, Target_URL, Overall_Score), annars misslyckas append.
Steg 3: konfigurera Content Insight Agent
Bygg analyskontexten, förhindra dubbelbearbetning och kör AI-baserad innehållsutvärdering.
- I Build Analysis Context behåller ni den tillhandahållna funktionskoden för att generera
analysis_id,timestampochlookup_key. - Konfigurera Duplicate Report Check för att jämföra Left Value
{{$json.Target_URL}}med Right Value{{$('Build Analysis Context').item.json.target_url}}. - Routa dubbletter till No-Op Placeholder och nya objekt till Collect Analysis Items med Aggregate satt till
aggregateAllItemData. - I Content Insight Agent använder ni den tillhandahållna prompten som refererar till
{{$('Build Analysis Context').item.json.target_url}},{{$('Build Analysis Context').item.json.industry}}och{{$('Build Analysis Context').item.json.analysis_focus}}. - Primary GPT-4o Engine är ansluten som språkmodell för Content Insight Agent — Inloggningsuppgifter krävs: Anslut era openAiApi-inloggningsuppgifter i Primary GPT-4o Engine.
- Decodo Scraper Tool är ansluten som ett verktyg för Content Insight Agent — Inloggningsuppgifter krävs: Anslut era decodoApi-inloggningsuppgifter i Decodo Scraper Tool och behåll URL satt till
{{ /*n8n-auto-generated-fromAI-override*/ $fromAI('URL', ``, 'string') }}. - Parse Analysis Output är ansluten som output-parser för Content Insight Agent; behåll JSON-schemaexemplet som det är.
Steg 4: konfigurera output- och åtgärdsnoder
Skapa rapporter, skicka aviseringar och trigga åtgärdsuppgifter baserat på kvalitetströsklar.
- I Quality Threshold Check ställer ni in villkoret för att utvärdera
{{$('Content Insight Agent').item.json.output.Overall_Score}}lt80för att routa innehåll med låg kvalitet. - För innehåll med hög kvalitet konfigurerar ni Generate Doc Report med Title
=Content Optimization Brief ID: {{ $json.Analysis_ID }}och Folder ID[YOUR_ID]; uppdatera sedan Update Doc Body med Document URL{{$json.id}}. - Inloggningsuppgifter krävs: Anslut era googleDocsOAuth2Api-inloggningsuppgifter i både Generate Doc Report och Update Doc Body.
- I Compose Email HTML behåller ni JS-koden som bygger HTML-body och ämnesrad med
$json.documentId. - Konfigurera Dispatch Email Report med Send To
[YOUR_EMAIL], Message{{$json.html_body}}och Subject{{$json.subject}}. - Inloggningsuppgifter krävs: Anslut era gmailOAuth2-inloggningsuppgifter i Dispatch Email Report.
- I Post Normal Alert behåller ni meddelandemallen som refererar till
{{$('Content Insight Agent').item.json.output.Target_URL}}och{{$('Content Insight Agent').item.json.output.Overall_Score}}. - Inloggningsuppgifter krävs: Anslut era slackApi-inloggningsuppgifter i både Post Normal Alert och Post Urgent Alert.
- För innehåll med låg kvalitet konfigurerar ni Generate Fix Plan med den tillhandahållna prompten och ansluter sedan Chat Model Provider som språkmodell — Inloggningsuppgifter krävs: Anslut era openAiApi-inloggningsuppgifter i Chat Model Provider.
- I Create Task Card ställer ni in Name till
=URGENT FIX: {{ $('Quality Threshold Check').item.json.Target_URL }}, List ID till[YOUR_ID]och Description till{{$json.output}}. - Säkerställ att flödet matchar: Generate Fix Plan → Create Task Card → Post Urgent Alert och Compose Email HTML → Dispatch Email Report → Post Normal Alert.
⚠️ Vanlig fallgrop: Create Task Card har inga inloggningsuppgifter konfigurerade. Lägg till Trello-inloggningsuppgifter i Create Task Card innan ni kör arbetsflödet.
Steg 5: testa och aktivera ert arbetsflöde
Kör ett fullständigt test för att verifiera dataflöde, dokumentskapande, e-postleverans och Slack-aviseringar.
- Klicka på Execute Workflow och skicka in en testpost i Content Intake Form med en giltig URL.
- Bekräfta att Lookup Prior Results returnerar data (eller fortsätter vid fel) och att Store Analysis Records lägger till en rad.
- Verifiera att ett Google Doc skapas och uppdateras via Generate Doc Report och Update Doc Body, och kontrollera sedan e-postmeddelandet som skickas av Dispatch Email Report.
- Säkerställ att Slack-aviseringar visas i kanalen från Post Normal Alert eller Post Urgent Alert, baserat på Quality Threshold Check.
- När alla steg lyckas, växla arbetsflödet till Active för användning i produktion.
Vanliga fallgropar
- Behörigheter i Google Sheets och Google Docs ställer ofta till det. Om rapporter inte skapas, kontrollera att det anslutna Google-kontot har redigeringsåtkomst till arket och behörighet att skapa Docs i den valda Drive-mappen.
- Om du använder Wait-noder eller extern skrapning varierar processtiderna. Öka väntetiden om nedströmsnoder fallerar på tomma svar.
- Decodo- och OpenAI-output är bara så bra som instruktionerna du ger dem. Standardprompter i AI-noder är generiska, så lägg in varumärkeston och ”så här ser bra ut” tidigt, annars kommer du att redigera outputen för alltid.
Vanliga frågor
Cirka en timme om du redan har konton och API-nycklar redo.
Nej. Du kommer främst att koppla in behörigheter och mappa några fält. Kan du följa en checklista kan du köra den här automatiseringen för innehållsgranskning.
Ja. n8n har ett gratis alternativ för egen hosting och en gratis provperiod på n8n Cloud. Cloud-planer startar på 20 USD/månad för högre volymer. Du behöver också räkna med OpenAI API-kostnader (ofta några cent per granskning, beroende på sidans längd) och kostnader för Decodo-skrapning.
Två alternativ: n8n Cloud (hanterat, enklast att sätta upp) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och klarar n8n bra. Egen hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.
Ja, och det bör du. Uppdatera instruktionerna i Content Insight Agent så att poängsättningen speglar ditt varumärke och dina SEO-standarder, och justera sedan Quality Threshold Check så att den matchar vad ditt team anser vara ”brådskande”. Vanliga justeringar är att lägga till E-E-A-T-kontroller, kräva en specifik läsnivå och vikta konverteringstext tyngre än ren on-page SEO.
Oftast handlar det om OAuth-behörigheter eller fel Google-konto. Anslut Google Sheets-behörigheter igen i n8n och bekräfta sedan att arket är delat med samma konto och att workflowet pekar på rätt kalkylark och flik. Om det bara misslyckas ibland, kontrollera Googles API-rate limits när du kör många granskningar samtidigt.
Väldigt många, så länge dina skrapnings- och AI-kostnader skalar med volymen.
För AI-tunga granskningar är n8n ofta ett bättre val eftersom du kan förgrena logik fritt, parsa strukturerade outputar och hosta själv när volymen växer. Det passar också bra för längre flerstegsflöden som ”skrapa → analysera → lagra → skapa dokument → notifiera”, vilket kan bli både krångligt och dyrt i verktyg som prissätts per steg. Zapier eller Make kan däremot vara snabbare för enkla två-apps-zaps. Om ditt team bara vill ha ”URL in, Slack-meddelande ut” kan det räcka. Men när du behöver deduplicering, tröskelkontroller och rapportgenerering är det här automatiseringen för innehållsgranskning där n8n glänser.
Sätt upp det här en gång, så blir varje granskning efter det enklare. Workflowet tar hand om det repetitiva arbetet så att du kan fokusera på beslut, åtgärder och resultat.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.