Skip to content
Julia Raciniewska

SEO

Live

The Two-Tier SEO Content Pipeline: From Keyword Research to Scheduled Drafts

Five purpose-built Claude skills and two scheduled tasks run SEAR's blog — planning separated from writing, with human gates at every publish decision.

Last updated · Tools: Claude (Cowork) skills, Google Search Console MCP, WordPress MCP, BigQuery, Scheduled tasks

The problem

SEAR competes on education: surfers search for surfer's ear, swimmers search for swimmer's ear, and the brands that answer those questions well earn the traffic and the trust. Consistent SEO content requires a chain of work — research, planning, competitor reading, drafting, on-page optimisation, publishing — that a two-person team with full-time jobs cannot sustain manually. And because the topics are health-adjacent, "just let AI publish" was never an option.

The previous manual process

A single post took a full weekend afternoon, and there was no planning layer at all — topics were picked ad hoc, which meant no seasonality, no coverage strategy, and eventually posts competing with each other for the same keyword.

The AI-assisted workflow

The system is five reusable Claude skills orchestrated by scheduled tasks, with planning deliberately separated from writing:

The two-tier content pipeline: planning skills feed a calendar spreadsheet, a scheduled task writes one WordPress draft at a time, and human gates sit before and after

Tier 1 — planning (scheduled). A planning run invokes keyword-researcher, which pulls the real baseline from Search Console (opportunity finder, position tracking, cannibalisation checks), expands seeds through autosuggest, People-Also-Ask and forum language, runs a mandatory EU-language expansion (DE/ES/FR/PT/NL — because EU shipping is a commercial priority the organic traffic didn't reflect), and analyses competitor content for gaps. Then content-calendar-planner maps the surviving keywords onto publish dates using a water-sports seasonality table and content-mix rules, and writes everything into one spreadsheet — content-calendar-active.xlsx — which is the single source of truth for the whole system.

Human gate #1: I review the entire month's calendar before any writing starts, and I can pause any post by changing one status cell.

Tier 2 — writing (Monday and Thursday, 08:00). A scheduled task reads the calendar, picks exactly one row due for writing, and runs pre-flight checks before a word is drafted: brand-rule check, competitor check, and a live cannibalisation check against Search Console. Then seo-blog-writer analyses the current SERP, writes 1,200–2,000 words in SEAR's voice with FAQ sections built from real search questions, adds internal links preferring pages ranking at positions 8–20 (where a link boost matters most), and creates a WordPress draft with meta title and description in place.

Human gate #2: every Friday at 09:00, a review task emails me the week's drafts with edit links and a publishing checklist. Publishing is always my click.

Every action along the way is logged to an append-only BigQuery table — no change happens that isn't recorded.

Human review required

Three layers, by design: the monthly calendar review, the Friday pre-publish review, and a hard rule that medical-adjacent content (maximum one slot per month) carries a review marker and never ships without human eyes. Health topics are why this system drafts more than it publishes.

Outcome

Verified from the calendar file and run logs as of July 2026: the pipeline has produced or refreshed six posts (four published, plus drafts in review), with 37 rows planned across the calendar. The starting point it's working against, from Search Console: our core keywords sat at positions 18–29 with roughly zero click-through — "surfing ear plugs" alone had 163 impressions and 0% CTR over the baseline period. Ranking movement since: [being measured — I'll publish the before/after once there's a meaningful window].

What failed or remained difficult

The most instructive failure: an early run used a cached snapshot of the site's posts instead of checking live WordPress, missed an already-published article, and started drafting a near-duplicate. The pipeline's cannibalisation check caught it mid-run, and the draft was merged into the existing post as a refresh instead — canonical URL and inbound links preserved. The rule that came out of it: never trust a cached inventory; always check the live system.

Also honest: the Friday email's automated send step (via browser automation) failed often enough that the dependable floor became "create the draft, human sends." Automation that ends in a draft is reliable; automation that ends in a browser click is not.

What I would change next time

Build the logging and the pre-flight checks first, not after the first incident. Both were retrofits that should have been foundations.

Reusable lesson

Separate planning from execution, and put the human gate between them. Reviewing a month of intentions takes ten minutes; un-publishing a month of mistakes takes much longer.

Resources

All five skills and the scheduled tasks behind this pipeline are published — sanitised — in the SEAR Plugs optimisation repo, with an "adapting this for your brand" guide. Each skill is triggered by natural language in Claude Cowork; the scheduled tasks run on the cadences noted.

Skills

  • keyword-researcher — say "find keywords for surfer's ear"; pulls the Search Console baseline and expands seeds, including the mandatory EU-language pass.
  • content-calendar-planner — run it after research ("plan next month's content") to map the surviving keywords onto publish dates in content-calendar-active.xlsx.
  • seo-blog-writer"write a post on <keyword>"; analyses the live SERP and creates a WordPress draft with meta title and description in place.
  • seo-site-auditor"audit the site"; the 28-rule health check that routes fixes back to the writer and product optimizer.
  • product-seo-optimizer"optimise product pages"; rewrites WooCommerce copy against the product fact sheet.

Scheduled tasks


← All workflows