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…
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.
Form submission
It starts when someone sends the Content Automation System form with:
A researched article with linked sources and a contents list, waiting in WordPress as a draft
What you need before you start.
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
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
Web search
Answers the source agent’s searches with Claude Sonnet 4.5 and its web search tool.
NeedsAnthropic API key
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
Publishing
Takes the finished HTML as a draft post, with a slug made from the title.
NeedsSite address, user name and an application password
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
Checked by Mindket on 13 Nov 2026
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.
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”.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Home services | Owners of plumbing, electrical or roofing firms | Point each article at the service page it should sell | A roofer enters flat roof repair cost with the repair page, and the draft links to that page. |
| Marketing agencies | Content leads | Keep one copy of the workflow for each client, with that client in Client Data | An agency runs the form whenever a client asks for a post, and reviews the draft in that client’s WordPress. |
| Local professional services | Dentists, lawyers and accountants | Pick Commercial or Transactional intent for a page that should bring calls | A dental clinic picks Canada and Commercial for emergency dentist. |
| Software and B2B | Content marketers | Pick Informational intent and an expert audience for a guide | A 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.
Any n8n that can reach Google, DataForSEO, Anthropic, Tavily and your WordPress site will run it.
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.
| Need | Detail |
|---|---|
| n8n | On n8n Cloud or on a server of your own |
| Google AI Studio | A Gemini API key, for every writing and planning step |
| DataForSEO | Your API login and API password, for five research calls |
| Anthropic and Tavily | An API key from each: one for the source search, one to read your page |
| WordPress | A user that can write posts, with an application password |
| An account that can edit the log 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 |
workflow.json.Client Data, replace the four <<YOUR …>> values with your company’s name, website, a short description and a few strengths.2.5 pro, 2.5 PRO and 2.5 Pro.Keyword Ideas, Search Intent, SERP Google, SERP Bing and Related Keywords.url_Search, replace <YOUR_TAVILY_KEY> in the Authorization header with your key, brackets included.Simple_search.Create a post.Append row in sheet and Append row, and replace YOUR_SHEET_ID in both.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.
| To change | Where |
|---|---|
| Your company | The four values in Client Data, which most prompts quote |
| How much research | The JSON bodies of the five DataForSEO nodes: limit, depth, and the volume and competition filters in Keyword Ideas |
| Voice and structure | The system message of AI Generated First Article Draft |
| Which sources | The system message of EEAT Fortification Agent, which asks for public bodies and industry groups and never a competitor |
| Post status | Create a post, which saves a draft |
You send the form with these answers.
| Field | Value |
|---|---|
| Main topic | water heater replacement cost |
| Search intent | Commercial |
| Country and language | United States, English |
| Audience and tone | General Consumers / Public, Friendly & Conversational |
| Page to link to | https://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.
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.
| Step | Model node | What to know |
|---|---|---|
Internal Link Data Prep, SEO Research Analyst and the five analysts | 2.5 pro, temperature 0.6 | The analysts read the Code nodes’ reports, never the raw API answers |
SEO Content Silo Strategist | 2.5 PRO, temperature 0.5 | A parser holds the plan to five fields |
| Draft, sources, edit and final check | 2.5 Pro, temperature 0.7 | The editor polishes the first draft. The source agent only supplies links for it |
Simple_search | claude-sonnet-4-5-20250929 with web search | Up 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.
Each run spends money at four vendors, and two settings do less than they suggest.
gl & hl code reads a field the form never sends, so DataForSEO always researches in English. The README says which name to changeclaude-sonnet-4-5-20250929 on 30 November 2026 and names claude-sonnet-5-5 as the replacement, so pick that in Simple_searchAn 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.
workflow.json: the workflow as n8n exports it, 47 working nodes and four sticky notes that label its stages (Input,README.md: these notes.url_Search is now <YOUR_TAVILY_KEY>.Append row in sheet and Append row ask for YOUR_SHEET_ID and find their tab by name:Articles and Research Data.Filter Google stopped at/^https?:///, and HTML Format stopped at its first closing tag in a regular expression. Mindket put the backslashes back in/[^\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 postjoin('\n') in Append row in sheet. Nothing else in the code changed.workflow.json.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.2.5 pro, 2.5 PRO and 2.5 Pro.Keyword Ideas, Search Intent, SERP Google, SERP Bing and Related Keywords.url_Search, replace <YOUR_TAVILY_KEY> in the Authorization header with your key. The brackets go too, so theSimple_search.Create a post./d/ and /edit. Add aAppend row in sheet and Append row, and replace YOUR_SHEET_ID in both.On Form Submission, use its test address and send one topic. Publish once a draft reaches WordPress.| 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.
On Form Submission takes the topic, the search intent, a country, a language, the audience, a tone and one page of yourClient Data and Prepare data add your company to it, and gl & hl code turns the country and language intoInternal Link Data Prep, an agent, reads your page through url_Search (Tavily's extract endpoint) and returns itsSEO Research Analyst writes five inputs for DataForSEO: a Google query, a Bing query, two short seed keywords and a listMerge waits for all five summaries, and SEO Content Silo Strategist turns them into a plan for one article: its focus,AI Generated First Article Draft writes it in Markdown, with a placeholder link to your page. EEAT Fortification AgentSimple_search (Claude with web search) and returns three or four sources, each with a suggestedTechnical 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 intoFinal Checker reads the HTML once more, and Create a post saves the HTML as a WordPress draft. Append row in sheet logsArticles, and Append row logs the research in Research Data.Client Data, which most prompts quote.Keyword Ideas asks for 44 ideas with a monthly volume overSERP Google reads 44 results and SERP Bing 22.AI Generated First Article Draft. The form's tone and audience reach it onlyEEAT Fortification Agent, which asks for neutral sources such as public agencies andCreate a post saves a draft. Change its status to publish only once you trust the output.gl & hl code reads a field named What language should the content be in?,en). To pass your pick on, change that name in theTarget Language (DataforSEO). The plan's title and keywords still follow the language you picked.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 2Simple_search uses claude-sonnet-4-5-20250929. Anthropic's deprecations page, read on 2 November 2026, retires it on 30claude-sonnet-5-5 as the replacement. Pick it in the node before then.debug_info that Insert Links returns lists which ones did.Structured Output11 connects to nothing and does no work.README.md 8 KB workflow.json 234 KB
Updated by Mindket to the current version of this kit.
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…
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…
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…
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…
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…
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…