build-time · static-only · v1.0

Catch SEO bugs before they ship.

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.

Try it free
no signupno API keysruns offline
site score
82/100
seo-audit ./dist
scanning 248 pages · graph built · pagerank ✓
error canonical.localhost 3 pages → dev host
warn links.broken 7 internal links → 404
warn content.thin 12 pages under 300 words
info sd.opportunity 5 posts qualify for Article
wrote seo-report/ in 1.9s
150+
static checks
12
categories
0
network calls
~2s
per full run
[01]what it checks

Everything that matters, audited at build time.

Blazing fast

Pure functions over your build output, parallelized across worker threads. A full site audits in seconds.

Local-first & private

No crawler, no rendering, no network. Your HTML never leaves your machine — perfect for pre-deploy gates.

Zero cost

No seats, no API keys, no per-page billing. Run it on every commit without watching a meter.

On-page

Titles, descriptions, headings, canonicals & OG — validated and de-duped per page.

Links & architecture

Broken links, orphans, and a PageRank link graph to surface under-linked money pages.

Technical

Sitemaps, robots.txt, redirects, hreflang, pagination & indexability conflicts.

Content

Thin content, near-duplicates, readability, cannibalization & scannability.

Media

Missing alt text, unsized images, oversized files & legacy formats hurting CLS.

Performance

Build-time CWV proxies — LCP images, render-blocking assets & oversized bundles.

Structured data

JSON-LD validation plus opportunities where a page qualifies for missing schema.

Accessibility

The SEO-relevant a11y subset: lang, viewport, labels, ARIA & table semantics.

AI / GEO

Citation-readiness for ChatGPT, Perplexity & friends — llms.txt, answers, tables.

Ecommerce

Product & Offer schema, breadcrumbs, ItemList & thin-category detection (opt-in).

[02]how it works

From zero to a full audit in three steps.

01

Install & run

Point the CLI at your build output. No config needed for a full report.

npx seo-audit ./dist
02

Get a report

It writes a seo-report/ folder of JSON — score, findings & fix cards.

→ seo-report/index.json
03

Explore & gate

Browse issues in the viewer, or wire --fail-on into CI as a hard gate.

seo-audit --fail-on regression
[03]roadmap

Shipped fast. Shipping more.

shipped
  • Regression detection
  • Actionable fix cards
  • Structured-data opportunities
  • Indexability conflicts
  • OG image validation
  • Core Web Vitals proxies
  • Content architecture & PageRank
  • International (hreflang)
planned
  • CI gates — --fail-on-error / --fail-on-warn
  • Pull-request SEO review comments
  • Configurable rules — seo-audit.config.ts
  • Markdown · SARIF · JUnit output
  • Framework presets — Next, Astro, Remix…
  • Entity extraction & topical authority graph
  • Search-intent classification
  • Security & trust signals
[04]who it’s for

Built for developers who ship.

Wired it into my deploy script and immediately caught 4 pages canonicalizing to localhost. Would’ve tanked my launch.
IIndie hackerdocs SaaS
Finally an SEO tool that doesn’t crawl my site or charge per page. It just reads dist/. Runs on every PR now.
SSolo founderB2B micro-SaaS
The link graph found a whole cluster of orphaned posts. Fixed the interlinking and traffic actually moved.
SSmall team leadcontent startup

Ship SEO-clean builds, every time.

Run your first audit in under a minute. No account, no install ceremony, no cost.

Try it now