An SEO department packaged as agent instructions
Claude SEO is much larger than a prompt that asks Claude to inspect a page. The plugin contains 25 specialist skills and 18 agents covering technical checks, content quality, structured data, AI-search visibility, local SEO, international targeting, e-commerce, backlinks, semantic clustering, Google APIs, and reporting. A central /seo command routes work to the relevant specialists and can run up to 15 audit agents in parallel before combining their output into a prioritized plan.
That breadth is the project's strongest reason to exist. SEO work is scattered across browser inspection, crawlers, Search Console, analytics, schema validators, keyword sources, and human judgment. Claude SEO provides a common command surface and writes durable local artifacts rather than trapping findings in a hosted dashboard. Its methods are editable files, so an agency can encode its own standards and keep changes under source control.
The core covers a surprising amount
Commands range from full-site and single-page audits to content briefs, schema generation, sitemap work, local search, hreflang, e-commerce, backlink analysis, content drift, and strategic plans. A managed Python runtime supplies deterministic helpers for fetching, rendering, parsing, scoring, and producing reports. Playwright handles many JavaScript applications, while WeasyPrint and matplotlib can produce client-ready PDFs.
The project has made thoughtful currency decisions. Its documentation distinguishes Interaction to Next Paint from the retired First Input Delay, tracks changes in Google's structured-data support, and treats popular AI-search claims cautiously. For example, it does not present llms.txt as a proven Google citation signal. The project points back to primary Google guidance rather than inventing a separate optimization religion for AI results.
Local operation is valuable for privacy and repeatability, but the phrase needs qualification. Audits still fetch the target sites, and Claude Code still performs the reasoning. More importantly, the free core cannot know private Search Console performance, Analytics conversions, actual indexation, or commercial backlink data. Without credentials, Core Web Vitals may be lab estimates and indexation is inferred from page signals. The report can be useful, but it is not evidence that Google indexed a page or that a keyword ranks.
Setup grows with the promised data
The marketplace install is clean on paper: add the repository, install the plugin, then run /seo setup. That setup creates an isolated Python environment and installs Chromium. /seo doctor checks readiness, and the manual scripts support Unix-like systems and Windows. Keeping dependencies out of the global Python installation is the right design.
A basic audit can begin there. The Google integration then adds several credential tiers, from public PageSpeed and CrUX access through OAuth or a service account for Search Console, property configuration for Analytics, and an Ads developer token for Keyword Planner. Optional MCP integrations cover DataForSEO, Firecrawl, Ahrefs, SE Ranking, Profound, Bing Webmaster, Unlighthouse, and an image workflow. Each one changes cost, data handling, permissions, and failure modes.
Do not install all of them on day one. A current pull request says four MCP installers write server entries to settings.json, although Claude Code reads those entries from ~/.claude.json. The installer reports success even when no tools appear. Another report says extension installers assume the manual skill location and can reject a valid marketplace installation. Prove one integration with a small command before adding the next.
Current rough edges are practical, not cosmetic
Version 2.2.4 is active and ambitious, but several open reports affect routine work. One fresh installation reportedly fails its final import validation because trafilatura reaches an HTML-cleaning module split out of lxml. A proposed fix adds the missing package. A PowerShell 5.1 pull request addresses an installer crash when Python candidates receive an empty argument list. These reports make Windows the least predictable starting point despite the project's cross-platform goal.
Schema validation also needs supervision. One report shows valid top-level Schema.org @graph markup being warned about because the validator expects @type on the container rather than its members. Another says the write hook searches for the bare substring REPLACE, so a legitimate product description containing replacement can be treated as placeholder text and blocked. Since the hook covers edits and writes broadly, this can interrupt unrelated project work.
The Unlighthouse wrapper has its own open report: its route cap is said to be ignored, causing larger crawls and a timeout, while the documented result shape does not match the tool's output. These are exactly the details an automated audit must get right. A confident narrative is not useful if the underlying crawl covered the wrong set of pages.
The README is admirably candid about browser limits. Content revealed only after scrolling, opening a modal, clicking a tab, or waiting on a fragile third-party widget may confuse the automatic renderer. The recommended manual visual comparison is sensible. No audit agent removes the need to view the site and reproduce important findings.
Health and the decision
Development health is strong. The repository was pushed in July 2026, release 2.2.4 shipped that month, and issues and pull requests were still moving in August. The release notes report 410 passing tests and extensive fixes across security, portability, APIs, and documentation. The open count includes pull requests as well as issues, so it reflects active contribution along with defects.
Documentation is exceptional in scope: commands, architecture, methodology, migration notes, reference sources, credentials, limits, extensions, and samples are all discoverable. That reduces the risk of treating the output as magic.
Claude SEO is worth using as a structured assistant for an experienced practitioner. It is not a substitute for Search Console, Analytics, a dependable crawler, or direct inspection. Start with one site whose problems you already understand, compare its findings with primary data, disable troublesome hooks if necessary, and add external services only when their evidence changes a real decision.