Most "AI article" tools for WordPress work the same way: one prompt, 2,000 words, paste into the editor, done. The text reads fine, but the page usually fails basic SEO checks. The keyword is missing from the opening, paragraphs run long, there are no sources, and nothing on the site links to the new page.
We build NodeThemes SEO AI, a WordPress SEO plugin, so we already had a list of checks that every page is scored against. When we added an Auto Writer, we set one rule: the writer may not hand a page back until it has run those same checks on its own output and fixed what it can.
This post explains how that pipeline works and why we split it into small steps. The full guide on what AI can and cannot do for WordPress SEO is linked at the end.
One prompt is the wrong unit
A single long prompt has three problems:
- It repeats itself after about 1,000 words.
- It cannot be checked halfway, so one bad section ruins the whole run.
- It hits PHP and host time limits on cheap hosting.
So the Auto Writer works in three kinds of steps, and each step is one AI call:
| Step | What it does | AI calls |
|---|---|---|
| Plan | Focus keyword, title, SEO title, meta description, direct-answer opening, takeaways, section outline, table, FAQ | 1 |
| Section | Writes one H2 section from the outline | 1 per section |
| Finish | Builds the page, adds links, scores it, repairs failures, saves | 0 to 2 |
The steps run as a background job, so a slow AI provider does not freeze the editor.
Budget the keyword per section
Keyword density is easy to get wrong when sections are written separately. If every section is told "use the keyword", a 1,500-word page ends up near 3%, which looks spammy.
Instead, each section gets a share of the budget. The total target is about 1.2% of the words, and each section is told how many times it may use the exact keyword. The opening, two headings and one FAQ question use it first, because the checker looks for the keyword in those places.
Facts the AI was not given become gaps, not guesses
This is the part we care about most. A language model does not know your prices, your opening hours or how many clients you have. If you ask it to write a page anyway, it will invent plausible numbers.
The writer is told to use only what it was given: your notes, your business description and, for WooCommerce products, the product's own name, price, attributes and categories. Anything else must be written as a visible placeholder:
Our team has helped [ADD: number of clients] businesses since [ADD: year]. A page with any [ADD: ...] left in it is never published automatically.
Links: out, in, and checked
- Outbound: the AI suggests up to two sources. Before one is added, the plugin sends a HEAD request to the URL. If it does not answer, the link is dropped. Invented URLs are a real problem with AI writing, and this check removes them.
- Internal: the plugin's own link map picks related pages on your site and inserts links to them.
- Inbound: a new page that nothing links to is an orphan. The writer plans links from related existing pages to the new one, and adds them only when the new page goes live.
Score, repair, then decide
After the page is assembled, the plugin runs its normal analysis: the same SEO score and AI-search score you see on any post. Then it repairs what failed:
- Mechanical fixes first, such as splitting paragraphs that are too long.
- Up to two small AI passes that replace one sentence at a time, aimed only at the checks that still fail.
Then it decides what to do with the result:
if score >= 98 and ai_score >= 98 and no [ADD: ...] left and user can publish: publish (only if you chose "publish") else: save as draft for review The default is always a draft. In our tests, a page on a site with related content reached 100 in both scores. An orphan page on an empty site stopped lower, at 92, because there was nothing to link from. That is the honest result, so the writer reports it instead of hiding it.
What we learned
- Small steps beat one big prompt for quality and for reliability.
- A writer that can read its own score fixes most problems before a human sees them.
- The checker matters more than the prompt. The prompt gets you close; the checks get you to 100.
- Never let AI fill in facts. A visible gap is better than a confident wrong number.
Try it
The free version of NodeThemes SEO AI writes 2 complete pages a month, up to 1,200 words each, using your own OpenAI, Claude or Gemini key. The code is GPL-2.0 on GitHub: https://github.com/nodethemes/nodethemes-seo-ai. The free download is at https://nodethemes.com/free-plugins/.
Disclosure: we are the developers of this plugin.
For the full guide, including when AI is a bad fit and how to review AI edits safely, read What AI can and cannot do for WordPress SEO.
