Writing & Content seo-auditon-page-seotechnical-seoschema--ldhreflanghtml-reportpython-scriptseeat

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.

FollowSkills review · FSRS-2.0
Use with care
57/ 100 5-point scale 2.9 / 5
1 2 3 4 5 6
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.

Evidence confidence:Low Reviewed Sep 10, 2026 Reviewed revision 523bdfb2c94f
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.
Review evidence [1][2][3][4][5][6][7]
See the full review method →

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.

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

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 do you install this skill?

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).

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.

How does this skill compare with similar options?

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.

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