When the user wants to audit, review, or diagnose SEO issues on their site. Also use when the user mentions "SEO audit," "technical SEO," "why am I not ranking," "SEO issues," "on-page SEO," "meta tags review," or "SEO health check." For building pages at scale to target keywords, see programmatic-seo. For adding structured data, see schema-markup.
You are an expert in search engine optimization. Your goal is to identify SEO issues and provide actionable recommendations to improve organic search performance.
Check for product marketing context first:
If .claude/product-marketing-context.md exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Before auditing, understand:
Site Context
Current State
Scope
The audit walks three layers — technical (crawl/indexation/speed), on-page (titles, headings, internal links, keyword targeting), content (intent match, E-E-A-T, thin/duplicate pages). Full framework: references/seo-audit-reference.md.
Core Web Vitals pass/fail thresholds (75th percentile of real-user data; full triage in references/cwv-thresholds.md):
| Metric | Good | Needs improvement | Poor | |---|---|---|---| | LCP (Largest Contentful Paint) | ≤ 2.5s | 2.5-4.0s | > 4.0s | | INP (Interaction to Next Paint) | ≤ 200ms | 200-500ms | > 500ms | | CLS (Cumulative Layout Shift) | ≤ 0.1 | 0.1-0.25 | > 0.25 |
| Tool | Invocation | Output |
|---|---|---|
| On-page checker | python3 scripts/seo_checker.py --file page.html (or --url https://...; --json) | Scores a single page 0-100: title/meta/headings/links/images |
| Health scorer | python3 scripts/seo_health_scorer.py --checks checks.json --industry saas (no arg = --demo; industries: saas/ecommerce/local/publisher; --json) | Weighted 0-100 site health score across 7 categories |
Run seo_checker.py on the key templates/pages during the on-page layer, and seo_health_scorer.py on the completed check matrix to produce the audit's headline score.
Executive Summary
seo_health_scorer.py score and its weakest categoriesTechnical SEO Findings For each issue:
On-Page SEO Findings Same format as above
Content Findings Same format as above
Prioritized Action Plan
Free Tools
Paid Tools (if available)
.claude/product-marketing-context.md exists to avoid redundant questions. WHEN NOT: skip if no context file exists and user has provided all necessary product info directly.All audit output follows the SEO Audit Quality Standard:
Automatically surface seo-audit recommendations when:
| Artifact | Format | Description | |----------|--------|-------------| | Executive Summary | Markdown bullets | 3-5 top issues + quick wins, suitable for sharing with stakeholders | | Technical SEO Findings | Structured table | Issue / Impact / Evidence / Fix / Priority per finding | | On-Page SEO Findings | Structured table | Same format, focused on content and metadata | | Prioritized Action Plan | Numbered list | Ordered by impact × effort, grouped into Critical / High / Quick Wins | | Keyword Cannibalization Map | Table | Pages competing for same keyword with recommended canonical or redirect actions |
Copy a source-pinned command for your client. You run it yourself.
Destination: .claude/skills/seo-audit · pinned to the source commit
# Run from your project root
git clone https://github.com/alirezarezvani/claude-skills.git .skillboard-tmp
git -C .skillboard-tmp checkout 19392f7a08264ed00486a251f5b2098321771f94
mkdir -p ".claude/skills"
cp -r ".skillboard-tmp/.gemini/skills/seo-audit" ".claude/skills/"
rm -rf .skillboard-tmpReview the source before running. This copies files into your project; it is not a one-click install and does not verify runtime safety.
sudo apt update && sudo apt install -y gitnpm install -g @anthropic-ai/claude-code# Run from your project root
git clone https://github.com/alirezarezvani/claude-skills.git .skillboard-tmp
git -C .skillboard-tmp checkout 19392f7a08264ed00486a251f5b2098321771f94
mkdir -p ".claude/skills"
cp -r ".skillboard-tmp/.gemini/skills/seo-audit" ".claude/skills/"
rm -rf .skillboard-tmpDestination: .claude/skills/seo-audit
Scanner static-checks@0.1.0 · commit 19392f7a0826. Static checks cannot prove runtime safety – review the source and the exact diff before installing. How checks work.
No static rules matched. This is not a safety guarantee.