/ Directory / Playground / seo-audit-skill
● Community seo-skills ⚡ Instant

seo-audit-skill

by seo-skills · seo-skills/seo-audit-skill

108 SEO audit rules across 12 categories — Core Web Vitals, security headers, structured data, accessibility — run from Claude Code.

SEO Audit Skill wraps a CLI that crawls any URL and evaluates 108 rules across 12 categories: on-page SEO, Core Web Vitals, security headers, structured data, accessibility, crawlability, mobile, i18n, and more. Claude Code invokes it, interprets the report, and drafts actionable fixes grouped by impact.

Why use it

Key features

Live Demo

What it looks like in practice

seo-audit-skill.replay ▶ ready
0/0

Install

Pick your client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "seo-audit-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/seo-skills/seo-audit-skill",
        "~/.claude/skills/seo-audit-skill"
      ],
      "_inferred": true
    }
  }
}

Open Claude Desktop → Settings → Developer → Edit Config. Restart after saving.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "seo-audit-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/seo-skills/seo-audit-skill",
        "~/.claude/skills/seo-audit-skill"
      ],
      "_inferred": true
    }
  }
}

Cursor uses the same mcpServers schema as Claude Desktop. Project config wins over global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "seo-audit-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/seo-skills/seo-audit-skill",
        "~/.claude/skills/seo-audit-skill"
      ],
      "_inferred": true
    }
  }
}

Click the MCP Servers icon in the Cline sidebar, then "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "seo-audit-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/seo-skills/seo-audit-skill",
        "~/.claude/skills/seo-audit-skill"
      ],
      "_inferred": true
    }
  }
}

Same shape as Claude Desktop. Restart Windsurf to pick up changes.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "seo-audit-skill",
      "command": "git",
      "args": [
        "clone",
        "https://github.com/seo-skills/seo-audit-skill",
        "~/.claude/skills/seo-audit-skill"
      ]
    }
  ]
}

Continue uses an array of server objects rather than a map.

~/.config/zed/settings.json
{
  "context_servers": {
    "seo-audit-skill": {
      "command": {
        "path": "git",
        "args": [
          "clone",
          "https://github.com/seo-skills/seo-audit-skill",
          "~/.claude/skills/seo-audit-skill"
        ]
      }
    }
  }
}

Add to context_servers. Zed hot-reloads on save.

claude mcp add seo-audit-skill -- git clone https://github.com/seo-skills/seo-audit-skill ~/.claude/skills/seo-audit-skill

One-liner. Verify with claude mcp list. Remove with claude mcp remove.

Use Cases

Real-world ways to use seo-audit-skill

How to run your first full SEO audit and prioritize fixes

👤 Site owners and SEO practitioners who inherit a site with unknown SEO health ⏱ ~30 min beginner

When to use: New project, new site, or pre-launch checklist.

Prerequisites
  • Skill installed — git clone https://github.com/seo-skills/seo-audit-skill ~/.claude/skills/seo-audit-skill
  • Node 18+ — nvm install 18
Flow
  1. Run full audit
    Run seo-audit-skill on https://example.com — all 108 rules, output markdown.✓ Copied
    → Report with per-rule pass/fail and a category summary
  2. Prioritize by impact
    Group the failures into 'ship this week' (high impact, low effort) vs 'backlog'. Explain the cutoff.✓ Copied
    → Ranked fix list with rationale
  3. Generate fix PRs
    For the top 5 'ship this week' items, draft the code changes in a PR-ready diff.✓ Copied
    → Diffs for meta tags, headers, and structured data

Outcome: A sprint-sized SEO fix list with drafted diffs.

Pitfalls
  • Lighthouse scores vary run-to-run — Run 3 times, take median; skill supports --runs=3
  • Rules flag false positives on JS-heavy SPAs — Use --render=js to enable JS rendering; costs more time
Combine with: trae-skill

Run just the Core Web Vitals checks in CI

👤 Performance engineers wiring SEO to CI ⏱ ~20 min intermediate

When to use: You want a CI gate that blocks regressions in LCP/CLS/INP.

Flow
  1. Scope to CWV category
    Run seo-audit-skill --category=cwv on our staging URL.✓ Copied
    → Just the CWV rules with values
  2. Wrap in CI
    Generate a GitHub Actions step that runs this and fails if LCP > 2.5s.✓ Copied
    → YAML snippet with threshold logic

Outcome: A CI gate that catches perf regressions before prod.

Pitfalls
  • CI runner is slower than users — Use field data via CrUX where possible; treat lab data as a regression detector, not absolute target

Validate and fix structured data (JSON-LD)

👤 Developers wanting rich results in SERPs ⏱ ~25 min intermediate

When to use: Your pages aren't getting rich snippets despite having JSON-LD.

Flow
  1. Scope to structured-data rules
    Run seo-audit-skill --category=structured-data on these 5 URLs.✓ Copied
    → Per-URL list of schema errors and missing required fields
  2. Generate corrected JSON-LD
    For each error, produce the corrected JSON-LD snippet keyed to the page type.✓ Copied
    → Per-page snippets ready to paste

Outcome: Schema.org-valid JSON-LD deployed; ready to re-check via Google Rich Results Test.

Pitfalls
  • Schema valid but Google still doesn't show rich results — Validity is necessary, not sufficient. Check eligibility guidelines for the specific rich result type.

Audit and set security headers

👤 Developers wanting baseline security + SEO signal ⏱ ~45 min intermediate

When to use: securityheaders.com gave you an F and you want to understand why.

Flow
  1. Run security category
    Run seo-audit-skill --category=security on https://example.com.✓ Copied
    → CSP, HSTS, X-Frame-Options, Referrer-Policy status
  2. Generate headers config
    Produce the nginx and Cloudflare Worker configs to set the missing headers safely (report-only CSP first).✓ Copied
    → Copy-paste configs with report-only CSP

Outcome: A secure header config rolled out behind report-only mode.

Pitfalls
  • Enforcing CSP breaks the site — Always start with Content-Security-Policy-Report-Only; watch reports for 1-2 weeks before enforcing

Combinations

Pair with other MCPs for X10 leverage

seo-audit-skill + trae-skill

TRAE scaffolds SEO basics, seo-audit verifies them

Scaffold SEO with TRAE, run seo-audit to verify, fix gaps.✓ Copied
seo-audit-skill + claude-code-owasp-skill

Security-header subset of SEO overlaps with OWASP checks

Run seo-audit security category, then OWASP skill for deeper security review.✓ Copied

Tools

What this MCP exposes

ToolInputsWhen to callCost
full_audit url: str, runs?: int, render?: 'js'|'static' First audit on a site 0
category_audit url, category: 'cwv'|'security'|'structured-data'|... Focused checks or CI 0
diff_fix_generator report, top_n? After audit, to turn findings into PRs Claude tokens

Cost & Limits

What this costs to run

API quota
None. Runs locally via headless Chromium.
Tokens per call
Report interpretation uses 5-15k Claude tokens depending on site size
Monetary
Free
Tip
Use --category= to avoid running all 108 rules when you only need a subset.

Security

Permissions, secrets, blast radius

Credential storage: No credentials
Data egress: Fetches the target URL and its assets. Does not send report to any third party.

Troubleshooting

Common errors and fixes

Puppeteer fails to launch

Install Chrome dependencies: apt-get install libgbm1 libnss3 (Linux) or run npx puppeteer browsers install chrome

Verify: node -e 'require("puppeteer").launch().then(b=>b.close())'
Rules flag modern JS framework features as problems

Use --render=js so the audit runs post-hydration

All CWV rules report N/A

Lighthouse lab mode; on slow connections it times out. Increase --timeout.

Alternatives

seo-audit-skill vs others

AlternativeWhen to use it insteadTradeoff
Google Lighthouse CLIYou only need the canonical CWV/perf subsetNo structured-data or SEO-specific rules
Screaming FrogYou need enterprise-grade crawling of large sitesPaid, desktop app, not LLM-integrated

More

Resources

📖 Read the official README on GitHub

🐙 Browse open issues

🔍 Browse all 400+ MCP servers and Skills