Blazing fast
Pure functions over your build output, parallelized across worker threads. A full site audits in seconds.
A build-time SEO auditor that reads your dist/ and flags 150+ issues — broken canonicals, thin content, missing schema. Local-first, zero-cost, fast enough for every commit.
Pure functions over your build output, parallelized across worker threads. A full site audits in seconds.
No crawler, no rendering, no network. Your HTML never leaves your machine — perfect for pre-deploy gates.
No seats, no API keys, no per-page billing. Run it on every commit without watching a meter.
Titles, descriptions, headings, canonicals & OG — validated and de-duped per page.
Broken links, orphans, and a PageRank link graph to surface under-linked money pages.
Sitemaps, robots.txt, redirects, hreflang, pagination & indexability conflicts.
Thin content, near-duplicates, readability, cannibalization & scannability.
Missing alt text, unsized images, oversized files & legacy formats hurting CLS.
Build-time CWV proxies — LCP images, render-blocking assets & oversized bundles.
JSON-LD validation plus opportunities where a page qualifies for missing schema.
The SEO-relevant a11y subset: lang, viewport, labels, ARIA & table semantics.
Citation-readiness for ChatGPT, Perplexity & friends — llms.txt, answers, tables.
Product & Offer schema, breadcrumbs, ItemList & thin-category detection (opt-in).
Point the CLI at your build output. No config needed for a full report.
npx seo-audit ./distIt writes a seo-report/ folder of JSON — score, findings & fix cards.
→ seo-report/index.jsonBrowse issues in the viewer, or wire --fail-on into CI as a hard gate.
seo-audit --fail-on regressionWired it into my deploy script and immediately caught 4 pages canonicalizing to localhost. Would’ve tanked my launch.
Finally an SEO tool that doesn’t crawl my site or charge per page. It just reads dist/. Runs on every PR now.
The link graph found a whole cluster of orphaned posts. Fixed the interlinking and traffic actually moved.
Run your first audit in under a minute. No account, no install ceremony, no cost.