TL;DR
Claude SEO (AgriciDaniel/claude-seo) is a free plugin for Claude Code that turns the agent into an SEO auditor. You type /seo audit https://example.com, and up to 17 specialist subagents fan out over the site (technical SEO, content and E-E-A-T, Schema.org, Core Web Vitals, AI search readiness, local, e-commerce) and come back with a prioritized action plan saved as Markdown, with an optional PDF.
Facts as of October 29, 2026:
- 23,675 GitHub stars, 3,178 forks. The repo was created on February 7, 2026.
- 30 open issues (issues only, not pull requests).
- License: MIT.
- Latest release: v2.5.0, published October 22, 2026.
- The repository holds 26 skills, 19 agent files and 76 Python test files; the README badge reports 1,077 passing tests.
- It sits on this week’s GitHub Trending list for both all languages and Python.
Not run by us: our hands-on lab (a throwaway GitHub Actions container) could not start today because GitHub refused the job over a billing limit on the account. Everything below comes from the repository code, the README, the changelog, the agent and skill files, and public community threads. We did not install Claude SEO or audit a site with it.
Our verdict: Claude SEO is the most complete SEO skill pack for Claude Code, and the part that impressed us most on reading the code is not the breadth but the restraint: its rules track Google’s current documentation closely (FAQ rich results retired, HowTo deprecated, INP not FID, GPTBot is not ChatGPT Search), and the bundled Python scripts do the deterministic work so the model is left to interpret. The catches are token cost (five agents run on Opus), lab-only performance data unless you connect Google APIs, and a self-promotional footer it is instructed to append to most reports.
Quick Reference
| Field | Value |
|---|---|
| Repo | AgriciDaniel/claude-seo |
| Author | Agrici Daniel (with the AI Marketing Hub community) |
| Install | /plugin marketplace add AgriciDaniel/claude-seo then /plugin install claude-seo@agricidaniel-claude-seo |
| Requirements | Claude Code 1.0.33+, Python 3.11 to 3.14 |
| Runtime | Its own virtualenv plus headless Chromium (Playwright), built by /seo setup |
| API keys | None required; optional Google, Moz, Bing, DataForSEO, Ahrefs and others |
| Output | Markdown reports, JSON audit data, optional PDF and Excel |
| License | MIT (a private “Pro” build exists for paying community members) |
| Latest | v2.5.0, October 22, 2026 |
What Claude SEO Actually Is
Claude SEO is three things packed into one Claude Code plugin:
- Skills — 26
SKILL.mdfolders (seo-audit,seo-technical,seo-geo,seo-schema,seo-local,seo-driftand so on) that tell Claude what to check and how to score it. A hub skill,seo, routes/seo <command>to the right one. - Agents — 19 subagent definitions in
agents/. Each has a role, a model and a turn budget. Five use Opus (seo-content,seo-geo,seo-cluster,seo-sxo,seo-drift); the other fourteen use Sonnet. - Scripts — about 60 Python tools in
scripts/(render_page.py,parse_html.py,agentic_check.py,sitemap_discovery.py,schema_generate.py,pagespeed_check.py,commoncrawl_graph.py,drift_baseline.pyand more). The agents call them through one launcher:
"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run parse_html.py --url https://example.com
"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" doctor --json
That split is the design idea worth noticing: fetching, rendering, parsing and validating are done by ordinary, tested Python, and the model’s job is judgment. The runtime only runs scripts from an allow-list (ALLOWED_CORE_SCRIPTS in runtime.py), and it redacts emails, tokens and URL query strings from its own error output.
How an Audit Runs
The seo-audit skill spells out the process:
- Render the homepage with
render_page.py --mode auto, which falls back to headless Chromium when a page needs JavaScript (so React, Next.js and Vue sites are audited as visitors see them). - Detect the business type (SaaS, local service, e-commerce, publisher or agency) from homepage signals.
- Crawl up to 500 pages, respecting robots.txt, with 5 concurrent requests, a 1-second delay and 3 redirect hops.
- Spawn subagents. Some always run (technical, content, schema, sitemap, performance, visual, GEO, agentic, SXO). Others run on conditions:
seo-localonly for local businesses,seo-googleonly when Google API credentials are found,seo-driftonly when a stored baseline exists,seo-ecommerceonly for shops. - Aggregate everything into an SEO Health Score from 0 to 100.
- Write
{domain}-audit/FULL-AUDIT-REPORT.md,ACTION-PLAN.md,audit-data.json, per-category findings and screenshots.
The project says a full audit takes 10 to 15 minutes. Its own site, claude-seo.md, is the showcase: the README reports 10.8K Search Console clicks in its first 12 weeks and a 99 mobile PageSpeed score. That is one site, measured and reported by the author, so treat it as a demo rather than a benchmark.
The Commands Worth Knowing
There are 30 core and extension commands. The ones most people will use:
/seo setup # build the Python runtime and Chromium
/seo audit https://example.com # full site audit, parallel agents
/seo page https://example.com/pricing # one page in depth
/seo technical https://example.com # 9-category technical audit
/seo schema https://example.com # detect, validate, generate JSON-LD
/seo geo https://example.com # AI Overviews / ChatGPT / Perplexity readiness
/seo agentic https://example.com # can AI agents use the site?
/seo drift baseline https://example.com # snapshot SEO state before a deploy
/seo drift compare https://example.com # diff against that snapshot afterwards
/seo google report # PDF from audit data (needs Google setup)
Three of these go beyond what classic crawlers do.
/seo geo scores a page for AI search on five weighted dimensions: citability 25%, structural readability 20%, multi-modal content 15%, authority and brand signals 20%, technical accessibility 20%. It checks robots.txt for AI crawlers and, to its credit, gets the crawler taxonomy right. The agent file states plainly that GPTBot is OpenAI’s training crawler, not the ChatGPT Search crawler (that is OAI-SearchBot), that ClaudeBot trains while Claude-SearchBot governs Claude search citations, and that Google-Extended never controls inclusion in Google Search or AI Overviews. A lot of “GEO checklists” still get those wrong.
/seo agentic checks agent readiness: an accessibility tree that agents can navigate, an AI agent access policy, Markdown and discovery files such as llms.txt, and WebMCP. It reports a Lighthouse Agentic Browsing fraction (X of N audits passed). The skill marks llms.txt as optional and notes that Google Search ignores it, which is accurate and refreshingly unhyped.
/seo drift is “git for SEO”: take a SQLite baseline of titles, meta, canonicals, headings and schema, deploy, then compare. It catches a template change silently dropping a canonical tag.
Accuracy: Where It Earns Trust
An SEO tool is only as good as its rules, and SEO folklore ages fast. The hub skill’s quality gates show the authors keep up:
- Never recommend HowTo schema (deprecated in September 2023).
- FAQPage: the skill records that Google retired FAQ rich results for all sites on May 7, 2026. It flags existing FAQPage as Info, not Critical, tells the model not to recommend removing it and not to claim a confirmed AI-citation benefit. That nuance matters: FAQ markup still helps some non-Google surfaces.
- All Core Web Vitals references use INP, never FID.
- Location-page spam guard: a warning at 30+ location pages and a hard stop at 50+ unless the user justifies it.
The v2.5.0 changelog reads like an audit log. It removed keyword-density targets from the page, content and content-brief skills; changed alt-text advice to “descriptive, naming the subject” instead of keyword-rich; recorded the September 2026 spam update as complete; and fixed a reference that had misread a model release date as a shutdown date. It also added a read-only server CVE exposure check to seo-technical that reads the stack from normal response headers and never sends exploit payloads.
There is also a PostToolUse hook: when installed as a plugin, every Edit or Write that touches a file runs hooks/validate-schema.py. Placeholder values or deprecated schema types exit with code 2, which Claude Code feeds back to the model as an error, so generated JSON-LD gets corrected before you ship it. Manual installs copy the hook file but do not enforce it, as the installer warns.
Install and Setup
The recommended path is the plugin marketplace, inside Claude Code:
/plugin marketplace add AgriciDaniel/claude-seo
/plugin install claude-seo@agricidaniel-claude-seo
/seo setup
/seo setup creates an isolated virtualenv (per requirements.txt) and downloads Chromium into the runtime’s own data directory. /seo doctor checks readiness without changing anything. A manual route (git clone then bash claude-seo/install.sh) pins a release tag, currently v2.5.0, and copies skills and agents into ~/.claude/. The README steers Windows users away from irm | iex toward cloning and inspecting install.ps1 first, which is the right call for a tool you will hand shell access.
Who Should Use It
Good fit:
- Developers and indie founders who already live in Claude Code and want a real audit of their own site without a $99 to $999 per month SaaS subscription.
- Freelancers and agencies who want a fast first-call audit and weekly re-checks (
/seo driftbetween them). - Anyone who cares about AI search specifically.
/seo geoand/seo agenticare more current than what most crawl suites ship. - Teams fixing structured data: the schema skill plus the validation hook is a tight loop.
Poor fit:
- Large sites. A 500-page crawl cap and a 1-second delay are polite, not industrial. Screaming Frog or Sitebulb will crawl deeper and faster, and the README itself says so.
- Backlink research at depth. Without paid keys the backlinks agent uses Common Crawl domain-level metrics and its own verification crawler; Moz, Bing and DataForSEO data are tiers you unlock with credentials.
- People without a Claude subscription or API budget. The plugin is free; the tokens are not.
Alternatives
| Tool | Type | Cost | Strength | Weakness vs Claude SEO |
|---|---|---|---|---|
| Claude SEO | Claude Code plugin | Free (MIT) + Claude usage | AI search, explanations, schema loop | 500-page crawl cap, token cost |
| Screaming Frog | Desktop crawler | Free to 500 URLs, paid licence above | Deep, fast crawling, exports | No AI-search scoring, no plain-English plan |
| Ahrefs / Semrush site audit | SaaS suite | Monthly subscription | Own backlink and keyword databases | Expensive, data leaves your machine |
| Lighthouse / Unlighthouse | Local performance audit | Free | Precise lab performance data | Performance and basics only |
Claude SEO integrates two of these rather than replacing them: an Unlighthouse extension for multi-page Lighthouse runs and an Ahrefs extension through the official @ahrefs/mcp server.
Community Reactions
The author’s first r/ClaudeAI post in February 2026 described “12 SEO skills for Claude Code”; by mid-March a “best Claude skill for SEO” thread listed it at 4.2K stars. A French developer on r/programmation describes chaining audit, fix and verify in one session, exactly the loop the tool is built for.
The most visible criticism came in July 2026, in an r/ClaudeAI post titled “PSA: claude-seo (11.5k star Claude Code SEO skill) silently appends a self-promo footer to your audit output, no disclosure”. The behavior is still there in v2.5.0: the hub skill’s “Community Footer” section instructs Claude to end 17 kinds of report (/seo audit, /seo page, /seo geo, /seo schema and more) with “Built by agricidaniel” and two Skool links to the free and paid AI Marketing Hub communities. It is documented in the skill file, so not hidden in the code, but users do not see it until a report ends with it. If you hand reports to clients, delete that section from skills/seo/SKILL.md in your install.
Honest Limitations
- Cost of a full audit. Five agents run on Opus and up to 17 run at once. The README warns that a full audit uses noticeably more of your Claude plan than a single-page check. You can switch any agent to a cheaper model by editing its
model:line inagents/. - Lab data by default. Without Google API keys, Core Web Vitals are estimates and indexing is inferred from the page, as the README admits. Connect PageSpeed Insights, CrUX, Search Console and GA4 (free) with
/seo google setupfor field data. - Your pages go to Anthropic. It runs locally, but the content it analyzes is sent to Claude like anything else in a Claude Code session. Extensions send domains and URLs to their vendors; PRIVACY.md lists each one.
- Model judgment in the scores. The Health Score mixes deterministic checks with model interpretation, so two runs may not score identically. Trust the findings more than the number.
- Uncited correlations. The GEO agent quotes brand-mention correlations (YouTube mentions ~0.737, Domain Rating ~0.266) without saying where they come from.
- Two editions. New features land first in a private build for paying Skool members; the public repo trails.
- Heavy dependency tree. WeasyPrint, matplotlib, the Google Ads client and Playwright are pulled in even for schema checks, and Python 3.15 is not supported yet.
FAQ
Is Claude SEO really free?
Yes. The public repository is MIT licensed with no per-site pricing or usage limits. You pay only for Claude Code usage, plus any paid services you connect through optional extensions (DataForSEO, SE Ranking, Profound, Ahrefs). A private early-access build is sold through the author’s Skool community.
Do I need API keys to use Claude SEO?
No. Core audits work without keys. Free Google APIs (PageSpeed Insights, CrUX, Search Console, GA4) add real field data and indexation status; Moz and Bing keys add backlink data. Keys are stored on your machine.
Does Claude SEO work with other AI coding agents like Codex or Cursor?
It is built as a Claude Code plugin: the subagents, /seo commands and PostToolUse hook rely on Claude Code features. The skill files follow the SKILL.md format, but the full multi-agent audit is Claude Code only. An open issue (#390) proposes Codex support, and the same author maintains a separate ChatGPT SEO project.
How is Claude SEO different from Screaming Frog?
Screaming Frog crawls faster and deeper and is the better tool for large-site crawling. Claude SEO crawls up to 500 pages, then explains what it found, ranks fixes by impact, scores AI search readiness, generates schema, and lets you ask follow-up questions. Many SEOs will use both.
Can it help my site get cited by ChatGPT and Google AI Overviews?
It checks the things that make citation possible: AI search crawlers allowed in robots.txt, server-rendered content, quotable answer passages, authorship and dates, and brand presence on Wikipedia, Reddit, YouTube and LinkedIn. No tool can guarantee citations, and the skill itself follows Google’s position that optimizing for AI search is still SEO.
Bottom Line
Claude SEO is what an SEO skill pack should look like: deterministic scripts for the measurable parts, agents for judgment, rules kept current with Google’s documentation, and a real changelog and test suite. For a site under a few hundred pages that cares about AI search, it is an agency-style audit for the price of tokens. Budget for the Opus agents, connect the free Google APIs for real performance data, strip the community footer before sending reports to clients, and keep a dedicated crawler around for big sites.
Sources
- AgriciDaniel/claude-seo on GitHub — README, stars, forks, open issues, license
- Claude SEO v2.5.0 release
- CHANGELOG.md
- Hub skill (quality gates, community footer)
- seo-audit skill (crawl configuration, output files)
- seo-geo agent (scoring weights, AI crawler rules)
- PRIVACY.md
- Command reference
- r/ClaudeAI: “I built 12 SEO skills for Claude Code (open source)”
- r/ClaudeAI: PSA thread on the self-promo footer
- Google Search Central: AI optimization guide