Claude SEO

Turn page evidence into a repair plan

Review pages, technical issues, content, and structured data in Claude Code, with evidence and a way to check each recommendation.

By AgriciDaniel

Claude SEO demo

Claude SEO demo

View example source

Hosts listed by the author

  • Claude Code
GitHub stars
24,088
Version
2.5.0
Checked

Start with one page and connect conclusions to evidence

Confirm that the response contains the intended page and its main content before discussing titles, copy, or markup. Record the observation, dependencies, post-fix check, and what would disprove each recommendation. That is easier to act on than a total score alone.

Pick a task and get started

Run all three installation lines inside Claude Code. Replace TARGET_URL, SITE_URL, and FINAL_URL in the prompts. Use the bundled launcher; Claude Code resolves CLAUDE_PLUGIN_ROOT, which should not be assumed to exist in an ordinary terminal environment.

Choose page evidence, technical implementation, content, or markup

Establish collection coverage before prioritizing improvements.

  1. Install and prepare the runtime inside Claude Code

    Run all three lines inside Claude Code. /seo setup downloads dependencies and Chromium; then use /seo doctor to inspect core and browser readiness separately.

    /plugin marketplace add AgriciDaniel/claude-seo
    /plugin install claude-seo@agricidaniel-claude-seo
    /seo setup
    Read the author’s setup guide

    First use: install, setup, doctor, then one page

    After the three installation commands, run /seo doctor. For explicit fields, ask the assistant to use "${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" doctor --json and check ready and browser_ready separately; an exit code of 0 does not establish browser readiness. If the core runtime is missing, use the documented setup path instead of bypassing it with system Python. Create a review directory containing brief.md and evidence/, then use the first prompt. Plugin installation and /seo setup are separate steps; setup actually downloads and writes the runtime.

    Author’s installation and diagnostics guide
  2. Give your AI this first task

    These prompts are editorial task instructions, not audits we performed. First use accesses only the public targets agreed in brief.md. Keep collection scope and permission to change files with the task.

    /seo page TARGET_URL Use brief.md to review this public page only. Do not expand to the whole site, inspect credentials, or call paid or already-configured data extensions. Read the goal, language, and page type. Work in this review directory with evidence/ already created. Through the plugin launcher, run "${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run fetch_page.py "TARGET_URL" --render never --json --output evidence/page.raw.html and save stdout as evidence/page.raw.json. Check status_code, final url, error, too_large, and output_written; record collection time and redirects. A normal process exit does not prove that the response is the intended business page. Identify error pages, login walls, and truncated bodies separately. If main content depends on JavaScript and rendering is allowed in brief.md, use "${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run render_page.py "TARGET_URL" --mode always --json --output evidence/page.rendered.html when browser_ready is true. Save stdout as evidence/page.rendered.json and inspect mode_used, render_engine, render_diagnostics, and the content. Rendering loads page resources; a partial DOM captured after a timeout is not complete coverage. Parse the saved HTML with "${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run parse_html.py evidence/page.raw.html --url "FINAL_URL" --json, saving evidence/page.parsed.json. Replace FINAL_URL with the actual final address. Parse any rendered file separately and compare it, avoiding a fresh fetch that might mix page versions. Review title, description, heading structure, canonical, robots, images, and schema; distinguish extracted fields from content judgments. Do not fill in real Core Web Vitals, Google indexing, or rankings from HTML alone. Deliver PAGE-REVIEW.md and ACTION-PLAN.md with checked and unchecked scope and no more than five prioritized recommendations. Each needs a URL or source location, observation, dependency, post-fix check, and falsification condition. Explain any scoring and unmeasured items; missing data is not a zero score.

  3. Check what you receive

    • Original responses, rendered content when available, and local parsing artifacts.
    • A page review separating observations, judgments, and missing evidence.
    • Prioritized actions with dependencies and checks.
    Read the author’s notes for this task
More about this skill

Claude SEO is Agrici Daniel’s collection of SEO workflows for Claude Code. Skills select checks and organize reports; local scripts fetch, render, parse, and write files; the model interprets evidence and proposes changes. It is not a search platform with its own ranking database, and installing it does not connect every external data source.

Its entry points distinguish page, site, technical, content, and schema work. /seo page is a useful first check; /seo technical examines fetching and implementation; /seo content asks whether the material serves readers; /seo schema compares page facts with markup. A full audit expands collection and selects agents according to the business, data, and available tools.

The useful discipline is requiring an observation, dependencies, a falsification check, and a follow-up indicator for recommendations. In practice, distinguish what the HTML shows, why it may matter, and which additional evidence would establish the effect. Model judgment is not a finding already made by a search engine.

The four tasks below cover page evidence, technical diagnosis, content revision, and structured data. The author’s README also includes an about-page schema report where the founders named in the content and markup differ. That concrete mismatch is easier to verify than a claim that adding markup will increase citations.

Sources and verification

Sources checked

Checked 29 key source files at public commit 6be93f4 and compared them with the v2.5.0 release commit. No upstream scripts or live audits were run.