seo-drift

Detects SEO regressions by diffing page snapshots against stored baselines.

4|Updated Aug 22, 2025
One-click install
npx skills add https://github.com/justin06lee/justin06lee.dev --skill seo-drift-justin06lee
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: seo-drift
Source: https://github.com/justin06lee/justin06lee.dev/tree/main/.gemini/skills/valhalla/skills/seo-drift
Command: npx skills add https://github.com/justin06lee/justin06lee.dev --skill seo-drift-justin06lee

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires requests, beautifulsoup4, lxml, and includes references (resource) components.

What problem does it solve? On-page SEO elements like titles, canonicals, schema markup, and robots directives can silently change during deployments or content edits, causing traffic loss that goes unnoticed for weeks. This Skill captures baselines of SEO-critical elements and alerts you when something drifts. ## Core Features & Use Cases - Baseline Capture: Snapshot title tags, meta descriptions, canonicals, robots directives, headings, JSON-LD schema, Open Graph tags, Core Web Vitals, and HTTP status codes into a local SQLite store. - 17-Rule Comparison Engine: Diff current page state against baselines with findings classified as CRITICAL, WARNING, or INFO, each with recommended actions. - CI/CD Integration: Run non-interactive checks across many URLs with configurable severity thresholds, JUnit XML reports, and exit codes that fail pipelines on regression. - Use Case: Before a deploy, run a baseline on your key pages; after the deploy, run a compare to instantly catch a dropped canonical tag or an accidentally added noindex directive. ## Quick Start Ask the assistant to capture an SEO baseline for your homepage URL, then later ask it to compare the page against that baseline to detect any SEO drift.

Frequently Asked Questions about seo-drift

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I monitor SEO changes on my website over time?

Capture a baseline snapshot of each page's SEO-critical elements, then run comparisons on a schedule or after deployments. The comparison engine applies 17 rules across three severity levels and reports exactly which elements changed, such as titles, canonicals, or schema markup.

How to catch SEO regressions in a CI pipeline?

Use the ci command with a URL config file and a severity threshold like --fail-on critical. It exits non-zero when a regression is detected, so the pipeline fails like a broken test, and it can emit JUnit XML for CI reporting.

What SEO elements does drift monitoring track?

It tracks title tags, meta descriptions, canonical URLs, robots directives, H1-H3 headings, JSON-LD schema, Open Graph tags, Core Web Vitals, HTTP status codes, and SHA-256 hashes of HTML and schema content.

Does SEO drift monitoring work in ephemeral CI runners?

Yes, by setting the CLAUDE_SEO_DRIFT_DIR environment variable to a cached or committed directory so baselines persist between runs. Without this, each ephemeral run would re-seed baselines and never detect drift.

What happens if a page has no baseline when compared?

By default the ci command seeds a baseline and reports no drift for that run. You can change this with --on-missing skip to ignore the URL, or --on-missing fail to treat it as an operational error.