I spent months asking Claude to help me with SEO.
And Claude was brilliant. Solid keyword recommendations, detailed competitor analysis, polished content briefs. Everything looked great in the chat window.
Then I checked the numbers. Keyword volumes: invented. Competitive gaps it flagged: nonexistent. The "high-opportunity" pages it recommended were already doing just fine.
So I tried something, and it changed everything.
TLDR: Claude hallucinates SEO strategy when it has no real data about your site. Months of polished-looking nonsense before I figured that out. The 2-phase fix layers live Search Console data on top of Opus 4.8, and it changes what the model is actually capable of for SEO content at scale.
Claude had no idea what was happening on my sites because I'd never given it that data. I just asked questions and waited for expert answers.
And that's not on Claude. Opus 4.8 is the most capable model Anthropic has shipped: it reasons across massive context windows, runs multi-step workflows, coordinates parallel subagents at scale. But it has 1 limitation no prompt can fix: it doesn't know your site. Not your rankings, not which pages are bleeding traffic and which are sitting 3 positions from page 1.
A better prompt is not the fix.
The Second SEO Problem Nobody Talks About
Missing data is only half the problem.
Real SEO is an experimentation problem as much as a knowledge one. Cat and mouse with Google. Testing what actually moves rankings versus what Google says moves rankings (which are often completely different things).
Ask any LLM about backlinks. It will tell you to focus on quality content and earn links naturally. That's the sanitized, Google-approved answer. Every SEO practitioner knows that backlinks are the single most powerful ranking lever, that you build them deliberately, and that the gap between what Google recommends publicly and what actually works in competitive SERPs is enormous.
This is a training data problem. LLMs are trained on published content, and published content on SEO skews heavily toward what's defensible: official Google documentation, approved best practices, conference talks designed not to get anyone banned.
(This is true of most technical knowledge online, by the way. The stuff that gets written down is the stuff people can defend publicly. The stuff that actually moves the needle lives in private Slack channels and the notes of people who've spent years testing things Google would never endorse. SEO is just the most obvious case.)
So Claude fails at SEO for 2 separate reasons: no data about your site, and training that skews toward the official playbook. Fix only 1 of those and you're halfway there.
I Tried to Build This Myself
My first instinct, when I figured all this out, wasn't to find a tool. It was to build one.
Connect my own Search Console. Write a SERP scraper. Build a small data layer on top and feed it into Claude. How hard could it be, honestly. (Famous last words, right up there with "it works on my machine" and "I'll just add 1 more feature.") I do this kind of pipeline work every week. I had a basic version running in a couple of days.
It worked, sort of. I could pull my own rankings, feed them into context, get Claude to generate content briefs that actually referenced real data instead of hallucinated volumes. Then I tried ChatSEO for the first time and ran the same task side by side (same keyword, same prompt structure, same model). The output was structurally different in a way I hadn't expected: the competitive angle it surfaced on a keyword I'd been targeting for months was something I'd missed entirely with my own version. There was something in how it processed SERP patterns, weighted intent signals, cross-referenced keyword difficulty against actual ranking data, that I simply hadn't built. I think the gap is bigger than most devs expect, though maybe I just built mine wrong.
Dropped my own version that week. The right call is sometimes delegating a layer instead of owning it, and this was a clear one.
The 2-Phase Stack
The approach that actually works breaks into 2 phases. Each tool, each reason.
Phase 1 (strategy, one-time): You're exploring data and making decisions. You want it presented visually, not streamed into a chat window.
Phase 2 (production, recurring): You're writing content in a loop. You want speed, consistency, and live data in every session.
Strategy and production are different kinds of work. Using the same tool for both means doing both worse (which is a reasonably expensive mistake when SEO is involved).
Phase 1: Strategy in the ChatSEO UI
Before writing anything, you need a map. This is exploratory, decision-heavy work, and the ChatSEO interface is built for it. 3 plays to run directly in the app:
Keyword research
"Find keyword opportunities for [topic/page]. Rank them by search volume times difficulty times business potential. I want the ones that are actually worth it, not just the biggest volume."
ChatSEO pulls live volume and difficulty and surfaces the opportunities visually. This is work you want to see, not read in a wall of text.
Competitor analysis
"Analyze my 5 biggest competitors. Give me their estimated traffic, domain authority, top keywords, backlink strategy, and content focus. Full picture in 1 view."
You're comparing entities side by side. A visual wins here.
SEO roadmap
"Build me a phased SEO roadmap: quick wins, medium term, long term. Connect each phase to specific keywords and pages."
This becomes your content calendar. Lock it in the UI because you'll come back to it every week.
At the end of Phase 1: a prioritized keyword list, a clear competitive picture, a phased roadmap. Now you switch tools.
Phase 2: Production with Opus 4.8
Once your strategy is locked, content production becomes a recurring job. New article every week. Sometimes more. This is where Opus 4.8 runs the show with ChatSEO feeding it live data via MCP.
Opus 4.8 is the brain. Reasoning, structure, writing in your voice. Its Dynamic Workflows feature can spin up parallel subagents inside a single session (which means it can analyze hundreds of pages simultaneously instead of grinding through them sequentially). Sonnet here is like asking your rogue to tank 😅 Technically possible. Not the build you want.
The ChatSEO MCP is the live data layer. SERPs, keyword volume and difficulty, your Search Console, your site context. It gives Opus what it needs to stop guessing.
I lean toward CLIs for most agent tasks, and the tradeoffs between CLIs and MCP for AI agents are worth understanding before you set this up. But MCP is the right call here: the data layer needs to be live and queryable mid-session, and that's exactly what it handles well.
Setup (once)
- In ChatSEO, connect your site and Google Search Console.
- Add ChatSEO as an MCP connector in your Claude client.
- Select Opus 4.8.
- Paste the system prompt below as your first message, or save it as a project.
Free to start, no card required: chatseo.app
The system prompt
Paste this at the start of every content session:
You are my SEO content engine. You have the ChatSEO MCP connected,
which gives you live SERP data, keyword volume/difficulty, my Search
Console, and my site context. Use it on every task. Never write from
generic best practices when you can pull real data.
For every article I ask for, follow this loop:
1. PULL THE DATA. Use the ChatSEO MCP to fetch the live top 10 for
the target keyword, related keywords, and search intent. Never skip
this step.
2. BUILD THE BRIEF. Output the target keyword, search intent, H2/H3
outline derived from what the top 10 actually covers (content gaps),
entities to include, and target word count based on the SERP.
3. WRITE. Draft the full article in my brand voice. Cover every
subtopic from the top 10 plus at least 1 angle they miss.
4. OPTIMIZE. Add the title tag (60 chars max), meta description
(155 chars max), and an internal linking plan of 5 links to real
pages on my site (pull them via MCP).
5. FLAG. Tell me what data you couldn't pull and what I should
verify before publishing.
Rules: Anchor every claim in MCP data. If you're guessing, say so.
No keyword stuffing. Write for the reader first, the algorithm
second. 1 article per conversation to keep context clean.
The 10 Plays You Can Run
Once the stack is live, these are the prompts for the highest-value tasks. I run most of these weekly.
1. Full SEO audit
"Do a complete SEO audit of my site. What's working, what's underperforming, what's blocking my growth, ranked by impact."
Good quarterly reset. More useful than any manual audit I've run, and considerably less depressing than doing it by hand.
2. High-impact keyword research
"Find keyword opportunities for [topic/page]. Rank by volume times difficulty times business potential."
The scoring formula matters: it stops Claude from defaulting to high-volume terms you'll never rank for.
3. On-page optimization
"Create a page targeting [keyword]."
Opus pulls SERP data first, builds the brief, writes. It won't pad the article with 3 paragraphs explaining what a URL is.
4. Competitor analysis
"Analyze my 5 biggest competitors. Estimated traffic, domain authority, top keywords, backlink strategy, content focus."
Run this when a competitor suddenly outranks you and you don't know why. Usually reveals something obvious you missed.
5. Internal linking
"I want to boost the ranking of [target page URL]. Find the best existing pages on my site to link from, and suggest the exact anchor text."
Underrated. Internal linking is 1 of the fastest ranking levers if you have any content depth at all.
6. Full article from an SEO brief
"Write a complete article targeting [keyword]."
MCP handles the research. Opus handles the writing. This is the core loop everything else feeds into.
7. Indexation audit
"Check my site for indexation issues. Noindex tags, canonical errors, robots.txt, sitemap coverage. Flag anything that should be indexed and isn't."
Run after any major site change or migration.
8. Backlink profile analysis
"Analyze my backlink profile. Referring domain count, anchor text distribution, geographic breakdown, nofollow ratio. Flag anything risky."
Takes 30 seconds. Used to take 1 hour in Ahrefs. Fast travel, essentially.
9. Structured data generation
"Generate the correct structured data for [page]."
Opus identifies your highest-impression page via Search Console and outputs the full JSON-LD. Copy, paste, done.
10. Performance monitoring
"Look at my Search Console data over the last 90 days. Find declining keywords, rising pages, and CTR gaps where I rank well but get no clicks."
Run this monthly. The CTR gap analysis alone has been worth the entire setup for me.
This is the same core pattern as turning Claude Code into a domain-specific workflow engine: give the model a specialized data layer instead of a general one, and the output quality shifts into a different category.
The Weekly Loop
Once it's running, the week looks like this:
Open a new Opus 4.8 conversation with the system prompt pre-loaded. Ask: "Write this week's article targeting [keyword from my roadmap]." Opus pulls live data via MCP, builds the brief, writes, optimizes. You review, adjust tone, publish. Repeat.
Monthly, run a refresh pass:
"Use the ChatSEO MCP to check my Search Console. Find declining articles and pages stuck in striking distance (positions 4-15). Give me the exact edits to push them up."
20 minutes. Has moved more rankings for me than new content in some months.
Strategy, exploration, decisions: ChatSEO UI. Visual, one-time.
Production, repetition, scale: Opus 4.8 with the MCP. Fast, anchored in your real data, not the generic best practices baked into the training corpus.
Claude knows nothing about your SEO out of the box. That's just the starting condition. Give it a live connection to your real data, and it knows everything.
Free to start: chatseo.app
Sources
- ChatSEO: AI-native SEO platform with MCP integration and Search Console connection
- Claude Opus 4.8: the model used for content production in Phase 2
- Google Search Console: the data source that makes the whole stack work
This post may contain affiliate links. If you click them, I might earn a small commission: costs you nothing, and helps me keep shipping quality articles every day for your reading pleasure.
Top comments (0)