Att hålla en blogg konsekvent är brutalt manuellt. Du hittar ett ämne, kollar Trends, öppnar tio flikar för research, skriver, formaterar, laddar upp, lägger till länkar, hämtar en bild och glömmer ändå att följa upp vad som faktiskt publicerades.
Innehållsansvariga fastnar i att jaga deadlines. Marknadsansvariga märker det när ”vi borde publicera mer” blir sena kvällar. Och om du driver ett småföretag är Google Trends-automation som den här ett sätt att publicera utan att bo inne i WordPress.
Det här arbetsflödet förvandlar en trendande sökning till ett färdigt WordPress-inlägg, komplett med research, interna länkar och en spårningsrad i Google Sheets. Du får se hur det fungerar, vad du behöver och de vanliga ställen där det kan börja svaja.
Så fungerar den här automationen
Hela n8n-flödet, från trigger till slutresultat:
n8n Workflow Template: Google Trends till WordPress – publicera jämnt
flowchart LR
subgraph sg0["Schedule Flow"]
direction LR
n0["<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/>Get Google Trends"]
n1@{ icon: "mdi:swap-vertical", form: "rounded", label: "Convert Research Format", pos: "b", h: 48 }
n2@{ icon: "mdi:cog", form: "rounded", label: "Prepare Internal Link Dataset", pos: "b", h: 48 }
n3@{ icon: "mdi:swap-vertical", form: "rounded", label: "Store Cover Image URL", pos: "b", h: 48 }
n4@{ icon: "mdi:play-circle", form: "rounded", label: "Schedule Trigger", pos: "b", h: 48 }
n5@{ icon: "mdi:swap-vertical", form: "rounded", label: "Extract Top 2 Trends", pos: "b", h: 48 }
n6["<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/>Filter High Volume Keywords"]
n7@{ icon: "mdi:robot", form: "rounded", label: "Select Best SEO Topic", 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/httprequest.dark.svg' width='40' height='40' /></div><br/>Research Reliable Sources"]
n9@{ icon: "mdi:robot", form: "rounded", label: "Draft Blog Content", pos: "b", h: 48 }
n10@{ icon: "mdi:database", form: "rounded", label: "Find Previous Posts", pos: "b", h: 48 }
n11@{ icon: "mdi:robot", form: "rounded", label: "Insert Internal SEO Links", pos: "b", h: 48 }
n12@{ icon: "mdi:robot", form: "rounded", label: "Generate Semantic HTML", pos: "b", h: 48 }
n13@{ icon: "mdi:robot", form: "rounded", label: "Create SEO Slug", pos: "b", h: 48 }
n14@{ icon: "mdi:robot", form: "rounded", label: "Generate Blog Title", pos: "b", h: 48 }
n15@{ icon: "mdi:robot", form: "rounded", label: "Create Meta Description", pos: "b", h: 48 }
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 Cover Image"]
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/wordpress.svg' width='40' height='40' /></div><br/>Publish to WordPress"]
n18@{ icon: "mdi:database", form: "rounded", label: "Log Published Post", pos: "b", h: 48 }
n13 --> n14
n4 --> n0
n16 --> n3
n0 --> n5
n9 --> n10
n10 --> n2
n14 --> n15
n5 --> n6
n17 --> n18
n7 --> n8
n3 --> n17
n12 --> n13
n1 --> n9
n15 --> n16
n11 --> n12
n8 --> n1
n6 --> n7
n2 --> n11
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 n4 trigger
class n7,n9,n11,n12,n13,n14,n15 ai
class n10,n18 database
class n0,n8,n16 api
class n6 code
classDef customIcon fill:none,stroke:none
class n0,n6,n8,n16,n17 customIcon
Problemet: konsekvent SEO-publicering tar för mycket tid och energi
Att publicera ”konsekvent” låter enkelt tills du räknar på det. Varje inlägg behöver ett ämne med efterfrågan, riktiga källor, en strukturerad disposition, en metabeskrivning, interna länkar som faktiskt är relevanta och en bild som inte ser ut som en platshållare. De flesta team fastnar i en loop: panikleta idéer, skriva något helt okej och sedan tappa ytterligare en timme på formatering och uppladdning. En vecka senare minns ingen vilket sökord inlägget riktade in sig på eller vilken URL det publicerades på, så optimering blir gissningslek.
Friktionen byggs på. Inte för att något enskilt steg är omöjligt, utan för att du upprepar hela sekvensen om och om igen.
- Trend-research hoppas över när det är stressigt, så du publicerar ämnen som ingen söker efter.
- Internlänkar blir något du gör ”senare”, vilket oftast betyder aldrig, och inläggen stöttar inte varandra.
- Formatering i WordPress tar ungefär en timme per inlägg om du bryr dig om korrekt formaterad HTML och rubriker.
- Spårningen är utspridd, så du kan inte enkelt svara på: ”Vad publicerade vi förra månaden och på vilket sökord?”
Lösningen: Google Trends → researchat inlägg → publicerat i WordPress
Det här n8n-arbetsflödet körs enligt schema och letar efter nya ämnen med hjälp av Google Trends-data (via SerpAPI). När det hittar en stark trend filtrerar det fram termer med högre volym och använder sedan en AI-baserad ”ämnesväljare” för att välja bästa SEO-vinkeln baserat på intent och konkurrens. Därefter hämtar det trovärdiga källor via Perplexity API så att innehållet står på riktig grund istället för magkänsla. Sedan tar AI-agenter fram ett utkast, lägger in interna länkar med hjälp av din befintliga inläggsdatabas i Google Sheets, bygger semantisk HTML, genererar slug, skriver titel och metabeskrivning, hämtar en omslagsbild och publicerar direkt till WordPress via REST API. Sista steget: det loggar publicerad URL, sökord, slug och andra detaljer tillbaka till Google Sheets, så att du får ett strukturerat underlag som faktiskt går att använda.
Arbetsflödet startar med en schemalagd körning. Sedan går det vidare genom trendupptäckt och research, följt av skrivande och on-page SEO (interna länkar, slug, metadata). Till sist får WordPress ett publiceringsklart inlägg och Google Sheets får spårbarheten.
Det du får: automation vs. resultat
| Vad det här arbetsflödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut i praktiken
Säg att du publicerar 3 inlägg i veckan. Manuellt ser en typisk cykel ut så här: 45 minuter trend-/ämnesgräv, cirka 2 timmar skrivande, cirka 1 timme formatering i WordPress, 20 minuter för att lägga till interna länkar och 10 minuter för att logga detaljer i ett ark. Det blir ungefär 4 timmar per inlägg, eller cirka 12 timmar i veckan. Med det här arbetsflödet lägger du kanske 20 minuter i början på att trimma prompts och Sheets-mallen, och sedan är varje körning hands-off medan n8n researchar, skriver, publicerar och loggar automatiskt.
Det här behöver du
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- WordPress för publicering via REST API.
- Google Sheets för att lagra länkar och publiceringsloggar.
- SerpAPI-nyckel (hämta den i din SerpAPI-dashboard).
- Perplexity API-nyckel (hämta den i dina kontoinställningar i Perplexity).
- OpenRouter API-nyckel (hämta den på OpenRouters nyckelsida).
Kunskapsnivå: Mellan. Du kopplar några API:er, mappar några fält och testar en full körning från början till slut.
Vill du inte sätta upp det här själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
En schemalagd trigger drar igång. Du sätter takten (dagligen, veckovis, det som passar), och n8n startar körningen automatiskt utan att någon behöver komma ihåg ”dags för content”.
Trenddata samlas in och snävas in. Arbetsflödet frågar Google Trends via SerpAPI, väljer ett starkt trendpar och filtrerar sedan på termer med högre volym så att du inte skriver för sökord utan efterfrågan.
Research och skrivande sker med räcken. Perplexity samlar in trovärdiga källor och faktakontext, sedan skriver AI-agenter artikeln och väver in interna länkar genom att slå upp dina tidigare inlägg som ligger i Google Sheets.
Publicering och spårning sker automatiskt. Arbetsflödet genererar slug, titel och metabeskrivning, hämtar en omslagsbild, publicerar till WordPress och registrerar sedan WordPress-URL och målsökord tillbaka i Sheets.
Du kan enkelt ändra publiceringsfrekvensen eller lägga till en mänsklig granskningscheckpoint utifrån dina behov. Se hela implementeringsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera triggern för schemalagd körning
Det här arbetsflödet startar enligt ett schema och hämtar trendande ämnen automatiskt, så triggern måste ställas in först.
- Lägg till och öppna Scheduled Run Trigger.
- Ställ in intervallet för Rule enligt ert önskade schema (det här arbetsflödet använder standardschemainställningarna som en platshållare).
- Säkerställ att Scheduled Run Trigger är ansluten till Retrieve Google Trends.
Steg 2: Anslut trenddatakällor och filter
Dessa noder hämtar trenddata och avgränsar den till kandidater med hög volym.
- Öppna Retrieve Google Trends och ställ in URL till
https://serpapi.com/search?engine=google_trends. - I Retrieve Google Trends ställer ni in Query Parameters: q till
ai agent, geo tillUS, hl tillen, date till{{ $now.minus({ days: 3 }).format('yyyy-MM-dd') }} {{ $now.format('yyyy-MM-dd') }}och data_type tillRELATED_QUERIES. - Inloggningsuppgifter krävs: Anslut era httpQueryAuth-inloggningsuppgifter i Retrieve Google Trends (krävs av genericCredentialType).
- Öppna Pick Top Trend Pair och ställ in Mode till
rawmed JSON Output satt till uttrycket som finns angivet i noden. - Öppna Filter High-Volume Terms och bekräfta att JavaScript Code använder
$('Retrieve Google Trends')för att filtreraextracted_value > 30.
Steg 3: Ställ in AI-baserat ämnesval och research
Det här steget använder AI för att välja det bästa trendande ämnet och samla in källor för research.
- Öppna Choose Best SEO Topic och säkerställ att den refererar till trendparet via
{{ $('Pick Top Trend Pair').item.json['most-trending']['#1'].toJsonString() }}och{{ $('Pick Top Trend Pair').item.json['most-trending']['#2'].toJsonString() }}. - Inloggningsuppgifter krävs: Anslut era openAiApi-inloggningsuppgifter i Choose Best SEO Topic.
- Öppna Gather Credible Sources och ställ in URL till
https://api.perplexity.ai/chat/completionsmed Method satt tillPOSToch JSON Body satt till uttrycket som finns angivet. - Inloggningsuppgifter krävs: Anslut era httpHeaderAuth-inloggningsuppgifter i Gather Credible Sources.
- Öppna Format Research Output och bekräfta att fältet research är satt till
{{ $json.choices[0].message.content.replaceAll("[1]", " - source: " +$json.citations[0]).replaceAll("[2]"," - source:" +$json.citations[1]).replaceAll("[3]"," - source: " +$json.citations[2]).replaceAll("[4]"," - source: "+$json.citations[3]).replaceAll("[5]"," - source: "+$json.citations[4]).replaceAll("[6]"," - source: "+$json.citations[5]).replaceAll("[7]"," - source: "+$json.citations[6]).replaceAll("[8]"," - source: "+$json.citations[7]).replaceAll("[9]"," - source: "+$json.citations[8]).replaceAll("[10]"," - source: "+$json.citations[9]) }}.
Steg 4: Skriv bloggutkastet och internlänkning
Dessa noder skapar utkastet och berikar det med interna länkar från era befintliga inlägg.
- Öppna Compose Blog Draft och verifiera att den refererar till
{{ $('Choose Best SEO Topic').item.json.message.content }}och{{ $json.research }}i meddelandets innehåll. - Inloggningsuppgifter krävs: Anslut era openAiApi-inloggningsuppgifter i Compose Blog Draft.
- Öppna Retrieve Past Posts och ställ in Document ID till
[YOUR_ID]och Sheet Name tillgid=0. - Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Retrieve Past Posts.
- Öppna Compile Internal Link Data och ställ in Aggregate till
aggregateAllItemDatamed Destination Field Name somprevious-posts. - Öppna Inject Internal SEO Links och verifiera att den använder
{{ $('Compose Blog Draft').item.json.message.content }}och{{ $json['previous-posts'].toJsonString().split() }}. - Inloggningsuppgifter krävs: Anslut era openAiApi-inloggningsuppgifter i Inject Internal SEO Links.
Steg 5: Skapa HTML, SEO-metadata och omslagsbild
Det här steget formaterar inlägget, skapar SEO-metadata och hämtar en omslagsbild.
- Öppna Build Semantic HTML och säkerställ att den använder
{{ $json.message.content }}för att generera HTML. - Inloggningsuppgifter krävs: Anslut era openAiApi-inloggningsuppgifter i Build Semantic HTML.
- Öppna Generate SEO Slug och bekräfta att den refererar till
{{ $('Inject Internal SEO Links').item.json.message.content }}och{{ $('Choose Best SEO Topic').item.json.message.content }}. - Inloggningsuppgifter krävs: Anslut era openAiApi-inloggningsuppgifter i Generate SEO Slug.
- Öppna Craft Blog Title och bekräfta att den refererar till
{{ $('Inject Internal SEO Links').item.json.message.content }}och uttrycket för primärt nyckelord. - Inloggningsuppgifter krävs: Anslut era openAiApi-inloggningsuppgifter i Craft Blog Title.
- Öppna Write Meta Description och bekräfta att den refererar till
{{ $('Inject Internal SEO Links').item.json.message.content }}och{{ $('Choose Best SEO Topic').item.json.message.content }}. - Inloggningsuppgifter krävs: Anslut era openAiApi-inloggningsuppgifter i Write Meta Description.
- Öppna Retrieve Cover Image och ställ in URL till
https://serpapi.com/search?engine=google_imagesmed q satt till{{ $('Choose Best SEO Topic').item.json.message.content }}och gl satt tillus. - Inloggningsuppgifter krävs: Anslut era httpQueryAuth-inloggningsuppgifter i Retrieve Cover Image (krävs av genericCredentialType).
- Öppna Save Cover Image Link och ställ in image-url till
{{ $json.images_results[1].original }}.
Steg 6: Konfigurera publicering och spårningsutdata
Dessa sista noder publicerar inlägget till WordPress och loggar resultatet i Google Sheets.
- Öppna Post to WordPress och ställ in Title till
{{ $('Craft Blog Title').item.json.message.content }}. - I Post to WordPress ställer ni in Slug till
{{ $('Generate SEO Slug').item.json.message.content }}och Content till.{{ $('Build Semantic HTML').item.json.message.content }}}
- Bekräfta att Status är satt till
draft, Author ID till5och Categories till43i Post to WordPress. - Inloggningsuppgifter krävs: Anslut era WordPress-inloggningsuppgifter i Post to WordPress (den här noden har inga inloggningsuppgifter konfigurerade).
- Öppna Record Published Entry och ställ in Operation till
append. - I Record Published Entry mappar ni Link till
{{ $json.link }}och Título till{{ $json.title.raw }}. - Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Record Published Entry.
Steg 7: Testa och aktivera ert arbetsflöde
Kör ett komplett test för att bekräfta att innehållsgenerering, publicering och loggning fungerar hela vägen från start till mål.
- Klicka på Execute Workflow och övervaka varje nod från Scheduled Run Trigger till Record Published Entry.
- Verifiera att ett utkast skapas i WordPress med genererad titel, slug, omslagsbild och HTML-innehåll från Post to WordPress.
- Bekräfta att en ny rad visas i ert Google Sheet från Record Published Entry med giltiga värden för Link och Título.
- Om resultaten stämmer, växla arbetsflödet till Active för att aktivera schemalagd publicering.
Vanliga fallgropar
- SerpAPI-uppgifter kan löpa ut eller slå i planbegränsningar. Om trendhämtningar misslyckas, kontrollera först din användningsdashboard i SerpAPI och nyckeln som är sparad i n8n.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar.
- Standardprompts i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du redigera resultat i all evighet.
Vanliga frågor
Cirka 20 minuter när dina API-konton är klara.
Nej. Du kopplar mest konton och klistrar in API-nycklar. Du kanske finjusterar ett filter eller en prompt, men du kommer inte att skriva en app.
Ja. n8n har ett gratis alternativ för egen hosting 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 användning av SerpAPI, Perplexity och OpenRouter, vilket oftast landar på några dollar för en batch inlägg beroende på längd och modellval.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och hanterar n8n bra. Egen hosting ger obegränsade körningar men kräver grundläggande serveradministration.
Ja, och det är en smart justering för de flesta varumärken. Skicka utdata från ”Build Semantic HTML” till ett WordPress-utkast istället för att publicera, och lägg sedan in en godkännandekontroll innan noden ”Post to WordPress” körs. Vanliga anpassningar är att ändra skrivprompter för tonalitet, justera Google Trends-filter för din nisch och skärpa reglerna för interna länkar så att den bara länkar till hörnsten-sidor.
Oftast handlar det om behörigheter eller att REST API blockeras. Bekräfta att WordPress-användaren du kopplade har rätt att publicera inlägg och kontrollera sedan om ett säkerhetsplugin eller värdens brandvägg nekar REST-förfrågningar. Verifiera också att webbplats-URL:en i WordPress-noden matchar din kanoniska domän (http vs https spelar roll). Om det fungerade och plötsligt slutade, skapa ett nytt applikationslösenord (eller nya inloggningsuppgifter) och uppdatera det i n8n.
Många, så länge dina API-gränser och din WordPress-hosting hänger med.
För en end-to-end innehållspipeline är n8n oftast ett bättre val eftersom det hanterar förgreningslogik, AI-steg och formatering i flera steg utan att bli ett dyrt spindelnät av zaps. Du kan också köra egen hosting, vilket blir viktigt när du publicerar ofta. Zapier eller Make kan fungera för lätta ”utkast → publicera”-flöden, men de blir klumpiga när du lägger till research, interna länkar och strukturerad HTML-utdata. Ärligt talat är bästa verktyget det du faktiskt kommer att underhålla. Prata med en automationsexpert om du vill ha en snabb rekommendation baserat på din volym och din stack.
Sätt upp det en gång och du slipper passa din contentkalender. Arbetsflödet tar hand om det repetitiva publiceringsarbetet så att teamet kan lägga tid på strategi, erbjudanden och distribution.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.