Open SourceFeatured

SEO Audit CLI

Crawl-based technical SEO audits with JS rendering, Lighthouse, CrUX, reports, and CI diffing.

TypeScriptPlaywrightLighthouseCrUXCheerioVitest

I built this as an open-source alternative for repeatable technical SEO audits. It crawls sites, flags metadata, canonical, hreflang, internal-link, and structured-data issues, can render JavaScript-heavy pages with Playwright, enriches results with CrUX and Lighthouse data, and produces JSON, HTML, text, and PDF reports that can be diffed in CI.

The problem

SEO teams stitch together a crawler, Lighthouse, Search Console, and GA4 to diagnose why a site is not ranking. They manually correlate traffic with technical issues, miss internal-link equity problems, get false alarms on pages with no traffic, and cannot regression-test between audits. SEO Audit ships all of that in one CLI.

The approach

A TypeScript CLI built on Playwright and Lighthouse. The crawler handles sitemaps, retries, redirects, and JS-rendering for SPAs. Fifty-plus checks cover metadata, canonicals, structured data, Core Web Vitals, link equity, and content duplication. Optional CrUX, Search Console, and GA4 enrichment ranks findings by real traffic impact.

Notable decisions

  • Auto-persisted crawls. Every run writes to ~/.config/seo-audit/crawls/<host>/ for diff and regression checks.
  • PageRank computation (damping 0.85, 20 iterations) surfaces money pages getting one internal link.
  • MinHash near-duplicate detection (Jaccard >= 0.85) clusters content across pages.
  • Log-analysis subcommand parses access logs, verifies bots via reverse-DNS, and joins against the persisted crawl for orphan and stale-cache findings.
  • GitHub Action and --fail-on flag for CI gates against regressions.

Status

Published on npm as @davo20019/seo-audit. v0.8.0 released April 2026. Recent work on log analysis, GA4 support, content dedup, and link-graph PageRank.

Want similar work for your team?

AI-native senior engineering for AI, cloud, and web. Open to consulting engagements and full-time roles.