seo-drift
SEO drift monitoring that captures baselines of SEO-critical page elements, detects changes across 17 rules at three severity levels, and tracks regressions over time using local SQLite storage.
Catch SEO regressions before they cost rankings
Trigger phrases
Phrases that activate this skill when typed to Claude Code:
SEO driftbaselinetrack SEO changesSEO regressiondeployment check
What it does
seo-drift is a Claude Code skill from AgriciDaniel’s claude-seo repo. It is described as “git for your SEO” — you capture a baseline of a page’s SEO state before a deployment or at a known-good moment, then compare later to see exactly what changed. The baseline captures 14 elements: title tag, meta description, canonical URL, robots directives, H1/H2/H3 arrays, JSON-LD schema blocks, Open Graph tags, Core Web Vitals, HTTP status code, and SHA-256 hashes of the HTML body and schema content.
Comparison runs 17 rules across three severity levels: Critical (SEO-breaking changes that likely cause traffic loss — noindex added, canonical changed, title removed), Warning (potential impact requiring investigation within a week), and Info (changes that may be intentional, review at convenience). All data lives in a local SQLite database at ~/.cache/claude-seo/drift/. Original concept by Dan Colta (Pro Hub Challenge).
When to use it
Reach for it when:
- You are about to deploy a CMS update, template change, or migration and want a pre/post comparison
- Traffic dropped and you need to know whether any on-page SEO elements changed around the drop date
- You want a lightweight ongoing monitor for key pages without buying a rank tracking platform
When not to reach for it:
- The page requires login or is behind a paywall — the fetch pipeline cannot access authenticated content
- You want cross-page bulk monitoring; the skill is URL-by-URL, not a site-wide crawler
Install
Copy the seo-drift SKILL.md into .claude/skills/seo-drift/ along with the scripts/ directory from the repo root.
Trigger phrases: “SEO drift”, “baseline”, “track changes”, “did anything break”, “SEO regression”, “compare SEO”, “before and after”, “monitor SEO changes”, “deployment check”.
Three commands: /seo drift baseline <url> (capture), /seo drift compare <url> (diff against most recent baseline), /seo drift history <url> (full change log).
What a session looks like
A typical session has three phases:
- Baseline capture. Before a deployment:
python scripts/drift_baseline.py <url>fetches the page, parses HTML, optionally runs a PageSpeed check for Core Web Vitals, hashes the content, and stores everything in SQLite. Takes a few seconds per page. - Comparison after the change.
python scripts/drift_compare.py <url>fetches the current state, loads the most recent baseline, runs all 17 rules, classifies findings by severity, and outputs a JSON diff report. Critical findings are any that could cause immediate ranking impact. - Cross-skill handoff. When a critical finding appears, the skill recommends the appropriate follow-up: schema changes go to
/seo schema, CWV regressions to/seo technical, title/meta changes to/seo page.
Receipts
Works well: The hash-based detection catches schema removals and canonical changes that are invisible to humans reviewing a page visually. A noindex added to a JavaScript-rendered meta tag is a classic deployment accident — this skill would catch it in the compare pass.
Backfires: Core Web Vitals data requires a Google PageSpeed Insights API key. Without it, CWV fields are stored as null and CWV-related comparison rules are skipped silently. The skill tells you this, but it means the CWV-regression detection is opt-in infrastructure.
Pattern that works: Make baseline capture part of your deploy checklist — run it before every deployment that touches templates or CMS configuration, not just the ones you think are risky. The ones you think are safe are often the ones with surprises.
Source and attribution
Originally written by AgriciDaniel, incorporating original concept from Dan Colta (Pro Hub Challenge). The canonical SKILL.md and supporting files live in the seo-drift folder of the claude-seo repository.
License: MIT. Install, adapt, and redistribute with attribution preserved.
This page documents the skill from a practitioner’s perspective. For the formal spec and updates, defer to the source repo.