SEO Audit
A senior-SEO-consultant audit grounded in fetched, observable evidence — not generic advice. Output is two-track: a plain-English executive summary for non-technical readers, and a detailed technical report with code/config snippets for engineers.
When to use
- The user provides a URL and asks for SEO analysis, ranking help, or a site audit.
- The user shares Google Search Console screenshots or asks why traffic dropped.
- The user wants to compare their site against competitors from an SEO angle.
When NOT to use
- Pure keyword research (no site to audit) → use a keyword-research skill instead.
- Backlink/off-page-only questions → this audit infers authority signals but does not crawl link graphs.
- One-off questions about a single SEO concept ("what is canonical?") → just answer directly.
Step 1 — Ask before auditing (max 4 quick questions)
Phrase questions for a non-technical site owner, not a marketer. Skip any you can already infer from the URL or prior conversation.
-
What do you want this site to do for you? (pick the closest, or describe it)
- Get people to know about it / build my brand
- Get sign-ups, members, or community
- Get donations / financial support
- Get inquiries from partners, sponsors, or clients
- Sell something
- A mix of the above
-
Where are your visitors? — a specific city, country, region, or anywhere worldwide? This shapes local-SEO recommendations. (If the site title already names a place, infer it and just confirm: "I'll assume Singapore-focused — say if that's wrong.")
-
Want me to also check site speed? — Real performance data needs ~1 minute of your time: "Open https://pagespeed.web.dev, paste your URL, share the report link or screenshots. Say no and I'll skip the speed section." Front-load this so the user knows what they're opting in to.
-
(Optional) Competitors — name 1–3 sites you'd like to outrank, or say "you pick."
If the user wants to skip everything, default to: goal = mixed, geography = inferred from the site (state your inference back so they can correct), speed check = ask once before generating the report, competitors = inferred from positioning.
Step 2 — Gather evidence
See references/evidence-gathering.md for the full evidence-gathering protocol (required fetches,
renders, scans, and what to do when a fetch fails).
Step 3 — Distinguish measured vs inferred
Tag every finding in the final report:
- [Measured] — Directly observed in fetched data (e.g., "title tag is 12 chars" — verifiable in HTML).
- [Inferred] — Best-guess from indirect signals (e.g., "likely losing rankings to X" — no GSC data).
- [Needs user data] — Requires GSC / Analytics / rank tracker / log files the user didn't share.
Never present [Inferred] as fact. This is the single biggest credibility risk.
Step 4 — Run the framework
Audit these 16 dimensions. For each, produce findings with evidence + severity + plain-English impact.
- Executive SEO Summary — maturity, top 3 strengths, top 3 weaknesses, biggest ranking blockers.
- Crawlability & Indexability — robots.txt, sitemap, x-robots-tag, orphan risk, AI crawler policy (GPTBot, ClaudeBot, PerplexityBot).
- URL Structure & Canonicalization — readability, parameters, canonical tags, HTTP↔HTTPS, www consistency, trailing slashes.
- Structured Data — focus on currently rich-result-eligible types: Organization, Product, Article/NewsArticle, Breadcrumb, LocalBusiness, Recipe, Event, VideoObject, Course. Do not recommend FAQ or HowTo schema as growth opportunities — Google restricted rich-result display for both in Aug 2023; they're now only shown for select authoritative sites. Still valid as semantic context, not as a SERP play.
- Mobile SEO — content parity desktop↔mobile, hidden important content, CTA visibility, viewport meta. Tap targets: report against WCAG 2.2 SC 2.5.8 (24×24 CSS px), Apple HIG (44pt), Material (48dp) — flag which thresholds fail.
- Performance & Core Web Vitals — LCP, CLS, INP with probable causes (LCP image not preloaded, layout shift from web fonts, INP from heavy JS handler / long tasks / hydration). INP is field-only — synthetic tools give an estimate, not a measurement. Prefer CrUX data when available.
- On-Page (Metadata) — title intent-match (Google rewrites ~60% of titles since 2021, so length is directional, not a hard rule — aim ≤60 char to avoid truncation but optimize for query/intent match first), description length (≤155 char), duplicates, missing, CTR appeal.
- On-Page (Headings & Content) — single H1, hierarchical H2/H3, thin content (<300 words on commercial pages), keyword/intent alignment.
- Content Strategy & E-E-A-T — author bylines, citations, original research, topical clusters, gaps.
- Internal Linking & Architecture — depth from homepage (>3 clicks = buried), anchor text variety, hub-and-spoke structure.
- Image SEO — alt text presence, descriptive filenames, modern formats (WebP/AVIF), explicit width/height (CLS).
- Accessibility ↔ SEO overlap — semantic HTML, contrast, focus states; flag where a11y failures also hurt SEO.
- Local SEO (if applicable) — NAP consistency, GBP signals, LocalBusiness schema, location pages.
- International SEO (if applicable) — hreflang correctness, language switcher, locale URLs.
- AI Search Readiness —
llms.txtpresence and quality, AI crawler allowlist policy (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, OAI-SearchBot), content structured for LLM citation (clear definitions, lists, named-entity clarity, author bios with credentials, dates on every article), Schema.orgAuthor+sameAsfor entity grounding. - Conversion Alignment — CTA placement above fold, trust signals, form friction; would SEO traffic actually convert?
Step 5 — Severity rubric
Use these exact criteria — don't grade on vibes.
| Level | Definition | Example |
|---|---|---|
| Critical | Blocks indexing or causes major traffic loss | noindex on homepage; robots.txt disallowing /; site not crawlable |
| High | Measurable rankings/traffic/conversion impact within 30 days of fixing | Missing title tags; LCP >4s on key pages; broken canonical |
| Medium | Best-practice gap; gradual impact | Thin content; missing schema; weak internal linking |
| Low | Polish; defensive | Missing OG image; minor alt-text gaps |
Step 6 — Produce the report
See references/report-template.md for the report structure and output template (header through
"Top 5 opportunities"), and references/report-findings-example.md for the detailed findings
format, glossary, roadmap, and auto-fix prompt template.
See references/output-and-rules.md for output delivery instructions and hard rules.