Mindket

SEO article from keyword research to WordPress draft

Newversion 2 · updated

Overview

An n8n workflow that turns a topic from a form into a researched article and saves it in WordPress as a draft. DataForSEO does the keyword and search research, Google Gemini plans and writes, and Claude’s web search finds the sources.

SEO article from keyword research to WordPress draft is an n8n workflow in the Marketing & SEO category, listed by Mindket. It is free. This is version 2, last updated on . Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.

At a glance

Runs in
  • n8n Cloud: import the file into a new workflow there
  • Your own n8n server: the same file and steps
  • WordPress: the article arrives as a draft post with its slug set, for you to edit and publish
  • Google Sheets: one row for each article with the draft’s link and post ID, and one for each research run

Platform

Connects 6 apps

How it works

Trigger

Form submission

It starts when someone sends the Content Automation System form with:

  • A topic or keyword
  • A search intent, a country and a language
  • An audience and a tone of voice
  • One of your own pages to link to

Actions

  1. A Gemini agent reads your linked page through Tavily
  2. Five DataForSEO calls fetch keyword ideas, related keywords, intent and the Google and Bing results
  3. Gemini sums up each report and plans one article from the five summaries
  4. Gemini drafts it, and an agent finds three or four sources with Claude’s web search
  5. An editor step adds the title, contents list and meta description, and code turns it into HTML
  6. After a last Gemini check it is saved as a WordPress draft and logged in two sheet tabs

Result

A researched article with linked sources and a contents list, waiting in WordPress as a draft

Integrations

What you need before you start.

DataForSEO

Keyword research

Returns keyword ideas, related keywords, search intent and the organic Google and Bing results for the queries the plan needs.

NeedsDataForSEO API login and password, as an HTTP Basic Auth credential

Google Gemini

Language model

Runs every thinking step: the page summary, the five research summaries, the plan, the draft, the edit and the HTML check.

NeedsGemini API key

Anthropic

Web search

Answers the source agent’s searches with Claude Sonnet 4.5 and its web search tool.

NeedsAnthropic API key

Tavily

Page reader

Extracts the text of the page on your site that the article will link to.

NeedsTavily API key, typed into the node’s header

WordPress

Publishing

Takes the finished HTML as a draft post, with a slug made from the title.

NeedsSite address, user name and an application password

Google Sheets

Run log

Keeps a row for each article in one tab and a row for each research run in another.

NeedsA Google account to sign in with, and a sheet with two tabs

Workflow check

Checked by Mindket on 13 Nov 2026

Steps
36 steps, starting on a form
Not reached
1 node no run reaches: Structured Output11
AI
12 steps call an AI model: Internal Link Data Prep, SEO Research Analyst, SERP Google Analyst, SEO Content Silo Strategist, AI Generated First Article Draft and 7 more
Sign-ins
Signs in to: DataForSEO, WordPress, Google Sheets and Google Gemini
API keys
No API key is left in the file
Step types
Mindket’s checker reads 8 of its 9 step types. It does not read: AI Agent

Read from the workflow’s file, not from a run.

About

What it is

This n8n workflow turns one topic into a researched article and leaves it in WordPress as a draft. You fill in a form with the topic, the search intent, a country, a language, the audience, a tone and one page of your own site. A Gemini agent reads that page first, through Tavily. Five DataForSEO calls then pull keyword ideas, related keywords, search intent and the top Google and Bing results. Gemini summarizes each one and plans a single article from the five summaries. It drafts the article, an agent finds three or four sources with Claude’s web search, and an editor step adds a title, a contents list and a meta description. Forty-seven nodes do the work.

Who it suits

Small businesses, and the agencies that write for them, who want each new article to start from search data and point to a page they sell from. The code leans towards local service firms: it looks for “near me” searches, phone numbers and review ratings. Skip it if you want posts published without a read, or pictures. It only makes drafts. Where an image would go, it writes “Not Generated”.

Who uses it, and how
IndustryWho uses itHow they use itExample
Home servicesOwners of plumbing, electrical or roofing firmsPoint each article at the service page it should sellA roofer enters flat roof repair cost with the repair page, and the draft links to that page.
Marketing agenciesContent leadsKeep one copy of the workflow for each client, with that client in Client DataAn agency runs the form whenever a client asks for a post, and reviews the draft in that client’s WordPress.
Local professional servicesDentists, lawyers and accountantsPick Commercial or Transactional intent for a page that should bring callsA dental clinic picks Canada and Commercial for emergency dentist.
Software and B2BContent marketersPick Informational intent and an expert audience for a guideA payroll software team asks for a guide to contractor tax forms.

You need some n8n and six accounts: importing a file, adding five credentials, typing a key into one header and making a sheet with two tabs. Its author puts setup at about 18 minutes, which assumes the accounts and the site already exist.

Where to use it

Any n8n that can reach Google, DataForSEO, Anthropic, Tavily and your WordPress site will run it.

  • n8n Cloud: import the file into a new workflow there
  • Your own n8n server: the same file and steps
  • WordPress: the article arrives as a draft post with its slug set, for you to edit and publish
  • Google Sheets: one row for each article with the draft’s link and post ID, and one for each research run

Setup

Get it saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. Make the WordPress application password and the sheet first.

What you need first
NeedDetail
n8nOn n8n Cloud or on a server of your own
Google AI StudioA Gemini API key, for every writing and planning step
DataForSEOYour API login and API password, for five research calls
Anthropic and TavilyAn API key from each: one for the source search, one to read your page
WordPressA user that can write posts, with an application password
GoogleAn account that can edit the log sheet
The sheet’s two tabs
TabColumns
ArticlesDate, Target Keywords, Primary Goal, Internal Link Reference, Content Type, Title, Meta Description, Article Draft Link, Post ID, Image Gen
Research DataDate, Main Topic | Keyword, Primary Intent, Internal Link, Primary Goal
  1. In n8n, create a workflow, open its menu, choose Import from File and pick workflow.json.
  2. In Client Data, replace the four <<YOUR …>> values with your company’s name, website, a short description and a few strengths.
  3. Add a Google Gemini (PaLM) API credential and select it in 2.5 pro, 2.5 PRO and 2.5 Pro.
  4. Add an HTTP Basic Auth credential, using your DataForSEO login as the user and the API password. Select it in Keyword Ideas, Search Intent, SERP Google, SERP Bing and Related Keywords.
  5. In url_Search, replace <YOUR_TAVILY_KEY> in the Authorization header with your key, brackets included.
  6. Add an Anthropic credential and select it in Simple_search.
  7. Add a WordPress credential with your site’s address, the user name and the application password, and select it in Create a post.
  8. Make the sheet, add a Google Sheets OAuth2 credential, select it in Append row in sheet and Append row, and replace YOUR_SHEET_ID in both.
  9. Save, send one topic through the form’s test address, then press Publish.

How to use it

Open the form, type the topic and pick the intent, country, language, audience and tone. Paste the address of the page on your site the article should point to. The form answers at once and the run goes on behind it. Give it several minutes. A dozen model steps run one after another. The draft then sits under Posts in WordPress, and each tab of the sheet has a new row.

What to change for a different result
To changeWhere
Your companyThe four values in Client Data, which most prompts quote
How much researchThe JSON bodies of the five DataForSEO nodes: limit, depth, and the volume and competition filters in Keyword Ideas
Voice and structureThe system message of AI Generated First Article Draft
Which sourcesThe system message of EEAT Fortification Agent, which asks for public bodies and industry groups and never a competitor
Post statusCreate a post, which saves a draft

Example

You send the form with these answers.

One request
FieldValue
Main topicwater heater replacement cost
Search intentCommercial
Country and languageUnited States, English
Audience and toneGeneral Consumers / Public, Friendly & Conversational
Page to link tohttps://plumbing.example/water-heaters

The first agent reads the water heater page and returns its title, H1, main subheadings and a line on how it fits the topic. Next, SEO Research Analyst writes the five DataForSEO inputs, shown here with the values cut:

{
  "dataforseo_google_serp_query": "…",
  "dataforseo_bing_serp_query": "…",
  "dataforseo_related_keywords_seed": "…",
  "dataforseo_keyword_ideas_seed": "…",
  "dataforseo_search_intent_keywords": ["…"]
}

The plan names one article, its type, its goal and its keywords. After the draft and the source search, Technical Editor answers in this shape, which the two Code nodes after it turn into HTML:

{
  "Title": "…",
  "toc": ["…"],
  "body": "…",
  "meta_description": "…"
}

WordPress receives the checked HTML as a draft, with a table of contents after the first paragraph and the sources linked in the text. The Articles row holds its link and post ID.

For newcomers and experts

If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. The coloured frames behind the boxes only label the stages. Send one topic from the test address first. Then open the run: each node shows what it received and what it sent, so an empty research result shows up where it happened.

For experts. Gemini runs every reasoning step through three model nodes, and Claude only searches.

The model steps
StepModel nodeWhat to know
Internal Link Data Prep, SEO Research Analyst and the five analysts2.5 pro, temperature 0.6The analysts read the Code nodes’ reports, never the raw API answers
SEO Content Silo Strategist2.5 PRO, temperature 0.5A parser holds the plan to five fields
Draft, sources, edit and final check2.5 Pro, temperature 0.7The editor polishes the first draft. The source agent only supplies links for it
Simple_searchclaude-sonnet-4-5-20250929 with web searchUp to five searches a call, answered as titles, addresses and snippets

Merge waits for all five summaries and joins them by position. Structured Output11 connects to nothing.

Good to know

Each run spends money at four vendors, and two settings do less than they suggest.

  • Billing: twelve Gemini calls a run, more when an agent loops, five DataForSEO calls, at least one Tavily extract, and Anthropic for each search call and the web searches inside it
  • Language: gl & hl code reads a field the form never sends, so DataForSEO always researches in English. The README says which name to change
  • Models: the Gemini nodes are named Pro, but the file sets no model, so n8n uses the default, Gemini 2.5 Flash. Google limits the 2.5 models to accounts that have used them before
  • Claude: Anthropic retires claude-sonnet-4-5-20250929 on 30 November 2026 and names claude-sonnet-5-5 as the replacement, so pick that in Simple_search
  • Sources: one is linked only where its suggested anchor text appears word for word in the edited article
  • Open form: once published, anyone with its address can start a run on your keys, so turn on its basic authentication or keep the address to yourself
  • Your data: the topic and your company details go to Google, the research terms to DataForSEO, your page’s address to Tavily and the search words to Anthropic
  • Credentials: the JSON holds none, and nothing from its author’s sheet or site. The original copy had lost its backslashes, which stopped two Code nodes, and Mindket put them back

README and files

README

SEO article from keyword research to WordPress draft

An n8n workflow that turns one topic from a form into a researched article and leaves it in WordPress as a draft. DataForSEO
supplies the keyword and search research, Google Gemini plans, writes and edits the article, and Claude's web search finds the
sources it links to. Two Google Sheets tabs keep a record of each run.

What is inside

  • workflow.json: the workflow as n8n exports it, 47 working nodes and four sticky notes that label its stages (Input,
    Research, Analysis, Content Creation). It holds no credential.
  • README.md: these notes.

What we changed from the original copy

  • The Tavily key in the Authorization header of url_Search is now <YOUR_TAVILY_KEY>.
  • The author's sheet is gone. Append row in sheet and Append row ask for YOUR_SHEET_ID and find their tab by name:
    Articles and Research Data.
  • The original copy had lost every backslash, so two Code nodes would not run at all. Filter Google stopped at
    /^https?:///, and HTML Format stopped at its first closing tag in a regular expression. Mindket put the backslashes back in
    both, and in the smaller spots that still ran but did the wrong thing: /[^\w\s]/g and \n in Filter Google,
    \w in Brainstorm Ideas, \s and \b\w in Filter Keywords, /^\n+/ in Insert Links, the slug in Create a post
    and join('\n') in Append row in sheet. Nothing else in the code changed.

Before you start

  • An n8n instance, on n8n Cloud or your own server.
  • A Gemini API key from Google AI Studio.
  • A DataForSEO account: its API login and API password.
  • An Anthropic API key.
  • A Tavily API key.
  • A WordPress site, and a user there that can write posts, with an application password (Users, Profile, Application
    Passwords).
  • A Google account, and a Google Sheet with two tabs (below).

Set it up

  1. In n8n, create a workflow, open its menu and choose Import from File. Pick workflow.json.
  2. Open Client Data and replace its four values, <<YOUR COMPANY NAME>>, <<YOUR COMPANY WEBSITE>>,
    <<YOUR COMPANY DESCRIPTION>> and <<FEW STRENGTHS ABOUT YOUR COMPANY>>, with your own. Most prompts read them.
  3. Add a Google Gemini (PaLM) API credential and select it in 2.5 pro, 2.5 PRO and 2.5 Pro.
  4. Add an HTTP Basic Auth credential, using your DataForSEO login as the user and the API password. Select it in
    Keyword Ideas, Search Intent, SERP Google, SERP Bing and Related Keywords.
  5. In url_Search, replace <YOUR_TAVILY_KEY> in the Authorization header with your key. The brackets go too, so the
    header reads Bearer, a space and the key.
  6. Add an Anthropic credential and select it in Simple_search.
  7. Add a WordPress credential with your site's address, the user name and the application password, and select it in
    Create a post.
  8. Make the sheet with the two tabs below and copy its ID: the long part of its address between /d/ and /edit. Add a
    Google Sheets OAuth2 credential, select it in Append row in sheet and Append row, and replace YOUR_SHEET_ID in both.
  9. Save. Open On Form Submission, use its test address and send one topic. Publish once a draft reaches WordPress.

The sheet

| Tab | Columns |
|---|---|
| Articles | Date, Target Keywords, Primary Goal, Internal Link Reference, Content Type, Title, Meta Description, Article Draft Link, Post ID, Image Gen |
| Research Data | Date, Main Topic \| Keyword, Primary Intent, Internal Link, Primary Goal |

Spell the headers as above: the two nodes map their values to them by name. Image Gen always gets "Not Generated", because
the workflow makes no images.

How a run goes

  1. On Form Submission takes the topic, the search intent, a country, a language, the audience, a tone and one page of your
    site. Client Data and Prepare data add your company to it, and gl & hl code turns the country and language into
    DataForSEO's codes.
  2. Internal Link Data Prep, an agent, reads your page through url_Search (Tavily's extract endpoint) and returns its
    title, H1, main subheadings and how it relates to the topic.
  3. SEO Research Analyst writes five inputs for DataForSEO: a Google query, a Bing query, two short seed keywords and a list
    of intent keywords.
  4. Five HTTP nodes call DataForSEO: keyword ideas, search intent, related keywords, and the organic results on Google and
    Bing. Five Code nodes boil each response down to a report, and five Gemini steps summarize each report in Markdown.
  5. Merge waits for all five summaries, and SEO Content Silo Strategist turns them into a plan for one article: its focus,
    title, type, goal and target keywords.
  6. AI Generated First Article Draft writes it in Markdown, with a placeholder link to your page. EEAT Fortification Agent
    then searches with Simple_search (Claude with web search) and returns three or four sources, each with a suggested
    anchor text.
  7. Technical Editor polishes the draft and returns its title, its H2 headings, the body and a meta description. Next,
    Insert Links links each source at the first place its anchor text appears, and HTML Format turns the Markdown into
    HTML with a table of contents and a folding FAQ.
  8. Final Checker reads the HTML once more, and Create a post saves the HTML as a WordPress draft. Append row in sheet logs
    the article in Articles, and Append row logs the research in Research Data.

Change the look

  • Your company: the four values in Client Data, which most prompts quote.
  • Research size: the JSON bodies of the five DataForSEO nodes. Keyword Ideas asks for 44 ideas with a monthly volume over
    50 and a competition of 0.8 or less, SERP Google reads 44 results and SERP Bing 22.
  • Voice and structure: the system message of AI Generated First Article Draft. The form's tone and audience reach it only
    through the plan.
  • Sources: the system message of EEAT Fortification Agent, which asks for neutral sources such as public agencies and
    industry bodies, and never a competitor.
  • Post status: Create a post saves a draft. Change its status to publish only once you trust the output.

Good to know

  • Billing: each run makes twelve Gemini calls (agents may make more), five DataForSEO calls, one or more Tavily extracts and
    as many Anthropic calls as the source agent decides. Anthropic bills the web searches inside each call as well. Try one
    topic first.
  • The language field does not reach DataForSEO. gl & hl code reads a field named What language should the content be in?,
    which the form does not send, so the research is always in English (en). To pass your pick on, change that name in the
    code to Target Language (DataforSEO). The plan's title and keywords still follow the language you picked.
  • The three Gemini nodes carry Pro in their names, but the file sets no model in them, so n8n uses the node's default,
    models/gemini-2.5-flash. Pick Gemini 2.5 Pro in each if you want what the names say. Google's deprecations page, read on 2
    November 2026, gives neither a shutdown date but limits both to accounts that have used them before. A new key
    may need a newer Gemini model picked in all three.
  • Simple_search uses claude-sonnet-4-5-20250929. Anthropic's deprecations page, read on 2 November 2026, retires it on 30
    November 2026 and names claude-sonnet-5-5 as the replacement. Pick it in the node before then.
  • A source is linked only where its suggested anchor text appears word for word in the edited article, so some sources may
    not show. The debug_info that Insert Links returns lists which ones did.
  • The code is written for local service businesses: it looks for "near me" searches, phone numbers written with the area code in
    brackets, and review ratings. Other topics still run, with less to say in those reports.
  • Structured Output11 connects to nothing and does no work.
  • Who can start it: once published, anyone with the form's address can start a run on your keys. Turn on the form's basic
    authentication or keep the address to yourself.
  • Where the data goes: the topic and your company details go to Google, the research terms to DataForSEO, your page's address
    to Tavily and the search words to Anthropic. The article goes to your WordPress site and the log to your sheet.
Files
README.md  8 KB
workflow.json  234 KB

2 files, 242 KB, downloaded as a zip.

What’s new

  • Version 2 · 2026-11-09

    Updated by Mindket to the current version of this kit.

  • Version 1 · 2026-11-03

Reviews

No ratings yet

Write a review

No reviews yet.

More from Mindket

See all from Mindket

Huashu Design

alchaincyf · Skill

Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…

New29.4k

Guizang PPT Skill

op7418 · Skill

Skill that makes single-file HTML slide decks, slide illustrations and platform covers in two visual styles, with a presenter mode for rehearsal. For speakers…

New29.8k

Claude Code Skills & Plugins

alirezarezvani · Skill

Adds 411 ready-made skills for Claude Code and other coding agents, grouped by role from engineering and product to marketing, finance and compliance. Installs…

New29.8k

Similar in Marketing & SEO

See all in Marketing & SEO

Pixel Art XL

nerijs · Kit

A pixel art style add-on for Stable Diffusion XL that turns text prompts into pixel-style images, with an optional LCM LoRA for faster runs. For game makers, d…

New

Licon MSR for LTX-2.5

LiconStudio · Kit

Keeps characters, clothing, objects and backgrounds consistent in generated video by feeding the model up to five reference images. A LoRA for LTX-2.5 in Comfy…

New

Flux.2-Klein-9B-MatchingPose

nhathoangfoto · Kit

A LoRA for FLUX.2 Klein 9B that puts a character into the pose shown by a mannequin reference while keeping the character's face and style. For artists and des…

New