agentleFS
01clauding01clauding/claude-seo-skill/skills/seo-audit/SKILL.md

seo-audit

Skill4 starsChanged 8 months agoMITView on GitHub

Full website SEO audit with parallel subagent delegation. Crawls up to 500 pages, detects business type, delegates to 6 specialists, generates health score. Use when user says "audit", "full SEO check", "analyze my site", or "website health check".

We split this skill into the rules it gives an agent

1 rule. 0 are common, 1 is distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 166 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use these rules for rapid page-level assessment.

    line 104

“Common” is measured: kept by at least 6 in 10 of the 166 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Full Website SEO Audit

Process

  1. Fetch homepage — use scripts/fetch_page.py to retrieve HTML
  2. Detect business type — analyze homepage signals per seo orchestrator
  3. Crawl site — follow internal links up to 500 pages, respect robots.txt
  4. Delegate to subagents (if available, otherwise run inline sequentially):
    • seo-technical — robots.txt, sitemaps, canonicals, Core Web Vitals, security headers
    • seo-content — E-E-A-T, readability, thin content, AI citation readiness
    • seo-schema — detection, validation, generation recommendations
    • seo-sitemap — structure analysis, quality gates, missing pages
    • seo-performance — LCP, INP, CLS measurements
    • seo-visual — screenshots, mobile testing, above-fold analysis
  5. Score — aggregate into SEO Health Score (0-100)
  6. Report — generate prioritized action plan

Crawl Configuration

Max pages: 500
Respect robots.txt: Yes
Follow redirects: Yes (max 3 hops)
Timeout per page: 30 seconds
Concurrent requests: 5
Delay between requests: 1 second

Output Files

  • FULL-AUDIT-REPORT.md — Comprehensive findings
  • ACTION-PLAN.md — Prioritized recommendations (Critical → High → Medium → Low)
  • screenshots/ — Desktop + mobile captures (if Playwright available)

Scoring Weights

CategoryWeight
Technical SEO25%
Content Quality25%
On-Page SEO20%
Schema / Structured Data10%
Performance (CWV)10%
Images5%
AI Search Readiness5%

Report Structure

Executive Summary

  • Overall SEO Health Score (0-100)
  • Business type detected
  • Top 5 critical issues
  • Top 5 quick wins

Technical SEO

  • Crawlability issues
  • Indexability problems
  • Security concerns
  • Core Web Vitals status

Content Quality

  • E-E-A-T assessment
  • Thin content pages
  • Duplicate content issues
  • Readability scores

On-Page SEO

  • Title tag issues
  • Meta description problems
  • Heading structure
  • Internal linking gaps

Schema & Structured Data

  • Current implementation
  • Validation errors
  • Missing opportunities

Performance

  • LCP, INP, CLS scores
  • Resource optimization needs
  • Third-party script impact

Images

  • Missing alt text
  • Oversized images
  • Format recommendations

AI Search Readiness

  • Citability score
  • Structural improvements
  • Authority signals

Quick Audit Rules (Core Checklist)

Use these rules for rapid page-level assessment. Each rule has an ID, pass condition, and severity.

Core SEO (15 rules)

IDRulePass ConditionSeverity
CS01Title tag existsPresent, 30-60 charsCritical
CS02Title tag uniqueNo duplicates across siteHigh
CS03Meta description existsPresent, 120-160 charsHigh
CS04H1 tag existsExactly one H1 per pageCritical
CS05H1 contains target keywordPrimary keyword in H1High
CS06Heading hierarchy validH1→H2→H3, no skipsMedium
CS07Canonical tag presentSelf-referencing or correct canonicalCritical
CS08URL is cleanLowercase, hyphens, no params, ≤75 charsMedium
CS09Internal links present≥3 internal links per pageHigh
CS10Broken internal linksZero 404s from internal linksCritical
CS11Open Graph tagsog:title, og:description, og:image presentMedium
CS12Language declaredlang attribute on <html>Medium
CS13Viewport meta tagwidth=device-width presentCritical
CS14No duplicate content<15% similarity with other pagesHigh
CS15Keyword in first 100 wordsPrimary keyword appears earlyMedium

Performance (12 rules)

IDRulePass ConditionSeverity
PF01LCP ≤ 2.5sCrUX p75 ≤ 2500msCritical
PF02INP ≤ 200msCrUX p75 ≤ 200msCritical
PF03CLS ≤ 0.1CrUX p75 ≤ 0.1Critical
PF04TTFB ≤ 800msServer responds in ≤800msHigh
PF05Total page weight ≤ 1.5MBCompressed transfer sizeHigh
PF06JS bundle ≤ 300KBCompressed JS totalHigh
PF07No render-blocking resourcesCritical CSS inlined, JS deferredMedium
PF08Images lazy-loadedBelow-fold images use loading="lazy"Medium
PF09HTTP/2 or HTTP/3Protocol upgrade from HTTP/1.1Medium
PF10Compression enabledgzip or brotli on text resourcesHigh
PF11Browser cachingCache-Control headers on static assetsMedium
PF12No excessive redirects≤1 redirect per URLMedium

Links (12 rules)

IDRulePass ConditionSeverity
LK01No broken outbound linksZero 404/5xx from external linksHigh
LK02No orphan pagesEvery page has ≥1 internal link to itHigh
LK03Reasonable link depthAll pages ≤3 clicks from homepageMedium
LK04No excessive outbound links≤100 outbound links per pageMedium
LK05Anchor text descriptiveNo "click here" or empty anchorsMedium
LK06Nofollow used correctlyUGC/sponsored links markedMedium
LK07Sitemap links match live pagesAll sitemap URLs return 200Critical
LK08Breadcrumbs presentBreadcrumbList on subpagesMedium
LK09No redirect chainsMax 1 hop per redirectHigh
LK10Footer/nav links functionalAll nav links resolveCritical
LK11Pagination correctrel="next"/"prev" or load-moreLow
LK12Hreflang reciprocalReturn links present if hreflang usedHigh

Images (10 rules)

IDRulePass ConditionSeverity
IM01Alt text on all imagesNon-decorative images have altCritical
IM02Alt text descriptive10-125 chars, not "image1.jpg"High
IM03Modern format usedWebP or AVIF (not PNG/JPG for photos)Medium
IM04Images properly sizedNo images wider than containerMedium
IM05Responsive imagessrcset/sizes attributes presentMedium
IM06File size reasonableHero ≤200KB, content ≤100KB, thumb ≤50KBHigh
IM07Explicit dimensionswidth/height attributes set (CLS prevention)High
IM08No broken imagesAll img src return 200Critical
IM09Lazy loading below foldloading="lazy" on non-critical imagesMedium
IM10Image filenames descriptive"blue-widget.webp" not "IMG_3847.jpg"Low

Security (10 rules)

IDRulePass ConditionSeverity
SC01HTTPS everywhereNo mixed content, valid SSL certCritical
SC02HSTS headerStrict-Transport-Security presentHigh
SC03X-Content-Type-Optionsnosniff header presentMedium
SC04X-Frame-OptionsDENY or SAMEORIGINMedium
SC05CSP headerContent-Security-Policy presentMedium
SC06No exposed secretsNo API keys/passwords in sourceCritical
SC07SSL cert validNot expired, correct domainCritical
SC08HTTP→HTTPS redirect301 redirect from HTTP to HTTPSCritical
SC09No open directory listingDirectory browsing disabledHigh
SC10Secure cookiesHttpOnly + Secure flags on cookiesMedium

AI/GEO Readiness (10 rules)

IDRulePass ConditionSeverity
AI01AI crawlers allowedGPTBot, ClaudeBot, PerplexityBot not blockedHigh
AI02llms.txt present/llms.txt exists with structured contentMedium
AI03Answer-first contentDirect answer in first 200 wordsHigh
AI04Self-contained answer blocks134-167 word blocks for key topicsHigh
AI05Question-based headingsH2/H3 match search queriesMedium
AI06Statistics with sourcesData points cited with attributionMedium
AI07Author with credentialsPerson schema + bio with expertiseHigh
AI08Entity presenceBrand on Wikipedia/Reddit/YouTubeMedium
AI09SSR for key contentContent visible without JS executionCritical
AI10Structured data coverageSchema on ≥80% of content pagesMedium

Content Quality (11 rules)

IDRulePass ConditionSeverity
CQ01No thin pages≥300 words for content pagesHigh
CQ02Readability appropriateFlesch Reading Ease 60-70 (general), adjust for audienceMedium
CQ03Publication date visibleDate published and/or last updated shownMedium
CQ04Author attributionNamed author with bio linkHigh
CQ05External citations≥2 authoritative external sources citedMedium
CQ06No keyword stuffingPrimary keyword density 0.5-2.5%High
CQ07Unique value propositionContent not duplicated from elsewhereCritical
CQ08Multimedia present≥1 image/video per 500 wordsMedium
CQ09Table of contentsPresent on pages ≥1500 wordsLow
CQ10No outdated contentLast updated within content type's refresh cycleMedium
CQ11Mobile content paritySame content on mobile and desktopHigh

Total: 80 core rules across 7 categories. Use these for rapid assessment; see individual sub-skills for deeper analysis.

Priority Definitions

  • Critical: Blocks indexing or causes penalties (fix immediately)
  • High: Significantly impacts rankings (fix within 1 week)
  • Medium: Optimization opportunity (fix within 1 month)
  • Low: Nice to have (backlog)

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.