Default output: return only the result, blockers, and required evidence. Omit preambles, process narration, repeated context, confidence scores, and follow-up offers. Use at most five bullets unless a required artifact or schema needs more.
SEO Audit Skill
When to Use
- User says "SEO audit", "check SEO", "lighthouse scan", "performance check", "site audit"
- Need to validate SEO, accessibility, performance, or structured data
Workflow
1. Lighthouse Scan
Run Lighthouse via CLI for both mobile and desktop:
# Install if needed
npx --yes lighthouse
# Run scans
npx lighthouse URL --output=json --output-path=./lighthouse-mobile.json --emulated-form-factor=mobile --quiet
npx lighthouse URL --output=json --output-path=./lighthouse-desktop.json --emulated-form-factor=desktop --quiet
Extract and report:
- Performance (target: 90+)
- Accessibility (target: 100)
- Best Practices (target: 100)
- SEO (target: 90+)
2. Core Web Vitals
From Lighthouse results, extract and assess:
- LCP (Largest Contentful Paint) — target: <2.5s
- FID (First Input Delay) — target: <100ms
- CLS (Cumulative Layout Shift) — target: <0.1
- INP (Interaction to Next Paint) — target: <200ms
- TTFB (Time to First Byte) — target: <800ms
Flag any that fail and identify the cause.
3. Meta Tags Audit
Fetch the page HTML and check:
-
<title>present, 30-60 chars, unique per page -
<meta name="description">present, 120-160 chars - Open Graph tags:
og:title,og:description,og:image,og:url - Twitter Card tags:
twitter:card,twitter:title,twitter:description,twitter:image -
<meta name="viewport">present -
<link rel="canonical">set correctly -
<meta name="robots">not blocking important pages - Hreflang tags for multilingual sites
4. Heading Hierarchy
Parse headings and check:
- Exactly one
<h1>per page - Logical hierarchy (H1 → H2 → H3, no skipping levels)
- Headings contain relevant keywords
- No empty heading tags
5. Image Audit
Scan all <img> tags:
- All images have
alttext -
widthandheightattributes set (prevents CLS) - Images use modern formats (WebP, AVIF)
- Lazy loading applied (
loading="lazy") for below-fold images - No oversized images (check natural vs display size)
- Decorative images have empty alt (
alt="")
6. Link Audit
Check all links on the page:
- No broken internal links (404s)
- No broken external links
- External links use
rel="noopener"fortarget="_blank" - Descriptive anchor text (no "click here")
- No orphaned pages (pages with no internal links to them)
7. Sitemap & Robots.txt
-
sitemap.xmlexists and is valid XML -
sitemap.xmlreferenced inrobots.txt -
robots.txtexists and is not overly restrictive - All important pages are in sitemap
- Sitemap last modified date is recent
8. Structured Data / Schema
Check for JSON-LD structured data:
- Valid JSON-LD present
- Schema type appropriate for page content
- Common schemas: Organization, WebSite, BreadcrumbList, Article, FAQPage, LocalBusiness
- No schema errors or warnings (validate with Google Rich Results Test logic)
-
@idandurlfields consistent
9. Technical SEO
- HTTPS enforced (redirects HTTP → HTTPS)
- WWW/non-WWW canonical redirect
- No mixed content warnings
- Proper 404 page
- 301/302 redirects working correctly
- No redirect chains (3+ hops)
- Compression enabled (gzip/brotli)
- Browser caching headers set
- No render-blocking resources
10. Mobile & Accessibility
- Responsive meta viewport tag
- Touch targets >= 48px
- Text readable without zooming
- No horizontal scroll on mobile
- ARIA labels on interactive elements
- Color contrast ratio >= 4.5:1
- Form labels present
- Skip navigation link
Output Format
═══════════════════════════════════════
SEO AUDIT: [URL]
Date: [YYYY-MM-DD]
═══════════════════════════════════════
LIGHTHOUSE SCORES
Desktop Mobile
Performance [XX] [XX]
Accessibility [XX] [XX]
Best Practices [XX] [XX]
SEO [XX] [XX]
CORE WEB VITALS
LCP: [X.Xs] [✓/✗ target: <2.5s]
FID: [Xms] [✓/✗ target: <100ms]
CLS: [X.XX] [✓/✗ target: <0.1]
META TAGS [✓/✗] [issue count]
HEADINGS [✓/✗] [issue count]
IMAGES [✓/✗] [issue count]
LINKS [✓/✗] [broken count]
SITEMAP [✓/✗]
STRUCTURED DATA [✓/✗]
TECHNICAL SEO [✓/✗]
MOBILE/A11Y [✓/✗]
═══════════════════════════════════════
ISSUES FOUND
═══════════════════════════════════════
🔴 CRITICAL
[Issues that severely impact rankings or UX]
🟡 WARNING
[Issues that should be fixed]
🟢 SUGGESTIONS
[Nice-to-have improvements]
═══════════════════════════════════════
RECOMMENDATIONS
═══════════════════════════════════════
1. [Most impactful fix first]
2. [Second most impactful]
3. [Third]
Usage
# Single page audit
/seo-audit https://example.com
# Full site audit (crawls linked pages)
/seo-audit https://example.com --full
# Compare before/after
/seo-audit https://example.com --compare ./previous-audit.json
Multi-Page Mode (--full)
When --full is specified:
- Start with the provided URL
- Crawl all internal links (same domain)
- Run full audit on each page
- Generate aggregate report with worst offenders
- List pages sorted by score (lowest first)