Twelve weeks ago I started replacing every piece of my SEO workflow with AI. Not because AI is a panacea — read the post on where AI ruins SEO first if you haven't — but because the pieces of SEO that are pattern-matching, structural, and validatable are exactly where AI compounds and where SaaS subscriptions over-charge.
This is the full system. What I actually run, what it costs, what still needs me, and what's coming next. Treat it as a pillar reference — every section links to a deeper post that goes into one piece in detail.
The system, at a glance
Six pieces, each replacing or augmenting a specific SaaS or manual workflow:
| Piece | Replaces | Cost before | Cost now |
|---|---|---|---|
| Keyword research | Ahrefs | €449/month | ~€2/month |
| Content briefs | Agency briefs | €400/brief | €0.30/brief |
| Schema generation | Manual JSON-LD | 1 hr/template | 5 min/template |
| Internal link audit | Screaming Frog + manual | £259/year + 4hrs/audit | €0 + 35 min/audit |
| Weekly monitoring | Semrush | €450/month | ~€2/month |
| AI citation tracking | Manual spot checks | 2 hrs/week | 30 min/week |
Total monthly savings vs the equivalent SaaS stack: around €850/month. Plus reclaimed time. Plus the satisfaction of owning the stack — when something breaks, you can fix it.
The architecture
Three layers:
Layer 1: Data sources
- DataForSEO API — keyword volumes, SERP data, difficulty scores. Pay-per-call. About €0.0001–€0.002 per query.
- Google Search Console — your own site's data. Free.
- PageSpeed Insights API — Core Web Vitals. Free.
- Your own site as content corpus — for internal link audits, brief examples, voice profiling.
Layer 2: Orchestration
- Claude Code — drives every workflow. Reads data, writes briefs, produces analyses, validates schema. Uses MCP servers to call APIs and read local files.
- Python scripts — when an explicit deterministic step is needed (crawler, validator, comparator). Roughly 50–100 lines each.
- Cron + Slack — schedule + alerting. No fancy infra.
Layer 3: Output
- Structured JSON (machine-readable handoff between stages)
- Markdown reports (human review)
- Slack alerts (when something drifts)
- Direct DB writes (when the workflow ends in publishing — e.g., post drafts inserted into the CMS)
That's the entire stack. No SaaS dashboards. No team seats. Just APIs, scripts, prompts, and a terminal.
Piece 1: Keyword research
Deep dive: How I automate keyword research with Claude and DataForSEO
Claude orchestrates DataForSEO calls — keyword expansion, volume lookup, SERP feature detection, intent classification, clustering. Output: per-cluster markdown briefs. Runtime: 8–12 minutes per topic. Cost: about €0.20 per topic.
What this replaces: Ahrefs at €449/month. For a solo operator doing maybe 4–8 topics of research per month, the math is dramatic.
Piece 2: Content brief pipeline
Deep dive: Content brief pipelines with Claude Code
The keyword research output feeds a brief pipeline. JSON-structured briefs with primary keyword, supporting keywords, SERP intel, H2 outline, FAQ candidates, voice notes, and an explicit "things the writer should not do" field.
What this replaces: agency briefs at €300–500 each. Quality is comparable for the structured parts of a brief; better than agency for some, slightly worse for hand-crafted bespoke briefs.
Piece 3: Schema generation
Deep dive: Schema generation with Claude
JSON-LD per page type with a field-allowlist prompt that prevents Claude from inventing fields. Ready-to-copy blocks for BlogPosting, Person, Organization, Product, Service, FAQPage, BreadcrumbList. Includes the @graph pattern for pages with multiple schemas.
What this replaces: handwritten schema (which most sites just don't have) and SaaS schema generators (which produce generic output that doesn't match your entity graph).
Piece 4: Internal link audits
Deep dive: Automating internal link audits with Python and Claude
Python script crawls the site, builds a JSON graph of all internal links + word counts + titles. Claude analyzes the graph for orphans, weak hubs, cluster gaps, and anchor text issues. Output is a 1-page markdown audit with specific recommendations.
What this replaces: Screaming Frog (which crawls but doesn't analyze) + manual audit time (which is the bottleneck).
Piece 5: Weekly monitoring stack
Deep dive: Building a weekly SEO monitoring stack with AI
Four scheduled scripts: canonical drift, schema validation, sitemap drift, Core Web Vitals. Cron + Slack webhook. Catches the bugs that kill indexing — silently and quickly.
What this replaces: Semrush Site Audit (€450/month) plus ContentKing-style real-time monitoring.
Piece 6: AI citation tracking
Deep dive: I asked 5 AI models who the best AI SEO experts are
Weekly spot-checks against ChatGPT, Claude, Perplexity, Gemini, Bing Copilot on relevant queries. Track which engines cite which sources. The data feeds two things: content strategy (which topics should I double down on for citation lift?) and the upcoming LLM Citation Finder tool.
What this replaces: nothing yet. AI citation tracking didn't exist as a category two years ago. This is the new monitoring frontier.
How the pieces connect
End-to-end flow for a typical new post:
- Topic chosen by me (the strategy step AI doesn't do well — see why).
- Keyword research runs (Piece 1). Output: 3–5 keyword clusters with SERP intel.
- Brief generation runs on the most promising cluster (Piece 2). Output: structured JSON brief + readable markdown brief.
- I write the post using the brief as input. AI assists with structural editing only. Voice stays mine.
- Schema generated for the post (Piece 3). Drops into the page template.
- Internal link audit runs after publish (Piece 4). New post gets integrated into the cluster.
- Monitoring watches everything weekly (Piece 5). New post becomes part of the canonical/schema/CWV check set.
- Citation tracking catches whether the post enters AI engine citation graphs (Piece 6).
Steps 1 and 4 are mostly me. Everything else is mostly AI. Roughly: the strategy and the writing are human; the structure and the validation are automated.
What 18 months of running this taught me
1. Stage your pipeline; don't build one giant prompt
The single biggest mistake in AI workflows is monolithic prompts. "Generate a keyword research + brief + schema + internal links + post." That fails opaquely — when something goes wrong, you can't isolate where.
Stage everything. Each stage has a sharp input contract and a sharp output contract. Fails are local. Reruns are local.
Debugging is tractable.
2. Ground every fact in an API or a file
Claude alone hallucinates. Claude with an API call grounds. The rule I run by: if the output contains any factual claim (a number, a URL, a quote, a citation), Claude must have called an API or read a file to source it. Never let the LLM be the data source.
3. Structured output beats prose every time
JSON schema. JSON-LD. JSON output. Markdown with strict heading hierarchy.
Anything machine-parseable beats prose for downstream stages. "Output JSON only. No prose." is the most repeated line in my prompts.
4. Persona profiles save more than you'd think
I maintain a JSON file with my voice profile — sentence rhythm patterns, words to avoid, words to prefer, examples of strong openings, examples of weak openings. Every prompt that touches text references it. Without it, AI output drifts toward average. With it, AI output stays recognizably me — at least at the structural level.
5. The 80/20 of monitoring is canonical + sitemap
You can build elaborate monitoring infrastructure. For 80% of catastrophic SEO bugs, daily canonical + daily sitemap drift catches them. Start there.
6. Don't automate strategy
This is the bright line. Topic selection, pillar emphasis, when to update old posts, whether to chase a keyword — keep these human. AI's strategy recommendations reflect the median advice on the internet, which is rarely the right call for your specific situation.
The cost breakdown
| Item | Monthly cost |
|---|---|
| DataForSEO API (research + monitoring) | ~€8 |
| Anthropic API (Claude orchestration) | ~€5 |
| PageSpeed Insights API | €0 (free quota) |
| GSC + Bing Webmaster Tools | €0 |
| Hosting for cron jobs | €0 (lives on the same server as the site) |
| Total | ~€13/month |
Versus the SaaS-equivalent stack:
| SaaS | Monthly cost |
|---|---|
| Ahrefs Standard | €449 |
| Semrush Pro | €450 |
| ContentKing | €189 |
| Screaming Frog | ~€22 (annual / 12) |
| Total | ~€1,110/month |
The custom stack saves ~€1,100/month. Take-home from this isn't "SaaS bad" — it's that for a solo operator at small scale, the SaaS price-to-value ratio is broken. At enterprise scale, it inverts.
What this system doesn't do
Honest gaps:
- No rank tracking. I gave it up. At small scale, the volatility makes it nearly useless. If you're at agency scale or competing for high-volume terms, you need this.
- No backlink monitoring. I check Ahrefs' free tool once a quarter. That's enough at this stage. For agencies and large sites, no.
- No competitive intelligence. SaaS does this well. The custom equivalent is expensive enough in time that I haven't built it.
- No content brief delivery to writers. The pipeline produces briefs. Getting them into a writer's inbox + tracking completion is still manual. Probably the next thing I'll automate.
If any of these are essential for your work, this stack is incomplete. Add what you need; don't replicate what I have.
The roadmap from here
Three things on my list:
1. Public tools. The canonical URL checker is already live. Schema validator, LLM Citation Finder, and Sitemap Drift Checker are queued. Each tool publicizes the workflow behind it and earns links by being free + useful.
2. Writer-prep pipeline. The handoff from brief to first draft is still manual. I'm experimenting with passing briefs directly into a Claude Code writing session. Works for technical content; doesn't work for narrative content (the voice gap is still too big).
3. Quarterly system audit. Every quarter I'll audit the stack itself — which pieces saved time, which need updating, which are obsolete. The 2024 version of this stack used GPT-4. The 2026 version uses Claude. The 2027 version will use something else.
Stay model-agnostic.
The one thing I'd tell a past version of me
Start smaller than you think.
The first version of this stack tried to do everything at once. It failed because the prompts were too big, the pipelines weren't staged, and I couldn't debug what was going wrong. The current version evolved one piece at a time — keyword research first (Month 1), then briefs (Month 3), then schema (Month 6), then monitoring (Month 9), then citations (Month 12).
Each piece worked before the next was added. You can't build the whole system upfront and expect it to work. You build one piece, run it for a month, find the failure modes, fix them, then add the next piece.
If you're starting from scratch today, build the keyword research piece first. It's the highest-value and the most contained. Add the next piece only when the first one is stable.
FAQ
How long does it take to set up an AI SEO automation system like this?
Each piece takes 4–8 hours of initial setup. The full system over 12 weeks if you do one piece every 2–3 weeks. Faster if you have prior Python/CLI comfort. Slower if you're learning Claude Code in parallel.
Do I need Python skills to build this?
Light Python helps for the deterministic pieces (crawler, validator). Claude Code can write those scripts for you, but you'll want to read what it wrote. JavaScript/Node works equally well — the language doesn't matter, the patterns do.What's the highest-ROI piece to start with?
Keyword research. Replaces the most expensive SaaS subscription with the smallest custom build. Validates the approach quickly.
Can this work for agencies?
Partially. The pieces work for any site. The economics shift — agencies running 50 client sites need rank tracking and backlink monitoring, which this stack doesn't include. The agency version of this would add those pieces and replicate the workflow across clients.Does this replace human SEOs?
No. It replaces the structural and pattern-matching parts of an SEO's job. It leaves the strategy, voice, and judgment parts unchanged. The SEO role shifts from "do everything" to "set strategy and review AI output."
What about AI Overviews and GEO optimization?
Baked in throughout. The schema cookbook, the FAQ patterns, the content brief structure, the citation tracking — all of these are explicitly designed for AI engine eligibility, not just Google ranking. GEO isn't a separate workflow; it's a constraint that runs through every workflow.
How often does the system need updating?
Major changes when a model version changes (every 6–12 months) or when an API changes (variable). Minor changes when a prompt drifts from producing good output (every 4–8 weeks). Plan for ~2 hours/month of maintenance.Is this overengineered for small sites?
The full system, yes. Start with keyword research + canonical monitoring. Add the others only when they earn their place. The mistake is building the whole thing because it sounds cool, then never running half of it.