mrkeyoor.com_
Wed 23 Sept 00:37 UTC
AI Toolsevaluationupdated 26 Aug 2026

claude-seo review

Claude SEO is a Claude Code plugin that turns website auditing into a set of local commands and specialist agent workflows. It checks technical SEO, content, schema, search data, local visibility, and AI citation signals, then writes reports and prioritized actions instead of locking the findings in a vendor dashboard.

+363stars / 7d
Verdict

Our Claude SEO run installed 92 packages and built cleanly, but 2 tests failed when a dry-run hit an HTTP 403 rate limit. Use it as an open, inspectable audit assistant if Claude Code is already part of the job and a human will verify the recommendations. Do not treat its score as search-engine truth, especially without Google data or on sites whose important content appears only after interaction.

We ran it

Lab card: what happened when we ran claude-seoScreenshot of claude-seo (claude-seo.md)
Install✓ · 40s92 packages · 629 MB
Build✓ · 8s
Tests✗ · 20s407 passed · 2 failed · 1 skipped of 409 (pytest)
Known vulns0(pip-audit)
Repo379 files~29,128 lines of source · 4.2 MB · 2 CI workflows · tests dir

Answers from our run

Does claude-seo build from source?

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

Do claude-seo's tests pass?

Not all of them: 407 of 409 passed and 2 failed when we ran the project's own test command (pytest). Some failures need services or credentials a bare container does not have.

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?

People who do not use Claude Code: this package requires its CLI, while the README points Codex users to a separate port.

What are the alternatives to claude-seo?

Codex SEO, SiteOne Crawler, Lighthouse. Our Claude SEO run installed 92 packages and built cleanly, but 2 tests failed when a dry-run hit an HTTP 403 rate limit.

Setup3/540-second install; Playwright and data providers add setup
Docs5/5Commands, limits, credentials, architecture, and uninstall are explicit
Community5/515,338 stars with pushes and issue activity on August 26
Maturity3/5Broad v2 surface, but our suite failed and edge cases remain

Who it’s for

SEO engineers and consultants who already use Claude Code and want editable audit logic.
Agencies that need repeatable markdown, JSON, or PDF deliverables across several sites.
In-house teams willing to connect Google accounts for Search Console, CrUX, and GA4 evidence.
Developers auditing rendered JavaScript sites with Playwright and checking the output by hand.

Who it’s NOT for

People who do not use Claude Code: this package requires its CLI, while the README points Codex users to a separate port.
Buyers expecting Ahrefs-grade backlink data or live AI citation tracking for free: those capabilities come from optional MCP extensions and outside accounts.
Teams that need every finding to be source data rather than model judgment: without Google credentials, indexation is inferred and Core Web Vitals are lab estimates.
Sites dominated by scroll-triggered or click-triggered hydration: the README warns that these pages can produce noisy findings even with Playwright rendering.
Multilingual audits that need proven CJK scoring today: pull request 263 reports that the current tokenizer gives Korean, Japanese, and Chinese text zero tokens.
Windows teams using Git Bash without a trial run: issue 252 reports orphaned reference searches pinning CPU at 100% during an audit.

Setup reality

Our sandbox install at commit 09d37c7 succeeded in 40 seconds, adding 92 packages and using 629 MB. The build passed in 8 seconds. Pytest failed after 20 seconds: 407 passed, 2 failed, and 1 was skipped; both failures ended after a dry-run command received HTTP 403, rate limit exceeded.

The core needs Python 3.10 or newer and Claude Code. /seo setup creates an isolated runtime; Playwright Chromium is optional for SPA rendering and screenshots. Google data, backlink providers, crawling, and citation tracking each require their own credentials or service.

The free local mode still fetches every site you ask it to audit. Without enrichment, indexation is inferred and Core Web Vitals are lab estimates. Interactive hydration can require a separate visual check, and the current Windows Git Bash issue deserves testing before agency-wide rollout.

Claude Code gets 25 SEO skills, not a crawler replacement

Claude SEO packages technical checks, content review, schema inspection, local SEO, international SEO, and AI search analysis as commands inside Claude Code. The orchestrator can dispatch work across 25 sub-skills and 18 specialist agents, then assemble a markdown action plan. That is useful when the desired output is an argued diagnosis a developer can edit. It is less suited to teams that mainly need a giant crawl table with stable columns and filters.

The README is unusually clear about that boundary. Its own comparison says Screaming Frog crawls link graphs deeper and faster, while Ahrefs contributes a proprietary backlink index. Claude SEO can call outside providers through 8 MCP extensions, but it does not recreate their data. The core value is local workflow and synthesis: findings remain files, the instructions are editable, and an auditor can trace why the agent made a recommendation.

Zero-key audits infer indexation instead of observing it

The core plugin runs without paid services, though its evidence changes with the available accounts. With no Google credentials, Core Web Vitals come from lab estimates and indexation is inferred from page signals. Tiered setup can add PageSpeed Insights, CrUX history, Search Console, URL Inspection, GA4, and Keyword Planner. Optional providers cover backlinks, SERPs, AI citations, Bing data, and full-site crawling. Each added source brings its own account, permissions, quota, and failure modes.

Credentials are stored under ~/.config/claude-seo/ with 0o600 permissions according to the README. The plugin says it has no telemetry, though audits necessarily contact the target URLs and any services you configure. That is a reasonable local posture for client work. Agencies should still separate client credentials, review generated shell actions, and record which data sources were active so two audit scores are comparable.

What happened when we ran it

Our sandbox installed commit 09d37c7 in 40 seconds. The Python environment pulled 92 packages and occupied 629 MB. A build completed successfully in 8 seconds. Pip-audit found 0 known vulnerabilities in the installed dependencies. Those results came from an unprivileged Python 3.12 Debian container with 3 CPUs, 8 GB of RAM, and no secrets.

Tests did not pass as a complete step. After 20 seconds, pytest reported 407 passed, 2 failed, and 1 skipped, with exit code 1. The failing log shows scripts/sync_flow.py --dry-run returning code 1 after urllib received HTTP 403 with the message rate limit exceeded. The log does not establish why the rate limit applied, so we would not call this a product defect or dismiss it as harmless network noise.

The checkout contained 379 files, about 29,128 lines of source, and 4.2 MB before installation. It had 2 CI workflows and a tests directory, but no Dockerfile. The passing build and mostly passing suite make the plugin approachable to inspect. The 629 MB environment plus optional Chromium is still larger than the repository's command-file appearance suggests.

Rendered pages work until interaction controls the content

A shared Playwright path lets agents render SPAs instead of auditing only the empty HTML shell. Auto mode looks for hydration markers used by frameworks such as Next.js, React, Vue, Nuxt, and Astro, then switches to rendered fetching. This fixes a basic failure mode of raw HTML auditing and makes the tool more credible for modern marketing sites.

The limitation section names what remains. Content loaded only after scrolling, opening a modal, clicking a tab, or waiting on a race-prone widget can still lead to noisy findings. The advised response is a separate visual agent pass and comparison with raw HTML results. That is manual QA, not a defect in the documentation. Teams with many interactive landing pages should sample difficult templates before trusting a site-wide score.

CJK scoring and Windows search behavior need checking

Pull request 263 reports a concrete international-content gap: the current content tokenizer matches Latin letters, so equivalent Korean text produced 0 tokens in the contributor's reproduction. Japanese and Chinese are named in the same report. Until that change is merged and released, a multilingual publisher should not use the content score to compare CJK pages with English ones. Structural and technical checks may still be useful, but the language-dependent score is not ready for that decision.

Windows has another specific warning. Issue 252 describes reference-file lookups under Git Bash leaving search processes behind and pinning CPU at 100% during /seo audit. The latest release notes say a native PowerShell smoke run was unavailable for v2.2.5, although static regression coverage exists. A Windows agency should trial the exact shell, plugin install path, and cleanup behavior on one machine before making this the default workflow.

Active maintenance does not make the score objective

GitHub recorded 15,338 stars, 41 combined open issues and pull requests, and a last push on August 26, 2026. Release v2.2.5 arrived one day earlier with installer, JSON-LD, rendering, and Google-guidance changes. The dates and issue traffic show active maintenance. They also show how quickly search guidance, integrations, and agent instructions can change underneath a repeatable audit. Pin a release when client reports must be compared over time.

Claude SEO is worth trying for teams that want review logic they can read and modify. Our 40-second install and 8-second build lower the cost of inspection, while the 2 rate-limited test failures argue for running the suite in your own network before adoption. Keep source measurements beside the report, verify high-impact recommendations against Google documentation and live behavior, and use a dedicated crawler when link coverage matters more than narrative diagnosis.

Alternatives

ProjectWhat it isPick it when
Codex SEOA Codex-focused port of the same SEO workflow family.pick this instead when your team works in Codex rather than Claude Code.
SiteOne CrawlerA local website crawler focused on technical quality and repeatable reports.pick this instead when deterministic crawling matters more than agent-written diagnosis.
Lighthouse gh↗Google's browser audit engine for performance, accessibility, and web quality checks.pick this instead when you need browser metrics and CI thresholds without a broad SEO agent workflow.
Screaming Frog SEO SpiderA desktop crawler built for large link graphs, exports, and technical SEO inspection.pick this instead when crawl depth, filters, and bulk exports matter more than editable prompts.

What people are saying

  1. [github-trending] AgriciDaniel/claude-seo

Sources

  1. Claude SEO repository
  2. Claude SEO v2.2.5 release
  3. CJK tokenizer correction
  4. Windows Git Bash CPU report
  5. Common Crawl scoring correction
  6. AI crawler classification correction

More ai tools reviews

bkn-foundry · tokenizers · google-research · A2A · awesome-artificial-intelligence · ncnn · the whole board →