How I use Claude Code to audit client SEO (with real prompts)
How I leverage Claude Code in real SEO audits: skill orchestration, concrete prompts, integration with DataForSEO and Search Console, what I automate and what stays manual.
I've been using Claude Code — Anthropic's CLI — as a central layer in my day-to-day SEO auditing for months. It's not the only tool and it doesn't replace human judgment. But there's a specific set of tasks where it has changed the pace.
This post is what I actually do, with the real prompts I use, what I automate, and where I still keep my hands in.
What this isn't
- It isn't «AI will replace SEO». It won't. Strategy and judgment decisions remain that no model solves.
- It isn't a Claude vs GPT vs Gemini sales pitch. I use Claude because I've built a stable workflow around it, not because it's the best at everything.
- It isn't an install tutorial. I assume you know what Claude Code is (CLI with MCP, skills, agents, hooks) and have access.
If the «what» and «how» interests you, keep going. If you want a comparative review, this isn't the place.
The stack I actually use
- Claude Code CLI (Anthropic, Opus 4.7 for serious reasoning; Haiku for cheap tasks).
- Active MCPs: Context7 (fresh docs), Playwright (browsing), DataForSEO (real SERP, KW, backlinks, LLM mentions), GitHub.
- In-house skills organised by verticals:
seo-audit-tools,seo-completo,nap-schema-rules,consent-banners-rules, etc. - Subagents for parallel independent tasks (dependency audit + bug audit + on-page SEO audit on the same project at once).
- In-house Python DataForSEO helpers for batches that don't fit through MCP.
Real case 1: express SEO audit for a new client
A firm arrives wanting to know how bad their site is before hiring anything. I charge small setup (€200-400 range by size) and deliver diagnosis in 1-2 days.
Real workflow:
Step 1 — Client discovery (manual, 15 min)
URL, sector, city, what they think is wrong, what they want to achieve. Not automatable because it depends on conversational nuance.
Step 2 — Automated technical audit (Claude + subagents, 20 min)
Approximate prompt I use:
Audit https://myfirm.es with a technical SEO focus for a Spanish local SMB
(legal sector). Run 3 subagents in parallel:
1. ce-repo-research-analyst → identify stack, CMS, critical plugins
2. seo-onpage-reviewer → titles, meta, H1, headings, internal links of top 10 pages
3. dep-auditor → CVEs in dependencies if stack is identifiable
Synthesise in docs/audits/AUDIT_INICIAL.md with prioritised P0/P1/P2/P3 table.
Claude launches the 3 agents, receives the 3 reports, consolidates them in a single doc. I spend more time writing the prompt than executing it.
Step 3 — Real SERP data (DataForSEO MCP, 10 min)
Use DataForSEO to:
- Current organic KWs of myfirm.es (top 30 by impressions)
- Top 10 local SERP for "divorce lawyer terrassa" (location_name: "Terrassa,Catalonia,Spain")
- KW suggestions for "divorce lawyer" with KD<30 and volume>50
- LLM mentions volume for "divorce lawyer" and "how to divorce"
Consolidate in data/research/seo-audit-client.md
DataForSEO MCP returns raw data. Claude formats into a table, identifies opportunity KWs (low KD, interesting volume, current position >20 for the client).
Step 4 — Schema markup audit (Playwright + Claude, 5 min)
With Playwright:
1. Visit myfirm.es and top 5 pages
2. Extract all <script type="application/ld+json">
3. Validate each against schema.org (not Rich Results Test)
4. Identify which Schemas are missing per page type
5. Report in docs/audits/AUDIT_SCHEMA.md
Playwright + Claude detect the site uses generic LocalBusiness instead of LegalService (typical firm issue), missing FAQPage on contact page that does have visible FAQ, and no hasOfferCatalog with broken-down services.
Step 5 — Human synthesis (manual, 30 min)
Here I come in. I read the 3 generated docs, cross-check with step 1 client conversation, and write the final deliverable in professional PDF format. Priority decisions, what to do first by client budget, what to avoid.
Total time: ~90 min of my time (vs 6-8h doing it all by hand before). API cost: ~€3-5 per audit (Claude + DataForSEO combined). Output: same quality or higher — parallel subagents cover more surface than me alone.
Real case 2: generating Schema markup from scratch for a new site
Client with new Next.js site, no Schema, needs LegalService + FAQPage + Article for blog + Service per listed service.
Read the entire site https://theclient.es with Playwright.
For each identified page type (home, services, blog posts, contact):
1. Determine correct Schema (consulting schema.org)
2. Generate JSON-LD adapted to REAL content of that page
3. Validate JSON parseable
4. Save each in app/[locale]/<route>/schema.json
5. Generate a commit with all JSON-LD and a note in docs/schema/CHANGELOG.md
Claude takes ~15 min on the whole site. Then I review each Schema in 30 min, adjust some fields manually. Total 45 min vs 4-6h.
Real case 3: mass review responses
Client with 80+ unresponded Google reviews from the last 6 months.
Read unresponded reviews from https://www.google.com/maps/place/myfirm/.
For each, generate personalised response:
- Professional + warm tone
- Mention specific detail the client mentioned (service, moment, satisfaction)
- If negative: apologise first, propose private resolution
- No copy-paste between reviews
- Maximum 4 lines
- Output in CSV: review_id, author, date, score, original_text, proposed_response
I review each response before publishing (no auto-publish). About 85% I leave as-is, 15% I adjust details. Time: 30 min to review and publish 80 vs 4-5h writing them myself.
What I do automate
- Initial technical audits (parallel subagents).
- Schema markup extraction and validation (Playwright + validation).
- Mass keyword research (DataForSEO MCP + filters).
- Schema draft generation for new pages.
- Mass review responses (always with human review).
- NAP consistency validation cross-checking web vs GBP vs directories.
- Cannibalisation detection between URLs (Search Console queries + cluster analysis).
- AI citation monitoring (disciplined monthly search in ChatGPT, Perplexity, AI Overviews).
What I still do by hand
- Initial client discovery. Nuance, what's intuited, doesn't transcribe to prompt.
- Strategy decision. What to prioritise, what to discard — depends on client context, budget, sector.
- Final report synthesis. AI generates the data, I put the narrative.
- Negotiation and proposal. Zero AI in commercial conversation.
- Legally sensitive cases (firms with clients in delicate processes): zero AI in final copy.
Prompts I do save and reuse
I've packaged the most stable prompts as my own skills. Each skill has:
- Description of when to invoke (CSO format: conditions + symptoms + ES+EN triggers).
- Expected inputs.
- Expected output (path + format).
- Numbered steps.
Public examples on my GitHub (link at end). Some:
seo-audit-tools/— technical audit with parallel subagents.nap-schema-rules/— MUST-level constraint for local Schema and consistent NAP.consent-banners-rules/— GA4 Consent Mode v2 + Spain cookies.copywriting-web-espana/— copy generation adapted to ES SMB tone.humanizer-es/— removes AI tone from generated copy.
The trick isn't the prompt, it's the workflow
Many believe AI's value in SEO is in writing good prompts. It isn't. Value is in:
- Designing the workflow (what tasks + in what order + with what tools).
- Packaging the workflow as skill or executable script, not as ad-hoc prompt each time.
- Deciding where AI adds (data, batch, validation, initial draft) and where it DOESN'T (strategic synthesis, human decision, negotiation).
- Measuring real cost (time saved vs API cost vs output quality) and discarding what doesn't compensate.
An audit with good workflow can be delivered to the client in 1/4 the time it took 18 months ago, with the same or more quality. But that requires building and maintaining the workflow, not plug-and-play.
Real cost
Data from my last month (audits + client maintenance):
- Claude API: ~€80/month (Opus 4.7 + Haiku combined).
- DataForSEO API: ~€120/month (variable by queries).
- Playwright (Bright Data backend): ~€30/month.
- Total AI infra: ~€230/month.
For context, that's roughly equivalent to a junior's hourly cost. With Claude Code the output I produce equals a junior working 60h/week extra.
How to start tomorrow
If you want to replicate part of this:
- Install Claude Code CLI. Official docs:
https://docs.claude.com/en/docs/claude-code. - Activate core MCPs: DataForSEO (essential for SEO), Playwright (for audits), Context7 (fresh docs).
- Build 1 own skill that solves a repetitive task of yours. Start with the most boring and mechanical of your day.
- Measure: time before vs time after. If it doesn't save at least 50%, the skill is badly designed.
- Iterate: first skills are always rough. Version 3 is usually the useful one.
If you're interested in how I apply this on real client projects, it's covered in my SEO audit service and in monthly technical SEO. The Workshop with in-house AI tools is in development (Q3 2026).
