What Claude can and can't do for an SEO audit
Paste a page's HTML or copy into a chat and Claude will give you sensible advice on titles, headings and clarity. What it can't do from a chat is the part an audit depends on: fetch every page of a live site politely, read robots.txt and the sitemap, follow redirects, render pages built with JavaScript, measure Core Web Vitals, or look up where you rank and who links to you. Without that evidence, the advice is a guess.
A Claude Code skill fixes this. A skill is a folder with instructions and tools that Claude loads when a task calls for it. The jev-seo skill gives Claude a crawler, 52 checks tied to Google Search Central, a PageSpeed Insights client, a content judge and a report renderer. Code collects and scores the evidence; Claude reviews it, writes the summary and talks you through it. It is MIT licensed and runs on your own machine. (There is also an unrelated Rust command-line tool with the same name; this page tells them apart.)
Step 1: Install the skill
You need Claude Code, Python 3.10 or newer and git. The PDF renderer needs the Pango text library: brew install pango on macOS, sudo apt install libpango-1.0-0 libpangoft2-1.0-0 on Debian or Ubuntu. Then clone the skill into your Claude Code skills folder and install its requirements:
git clone https://github.com/AgriciDaniel/jev-seo.git ~/.claude/skills/jev-seo
cd ~/.claude/skills/jev-seo
python3 -m venv .venv && . .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
The skill calls python3 from your PATH, so start Claude Code from a terminal where this environment is active. On Windows, run Claude Code inside WSL and follow the Linux steps: the skill's launcher expects a Unix shell.
Optional, for sites whose content only appears after JavaScript runs: pip install playwright && playwright install chromium. Without it those pages are checked from their raw HTML, and the report says so.
Step 2: Add your keys
Open .env and fill in what you have. Keys stay on your machine, and the skill never prints them.
TYPESAFE_API_KEYfor the content review. Every page is rated by Jev, TypeSafe's model, for intent, helpfulness, specificity, trust and how quotable it is for AI answers. A 60-page site costs about one US cent. Without the key the audit still runs, skips the content review and labels the score a partial audit.PAGESPEED_API_KEYfor Core Web Vitals. PageSpeed Insights is free; the key only stops Google rate-limiting you.DATAFORSEO_USERNAMEandDATAFORSEO_PASSWORD, only if you want rankings, keywords, competitors and backlinks. DataForSEO charges per call, about 0.30 USD per site.
Check the setup with bin/jevseo doctor. It lists missing dependencies and which keys it found, never their values.
Step 3: Run /jev-seo on a site
Open Claude Code in any project and type:
/jev-seo https://example.com
Claude confirms the audit has started and runs it in the background, so the conversation never goes quiet. You get one short line per stage as the crawl, the checks, the content review, PageSpeed and the report finish. A typical site takes 1 to 4 minutes. Then Claude reads the findings, checks the most important and the most surprising ones against their evidence, writes an executive summary that may only cite real findings, renders the reports and looks at the PDF before handing it over.
You can steer it in plain words:
- "Audit example.com, up to 100 pages." The default cap is 60 pages; larger sites are sampled and the report says so.
- "Run the full version with rankings and backlinks." Claude tells you the expected DataForSEO cost before it spends anything. The market defaults to the United States in English; name another and it switches.
- "Just the PDF." Formats can be limited to PDF, Excel or Markdown.
Spending has hard caps checked before every request (0.25 USD for the content review and 1.00 USD for DataForSEO by default), and every call is listed in the report's cost ledger.
Step 4: Read the report
Each audit lands in jev-seo-reports/<domain>-<date>/ in your project: report.pdf for clients, report.xlsx to track the work, report.md for GitHub or Obsidian, and the raw audit.json behind all three. Read it in this order:
- The health score starts at 100 and loses points for each finding by severity. It exists to put the work in order. It is not a prediction of rankings or traffic.
- The fix list is the part to act on. Every item has an ID such as
JEV-003, a priority (fix first, plan next, later), an impact figure, an effort band, the evidence it found, what to change and the Google page that says so. - Items marked "to verify" come from content judgments the model wasn't confident about. Treat them as signals worth a look, not verdicts.
- Content quality shows how each page rates and which pages compete for the same search.
- Speed separates field data from real Chrome users over 28 days from a single lab run. Lab scores vary between runs; field data is the one Google uses.
- Rankings, keywords and backlinks appear only in the full version. Volumes, difficulty and traffic are DataForSEO estimates and are labelled that way.
To see what a finished report looks like before you install anything, open the example SEO audit report, a real complete run with its PDF, Excel and Markdown files.
Step 5: Keep going in the same conversation
Claude still has the audit open, so the follow-up work is where the skill pays off. Prompts that work well:
- "Explain the top three fixes in plain words and draft each one as a ticket for our developer."
- "Rewrite the titles and meta descriptions for the pages in the title finding. Keep each under 60 characters."
- "Which pages compete for the same search, and which one should keep it?"
- "Write the client email that goes with this PDF."
- "I've shipped the fixes. Run the audit again, reuse the ranking data, and tell me what changed."
When to use the web version instead
The skill suits people who live in a terminal and don't mind managing Python and API keys. Jev SEO runs the same engine in the browser: paste an address, sign in, and the report is ready in minutes, with nothing to install and no API accounts of your own.
Many people use both: the skill for their own sites, the web version for client reports they need to send with a logo on them.
Common questions
Can I do this in the Claude app instead of Claude Code?
The skill has to reach the live site and run Python on your machine, so it is built for Claude Code. In the Claude app, upload the PDF or report.md from an audit and ask Claude about it, or use the web version.
Does it change anything on my site?
No. It only reads public pages, respects robots.txt and crawl delays, and never goes past logins, paywalls or bot protection. A blocked page is reported as a finding.
Will fixing everything improve my rankings?
Nobody can honestly promise that. The audit tells you what is wrong, why, and what to fix first, with evidence for every item.
Comparing options? See the best Claude SEO tools for what the other skills and MCP servers cover.