Writing & Content

SEO Audit (Basic) Skill

Give it a URL and get a structured HTML report of site-level and on-page SEO checks with prioritized fixes.

57/ 100
Use with care

Useful, but reliability, evidence or controls still have material gaps.

See how it was scored ↓
Works as-is in
Codex · Claude Code
Stars
★ 765
Last updated
4mo ago
License
MIT
seo-auditon-page-seotechnical-seoschema--ld
+4hreflanghtml-reportpython-scriptseeat

What does this skill do, and when should you use it?

seo-audit is a lightweight single-page SEO audit skill — the default, quick tier in a repo that bundles a deeper sibling. Python scripts handle deterministic checks (robots.txt, sitemap, 404 handling, canonicalization, JSON-LD schema) and hand structured JSON to the LLM for semantic judgment only on flagged fields (keyword intent, title/meta quality). Findings are rendered into a fixed HTML template saved to reports/. Scope is strictly whitelisted — issues beyond it never appear, and the report ends by suggesting an upgrade to seo-audit-full. MIT-licensed, works with Claude Code, Cursor, and any SKILL.md-compatible agent runtime.

Takes a page URL (optional raw HTML or GSC data) and runs: 1) check-site.py for robots.txt, sitemap.xml, 404 behavior, and URL canonicalization (HTTP→HTTPS, www, trailing slash, canonical match); 2) E-E-A-T trust page checks (About/Contact/Privacy/Terms existence plus footer/nav reachability); 3) check-page.py for URL slug, title, meta description, H1, and canonical, with an optional --keyword flag; 4) i18n/hreflang validation when multilingual signals exist; 5) check-schema.py for JSON-LD @type and required-field validation. Scripts emit JSON (exit 0 = pass/warn, 1 = fail); the LLM reviews only fields flagged llm_review_required, then fills assets/report-template.html and saves reports/<hostname>-<slug>-audit.html with the top 3 priority fixes.

Good fit
  • A site owner or blogger who wants a quick first-pass SEO health check on a published page, delivered as a readable HTML report
  • A marketer handling requests like 'check this page's SEO' who needs a rapid assessment rather than a full technical audit
  • A developer verifying after launch that canonical tags, hreflang, and JSON-LD schema are configured correctly on a new landing page
  • A content team checking whether title, meta description, and H1 semantically cover the target keyword, with concrete rewrite guidance
  • An SEO consultant triaging multiple URLs with the basic tier before deciding which pages warrant a deep audit

How do you install this skill?

Before you use it
  • SSRF protection has a theoretical DNS-rebinding bypass window; use caution in untrusted network environments.
  • No tests or CI evidence; key-path reliability is unverified by execution.
  • check-page.py source is truncated mid slug-check; verify the actual repository file before installing.
  • Outbound fetches use a spoofed browser UA and issue network requests without explicit user confirmation.
  • No changelog or maintenance-ownership statement; long-term maintainability is uncertain.
  • For login-walled, anti-bot, or JS-rendered sites results may be incomplete — partly disclosed but dependent on LLM compliance.
Before you start
Your agent needs
  • Shell / CLI
  • Network access
  • Local filesystem
Install first
  • Python 3
  • pip install requests

Option 1 (CLI, recommended): run npx skills add JeffLi1993/seo-audit-skill, or install just this skill: npx skills add JeffLi1993/seo-audit-skill --skill seo-audit. Option 2 (Claude Code plugin): run /plugin marketplace add JeffLi1993/seo-audit-skill then /plugin install seo-audit-skill. Also run pip install requests (HTML parsing uses the Python stdlib).

Generic route: install into Claude Code manually (macOS / Linux)
tmp="$(mktemp -d)"
git clone --depth 1 https://github.com/JeffLi1993/seo-audit-skill.git "$tmp"
mkdir -p ~/.claude/skills
cp -R "$tmp/seo-audit" ~/.claude/skills/
rm -rf "$tmp"

Generated from the source repository and skill path; it copies only this skill's folder. If the author's install steps above differ, follow those first. To scope it to one project, replace ~/.claude/skills with that project's .claude/skills.

How do you use this skill?

Prompt an agent that supports SKILL.md with something like audit this page: https://example.com. If no keyword is given, the skill infers one from the page's H1, title, and first paragraph and states it before checking. After the scripts run, the report is saved to reports/<hostname>-audit.html and the agent offers to open it. Every fail/warn follows an Evidence / Impact / Fix format, and the report ends with an upgrade prompt to seo-audit-full.

What are this skill's strengths and limitations?

Pros
  • Two-layer Script + LLM architecture: deterministic checks produce JSON, and the LLM only judges flagged semantic fields, limiting hallucination
  • Strict check whitelist with the template as the single source of truth — no improvised 'bonus' findings
  • Produces a standalone HTML file (not raw terminal HTML) with a summary, check tables, and top-3 priority fixes ready to share
  • Explicit positive rules for commonly mis-flagged title elements like years, numbers, and qualifiers
  • MIT license, bilingual README, and real-site report screenshots for reference
Limitations
  • Basic tier only: OG/social tags, PageSpeed, Core Web Vitals, and content quality are explicitly out of scope and belong to the sibling skill
  • With only a URL, the audit relies on visible content and public signals — no source code, GSC data, crawl logs, or performance metrics, and the report states this limitation
  • The deep tier (seo-audit-full) requires a PageSpeed Insights API key and halts without one
  • No repository topics and no evidence of a test suite or third-party validation
  • Footer/nav reachability and soft-404 judgments depend on fetching; JS-rendered pages get some checks marked unverifiable

How does this skill compare with similar options?

Side by side with related skills; every score comes from the same FSRS standard.

Skill FS score Stars Last updated License
SEO Audit (Basic) Skill this page 57 · Use with care ★ 765 4mo ago MIT
SEO Full Audit Skill (seo-audit-full) 52 · Use with care ★ 765 4mo ago MIT
Claude SEO Site Analysis 46 · Use with care ★ 19k 21d ago MIT
International SEO Hreflang Auditor 51 · Use with care ★ 19k 21d ago MIT
On-Page SEO Checker 54 · Use with care ★ 3k 11d ago Apache-2.0

The repo bundles an explicit sibling, seo-audit-full: the full tier adds PageSpeed/Lighthouse scores, a sitemap URL inventory, staging subdomain indexation checks, OG/social tags, content quality scoring, and GSC crawl status, but requires a PageSpeed API key. This skill is the default quick entry; official guidance is to triage with it and upgrade when issues exceed basic scope.

How did FollowSkills review this skill?

FollowSkills review · FSRS-2.0
Use with care
57/ 100 5-point scale 2.9 / 5
1Trust17 / 25 · 3.4/5

Scripts fetch public pages read-only: no writes, no outbound data exfiltration, no credential collection; all fetch scripts implement SSRF protection (blocking private/loopback/reserved IPs), output goes to a local reports/ directory, and data flow is transparent. Deductions: SSRF guard has a DNS-rebinding window (gethostbyname then separate resolution by requests), browser-UA spoofed fetching occurs without explicit user confirmation, and outbound request behavior is only partially disclosed; full marks not reached.

2Reliability9 / 20 · 2.3/5

Scripts are well structured: JSON output, exit-code conventions, readable error messages for timeout/redirect/SSL/connection failures, and an llm_review_required flag cleanly separating script and LLM duties. Deductions: no tests or CI covering key paths in evidence; check-page.py source is truncated mid slug-check, so completeness cannot be statically confirmed; consistency between instructions and template (e.g., 404/canonicalization checks not in check-site.py, delegated to the agent) depends on LLM compliance; failure feedback quality is plausible but unverifiable statically.

3Adaptability11 / 15 · 3.7/5

Trigger phrases, required inputs (URL required; HTML/GSC optional), fit and non-fit boundaries (explicitly excludes deep audits, multi-page, performance, deferring to seo-audit-full), and upgrade prompts are clearly written, giving high semantic trigger precision. Deductions: boundaries rely on LLM self-restraint with no technical enforcement; behavior on anti-bot or login-walled sites is undeclared; applicability of SEO rules to Chinese-language pages is not addressed.

4Convention10 / 15 · 3.3/5

Good layering (SKILL.md → REFERENCE.md → template → scripts), mandatory finding format, rich examples, explicit limitations disclosure, MIT license, and version 1.0. Deductions: no changelog or update path, author is only 'Jeff' with unverified publisher, maintenance ownership unclear, and versioning is minimal with no known-issues list.

5Effectiveness6 / 15 · 2.0/5

Core value proposition is clear: URL in → structured HTML report out; the script+LLM two-layer design can produce Evidence/Impact/Fix findings with a real efficiency advantage over manual audits, and README shows example screenshots. Under static review nothing is executed, so output usability is unconfirmed; deduction for missing executed representative-output verification and comparative-benefit evidence.

6Verifiability4 / 10 · 2.0/5

Code is auditable, README includes real-site screenshots and an architecture explanation, and key claims are traceable at source level. Deductions: no test suite, no third-party execution evidence, sample reports not committed in reviewable form; coverage is thin, yielding a mid-low score within the static cap.

1 2 3 4 5 6

Open a dimension to read why it scored that way

Reviewed Sep 10, 2026 Reviewed revision 523bdfb2c94f Review evidence[1][2][3][4][5][6][7]

Evidence confidence:Low — Mostly static review, author material or a limited demo; useful for discovery, not high-risk decisions.

See the full review method →

FAQ

Does it need an API key or paid service?
No for the basic audit. Only the sibling seo-audit-full needs a Google PageSpeed Insights API key for its PageSpeed checks.
What happens if I only provide a URL?
The report explicitly states the audit uses visible content and public signals only — no source code, GSC data, crawl logs, or performance metrics; items like image alt on JS-rendered pages are marked unverified.
What does the report include, and is the scope fixed?
Scope is strictly fixed: site-level (robots.txt, sitemap, 404, canonicalization, i18n/hreflang), page-level (slug, title, meta description, H1, canonical, image alt, word count, keyword placement, headings, internal links, schema), and E-E-A-T trust pages. Out-of-whitelist 'bonus' checks are banned.
Can I trust the results, or will it hallucinate?
Deterministic facts (HTTP statuses, character counts, XML validity) come from Python scripts that output JSON; the LLM may not contradict script output without additional observable evidence, and only judges fields flagged llm_review_required.

More skills from this repository

All from JeffLi1993/seo-audit-skill

Related skills