mrkeyoor.com_
Sat 07 Nov 06:55 UTC
AI Toolsevaluationupdated 25 Oct 2026

claude-seo review

Claude SEO is an open-source SEO analysis plugin for Claude Code. It coordinates skills and specialist agents for technical SEO, content, structured data, local search and AI search, then saves reports locally. Analysis runs through Claude: local report storage does not mean the model processes your data offline.

+1,515stars / 7d
Verdict

Claude SEO is worth a limited trial for Claude Code users who want editable audit instructions and will verify the resulting recommendations. Our September 27, 2026 run at e77e783 recorded a successful pytest command, but installation output also contains packaging failures, and plugin readiness was not established. Start with one page and inspect the evidence behind its findings before using it for client reports. Audit accuracy, live integrations and ranking outcomes remain unmeasured here.

We ran it

Lab card: what happened when we ran claude-seoScreenshot of claude-seo (claude-seo.md)
Install✓ · 40s95 packages · 595 MB
Build✓ · 6s
Tests✓ · 55s999 passed · 0 failed · 4 skipped of 999 (pytest)
Known vulns0(pip-audit)
Repo435 files~41,631 lines of source · 4.9 MB · 3 CI workflows · tests dir

Answers from our run

Does claude-seo build from source?

Dependencies installed in 40 seconds (95 packages), and the build succeeded in 6 seconds. We cloned commit e77e783 into a clean Debian container with 3 CPUs and no project-specific setup.

Do claude-seo's tests pass?

Yes. The project's own test command finished in 55 seconds and reported 999 passed, 0 failed, 4 skipped (pytest).

Does claude-seo have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use claude-seo?

Teams that need a standalone application without Claude Code.

What are the alternatives to claude-seo?

SiteOne Crawler, ChatGPT SEO. Claude SEO is worth a limited trial for Claude Code users who want editable audit instructions and will verify the resulting recommendations.

Setup2/5Under the visible evidence rubric, documented setup is offset by packaging failures in our September 27, 2026 e77e783 install tail. Exit 0 does not establish plugin readiness.
Docs3/5Installation, architecture and limitations are documented. Pinned and current Python requirements differ, and supplied issues identify integration qualifications.
Community3/5Supplied issues show detailed reports, a maintainer response and a reporter's corrections. Adoption, support speed and sustained support capacity were not measured.
Maturity3/5Our e77e783 pytest command exited successfully and reported 999 passed and 4 skipped. Unique coverage, installed-plugin behavior and live audit quality remain unverified.

Who it’s for

SEO practitioners who already use Claude Code and want to inspect or edit the audit instructions.
Consultants who can check recommendations against page evidence and connected account data.
Teams prepared to record the plugin version, enabled providers and evidence behind each report.

Who it’s NOT for

Teams that need a standalone application without Claude Code.
Buyers who require independently verified, repeatable scoring or proven audit accuracy. Our recorded run establishes neither.
Teams that require all analysis to stay offline: the current README says analyzed pages and data are sent to Claude.
Users expecting reliable findings from content that appears only after scrolling or clicking without a visual cross-check.

Setup reality

In our recorded run on September 27, 2026, at commit e77e783e38eeb738424eb72117abbd2dacdd88af, the install stage returned exit 0 after about 40 seconds. Its raw output nevertheless contains failed editable-build and wheel-build attempts caused by setuptools discovering multiple top-level packages. The stage's success flag does not establish that the Claude Code plugin or its launcher was installed and usable.

The record reports 95 dependencies and a 595 MB environment. A separate build stage returned exit 0 after about 6 seconds, but its retained output is empty and the command is not supplied. That supports reporting the stage result, not a verified distributable build.

The test stage returned exit 0 after about 55 seconds. Its pytest output reports 999 passed, 4 skipped and 1 warning, with pytest itself reporting 46.74 seconds. These are recorded summary counts, not an independently reconciled inventory of unique tests. Pip-audit recorded zero advisories; its package coverage is unknown.

The current README requires Claude Code 1.0.33 or newer and Python 3.11 to 3.14. The pinned e77e783 documentation instead says Python 3.10 or newer. Follow the requirements for the version you install. The documented plugin path uses /seo setup to prepare an isolated Python environment and Chromium, followed by /seo doctor to check readiness. Our record does not verify that path.

A passing test command leaves the audit itself unverified

Claude SEO can organize an SEO investigation inside Claude Code. The useful question is whether its report gives you findings you can check. Our recorded run tested repository code; it did not establish the quality of a website audit or confirm a working Claude Code installation.

The v2.4.0 release documents 26 sub-skills, 19 sub-agents and up to 17 parallel audit agents. The pinned README lists 34 user-invocable commands. These describe the project's documented workflow, not features we exercised. Reports can combine technical, content, schema, local and AI-search findings, but a combined score still needs evidence behind it.

What our September 27 run establishes

Our stored run used commit e77e783e38eeb738424eb72117abbd2dacdd88af on September 27, 2026. Its recorded configuration was 3 CPUs, 8 GB of memory and the image ghcr.io/astral-sh/uv:python3.12-bookworm. The install output identifies Python 3.12.12.

Stage Recorded observation Limit
Install Exit 0 after about 40 seconds; 95 dependencies and 595 MB recorded The raw tail contains failed editable and wheel build attempts. Plugin installation and launcher readiness are unverified.
Build Exit 0 after about 6 seconds The retained tail is empty and the command is unavailable. A usable distribution was not established.
Tests Exit 0 after about 55 seconds; pytest reports 999 passed, 4 skipped and 1 warning in 46.74 seconds Summary counts were not reconciled against complete logs to establish exhaustive unique coverage.
Dependency audit Pip-audit recorded zero advisories The record does not establish which packages it inspected or how many. This is not a safety certification.

The install tail reports setuptools refusing automatic package discovery because it found multiple top-level packages. This qualifies the harness's successful stage flag. It does not show that the documented Claude Code plugin installation is broken: the record does not provide enough command detail to equate the two paths.

The test output also includes a WeasyPrint deprecation warning that HarfBuzz-Subset will be required by future versions. The warning did not make the recorded test command fail. The four skipped tests were not failures.

The checkout metrics were 435 files, approximately 41,631 source lines and 4.9 MB, with three CI workflow files, a tests directory and no Dockerfile. These describe the checkout. They do not measure audit throughput, recommendation accuracy or compatibility across operating systems. No installed-plugin check, live provider workload or human-audit comparison is established by the supplied run.

Match the requirements and data sources to your version

Requirements have changed between the supplied documents. The e77e783 README and architecture documentation describe Python 3.10 or newer; the current README specifies Python 3.11 to 3.14 and Claude Code 1.0.33 or newer. Use the documentation for the version you install rather than combining these into one compatibility claim.

The documented plugin setup prepares an isolated Python environment and Chromium through /seo setup; /seo doctor checks runtime readiness. Those are useful next checks, but our recorded dependency and test stages do not prove they completed.

The README says basic audits can fetch target pages without Google credentials. Without those credentials, Core Web Vitals are lab estimates and indexing is inferred from page signals. Connected Google accounts and optional providers add different evidence. Record which sources were available so a reader can distinguish an observed account result from an estimate.

The current README also clarifies the privacy boundary: pages and data analyzed inside Claude Code are sent to Claude, while reports are saved locally. Optional APIs and extensions add their own data flows. Do not interpret local files as offline analysis.

Check provider reports and model-written calculations

The supplied issue 322 reports a v2.4.0 Google Natural Language failure: the entity request sends languageCode where the v1 endpoint expects language, producing HTTP 400. The reporter also identifies hardcoded English and missing request-body assertions in mocked tests. These are the reporter's findings, not failures reproduced in our sandbox, and they should not be generalized to every version.

Issue 321 reports that v2.4.0 instructions delegate SERP-overlap calculations, geo-grid calculations and weighted-score aggregation to the model. It also reports model pins in all 19 agents. These findings justify checking calculations and model configuration before treating repeated scores as comparable measurements. The local test summary does not establish scoring repeatability.

For DataForSEO, issue 319 distinguishes the documented v2.4.0 pin, dataforseo-mcp-server@2.8.10, from independently installed v3 servers with a different tool interface. The maintainer confirms the v2.4.0 pin. The reporter later retracts claims that the server writes responses to files or always truncates explicit limits to ten items. Do not use those retracted claims to judge the integration, or treat response-example costs as an authoritative price list.

The README separately warns that scroll-triggered content, interaction-dependent content and some widget timing can produce noisy findings. Cross-check the rendered page before acting on a missing-content diagnosis.

Choose the workflow you need

SiteOne Crawler is relevant when collecting crawl results is the main job. Its README documents URL and asset crawling, HTML/JSON/text reports, a native binary and configurable CI thresholds. Those are documented capabilities; this review supplies no comparative performance test.

ChatGPT SEO is relevant when you want to review a page, draft or export in ChatGPT. Its README describes manual ZIP installation, pending public directory approval and account-dependent upload availability. It explicitly excludes a crawler installation and an included Google connection. The current repository says the former Codex implementation is a separate product, so the historical Codex-port reference is not enough to recommend this repository as a current Codex replacement.

Ratings and the next useful check

These are editorial ratings, not benchmark results. The rubric is 1 for substantial documented obstacles, 2 for limited support or major evidence gaps, 3 for a useful documented path with material qualifications, 4 for strong direct evidence with minor gaps, and 5 for broad verification in the stated scope. Unknowns lower confidence; popularity alone does not earn a high score.

Setup earns 2/5 because the documented path exists but our install tail contains packaging errors and readiness is unverified. Documentation earns 3/5 for installation, architecture and limitation coverage, qualified by differing version requirements and integration reports. Community earns 3/5 for concrete public issue reporting, corrections and maintainer participation; adoption and support responsiveness were not measured. Maturity earns 3/5 for the recorded successful test command and versioned release documentation, with live integration and workload behavior still unverified.

For a trial, record the installed version, run the documented readiness check, and audit one page whose content you can inspect. Keep the report's source observations beside its recommendations. Expand the workload only after checking whether the findings and calculations hold up.

Alternatives

ProjectWhat it isPick it when
SiteOne CrawlerA website crawler and analyzer with HTML, JSON and text reports.Choose it when your main task is crawling URLs and assets and inspecting structured reports. Its README documents a standalone native binary and configurable CI thresholds; we did not run it for this review.
ChatGPT SEOAn independent ChatGPT plugin for turning supplied pages, drafts or SEO exports into sourced fix plans.Choose it when you want an evidence-review workflow inside ChatGPT and your account supports plugin uploads. Its README describes manual ZIP installation with public directory approval pending, and says it includes no crawler installation or Google connection.

Sources

  1. Claude SEO repository and README
  2. Claude SEO v2.4.0 release
  3. Architecture documentation
  4. Google Natural Language entity extraction issue
  5. Audit determinism and model-pinning issue
  6. DataForSEO MCP v3 migration issue

More ai tools reviews

T3MP3ST · annotated_deep_learning_paper_implementations · guizang-ppt-skill · copilot-cli · kornia · skills · the whole board →