SEO Audit
Ranked, evidence-backed findings beat a 100-item checklist. Fix what blocks indexing first, then what wins clicks, then what improves long-term authority.
Step 1 — Establish the baseline
Collect (paste, do not paraphrase):
curl -sI https://example.com | head -20 # status, redirects, headers
curl -s https://example.com/robots.txt
curl -s https://example.com/sitemap.xml | head -50
curl -sL https://example.com | rg -o "<title>.*</title>|<meta name=\"description\"[^>]*>|<link rel=\"canonical\"[^>]*>|<h1[^>]*>.*</h1>"
npx unlighthouse --site https://example.com # optional, CWV per page
From source: find how metadata is generated (Next.js generateMetadata, Astro layouts, Rails helpers), how the sitemap and robots are produced, and which routes are dynamic.
Ask the user for: target keywords or topics, the top pages by business value, Search Console access or export if available, and the geographic/language markets.
Step 2 — Technical crawl and index checks
- One canonical host and protocol; HTTP→HTTPS and www/non-www redirect with a single 301, no chains.
-
robots.txtdoes not block CSS/JS or important paths; sitemap referenced. - Sitemap contains only 200, canonical, indexable URLs;
lastmodis real; split above 50k URLs. - No accidental
noindex(meta orX-Robots-Tag) on money pages; staging is noindexed. - Canonical tags are absolute, self-referencing, and consistent with pagination and parameters.
- Soft 404s return real 404; deleted pages 410 or redirect to the closest equivalent.
- Rendering: critical content is in the HTML response (SSR/SSG), not injected only client-side. Test with
curlvs browser.