The Claude SEO Audit Prompt I Use on Every Client (And the Setting Nobody Mentions)
Stop collecting copy-paste prompts. The single most important thing I learned auditing client sites in 2026: the “best” SEO prompt isn’t a magic paragraph – it’s a repeatable structure plus the right effort setting. Page one is full of listicles handing you 25 or 50 prompts. Almost none of them mention that on Claude Opus 4.8, the dial next to the model selector changes your output more than the wording does. That’s the gap. Let me close it.
Here’s the prompt I actually use, and the four things that make it work when the listicle versions are flatline.
The audit prompt (copy this, then read why it’s built this way)
<role>You are a technical SEO auditor with 15 years of experience.
You flag data you don’t have rather than guessing.</role>
<task>From the Google Search Console export below, do four things:
1. Group every page into topic clusters.
2. Flag pages ranking positions 4–10 with CTR below 3% – these are
quick wins. Rank them by impression volume.
3. Identify keyword cannibalization: two or more of my URLs
competing for the same query.
4. Flag content decay: pages whose clicks dropped >20% quarter
over quarter.</task>
<constraints>
– Output one table per task. No prose between tables.
– For ranking position, if the export lacks it, say so – do not estimate.
– Prioritize by business impact, then effort.
</constraints>
<data>[PASTE YOUR FULL GSC EXPORT – not a summary]</data>
Why this beats the listicle prompts
1. The role line forces honesty, not confidence. This is the difference nobody on page one explains well. Claude is genuinely better than ChatGPT at flagging missing data – it will say “I cannot determine ranking position from this input, validate via GSC” instead of inventing a number. The instruction to “flag data you don’t have” weaponizes that. A confident hallucination in a client audit costs you the client.
2. XML tags stop the “lost in the middle” failure. When you paste a 5,000-row crawl export into a model, standard LLMs analyze the first hundred rows, hallucinate the middle, and read the end. Wrapping your data in <data> tags and your orders in <task> tags keeps Claude’s recall high across the whole file. This is a real, measurable structural advantage – and it’s why every serious 2026 prompt is tagged, not prose.
3. “One table per task, no prose” makes it a deliverable. Claude follows table and JSON formats more reliably than ChatGPT across long outputs – and an audit table that drifts into prose halfway through a 50-row output is useless in a client report. You’re not asking for analysis; you’re asking for a document you can hand over.
The part page one misses entirely: effort level
Here’s what I haven’t seen in a single “best prompt” listicle. On Opus 4.8, before you run anything, set the effort dial.
For a four-part audit reasoning across thousands of GSC rows, leave it on High – that’s the recommended default for intelligence-sensitive work, and at High, Claude almost always engages extended thinking to reason through the patterns instead of pattern-matching the first rows. Drop to Medium only for a quick single-page meta check. Reserve Max and Xhigh for long agentic crawls, not a one-shot audit.
The contrarian point: a perfectly worded prompt at low effort produces a shallower audit than a rougher prompt at high effort. Effort amplifies the prompt – it does not replace it, and it does not replace your data. Most people obsess over the prompt wording and never touch the one setting that actually changes the depth of reasoning.
The brief prompt (same skeleton, different job)
The content-brief version reuses the exact same <role><task><constraints><data> skeleton. The only changes that matter:
- Feed it the full text of the current top-five ranking pages, not URLs. Claude can’t see live SERPs, so you are its eyes.
- Add one instruction the listicles forget: “List what all five already cover, then tell me the one angle none of them have.” That single line turns a summarizer into a differentiation engine – and differentiation is the whole ranking game in 2026.
- Tell it to base word count on what actually ranks, not “longer is better.”
The real workflow
One prompt is a tool. The system is: save the skeleton in a Claude Project with your site and brand context loaded, so every prompt inherits it automatically. Then chain – audit prompt feeds the brief prompt feeds the outline. Keyword to publish-ready in under two hours. The prompt was never the asset. The pattern is.
FAQs
1. What’s the single best Claude prompt for an SEO audit? There isn’t one universal paragraph – the best results come from a structured <role><task><constraints><data> prompt run at High effort with your real GSC or crawl export pasted in full. The structure and the data matter more than any specific wording you copy.
2. Why use XML tags in a Claude SEO prompt? Tags separate your instructions from your data, which keeps Claude’s recall high across large exports. Without them, models tend to read the start and end of a big file and hallucinate the middle. Tagging is the difference between a reliable 5,000-row audit and a confident wrong answer.
3. Can Claude pull my ranking positions or search volume itself? No. Claude can’t crawl your site live or access real-time SERP data. You export from GSC, Ahrefs, or Screaming Frog and paste it in – Claude does the clustering, prioritization, and gap analysis on that data. Always validate position-dependent findings against your live tools.
4. What effort level should I use for SEO audits in Claude? High for multi-step audits and briefs that reason across large datasets – it’s the recommended default for analysis-heavy work. Medium suffices for a quick single-page check. Max and Xhigh are built for long agentic runs and aren’t needed for a one-shot audit.
5. How do I stop my Claude audit from sounding generic or hallucinating? Two things: paste real data instead of describing your site, and add a role instruction telling Claude to flag missing data rather than estimate. Generic input produces generic output; a confident guess in a client deliverable is worse than an honest “I can’t determine this from what you gave me.”
Note: effort-level behavior reflects Claude Opus 4.8 documentation as of mid-2026, and model defaults can change between releases – verify the current setting in Anthropic’s docs before standardizing a team workflow.
For more related articles click here: