cyberneticlibrary

Detect SEO regressions across site changes

seo-driftskillsetup L26,595
AgriciDaniel/claude-seo
What it does

Capture SEO baselines and detect regressions via page-level diffs

Best for

Catching SEO regressions during site migrations, rewrites, or CMS updates where before/after diffs with triggered rules save investigation time.

Inputs
  • · target URL
  • · optional: existing baseline ID (for targeted comparison)
Outputs
  • · baseline snapshot (title, meta, canonical, h1-h3, schema, OG, CWV, status code, HTML/schema hashes)
  • · comparison diff report (triggered rules, old/new values, severity)
  • · change history across all baselines and comparisons
  • · HTML report with visual diff (optional)
Requires
  • · fetch_page.py (HTML fetch)
  • · parse_html.py (HTML parsing)
  • · pagespeed_check.py (optional, CWV fetch)
Preconditions
  • · target is live and accessible
  • · SQLite directory ~/.cache/claude-seo/drift/ is writable
Failure modes
  • · baseline not found — no prior snapshot exists, compare creates first baseline instead
  • · CWV fetch fails (opt-in, --skip-cwv to bypass)
  • · URL normalization mismatch — same page stored twice under different URL formats
Trust signals
  • · 17 comparison rules across 3 severity levels (CRITICAL, WARNING, INFO)
  • · 13-element baseline capture (title, meta, canonical, robots, h1-h3, schema, OG, CWV, status code, HTML hash, schema hash)
  • · URL normalization (lowercase scheme/host, strip default ports 80/443, sort query params, remove UTM, strip trailing slashes)
  • · SQLite storage with baselines and comparisons tables
  • · git-style history tracking (all baselines per URL, newest first)
  • · optional HTML diff report generation