Skip to content
cccskills
FreePublished on GitHub

seo-migration-check

Validate SEO preservation during site migrations. Checks redirect chains (301 vs 302, hop count), canonical consistency, title/meta preservation, HTTP status codes, content similarity, and schema preservation. Accepts single URL pair or CSV file of URL pairs. Use when user says "migration check", "site migration", "redirect audit", "URL mapping", "domain change", "relaunch", "site move".

The English summary is being prepared. Showing the original description.

Run score Not tested

See how to install

Files included (1)

  • SKILL.md4.2 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Site Migration SEO Validator

Validates redirect chains, canonical tags, metadata, and content preservation during site migrations.

Inputs

Either:

  • old and new: Two URLs for a single-page check (e.g., https://old.com/page https://new.com/page)
  • file: Path to CSV/text file with URL pairs, one per line: old_url,new_url

If file provided: Read it and process each line. Skip blank lines and lines starting with #. For large files (>50 URL pairs), process first 50 and note truncation.

Execution

For each URL pair, run checks a-f:

Check a: Redirect Chain Validation

Fetch old URL with WebFetch and follow redirects (track each hop):

  1. Record redirect type: 301 (permanent), 302 (temporary), 307, 308
  2. Count redirect hops
  3. Record final destination URL

Evaluate:

  • Final destination matches expected new URL: PASS — mismatch: FAIL
  • Redirect type is 301: PASS — 302/307: WARN (temporary redirects pass less link equity)
  • Hop count 1: PASS — hop count 2: WARN — hop count >2: FAIL (redirect chain too long)
  • Direct 200 on old URL (no redirect): FAIL (old page still live, not redirected)

Check b: Canonical Consistency

Fetch new URL, extract <link rel="canonical" href="..."> from <head>.

  • Canonical matches new URL exactly: PASS
  • Canonical missing: WARN (Google will infer, but explicit is better)
  • Canonical points to old URL: FAIL (critical — tells Google old is authoritative)
  • Canonical points to third URL: WARN

Check c: Title and Meta Preservation

Compare title and meta description between old URL (before redirect) and new URL. Note: old URL may already redirect, so if old URL is not directly fetchable, skip comparison and note.

If comparable:

  • Title: Extract both. Compare word overlap.
    • 70% word overlap: PASS

    • 40-70% overlap: WARN (may be intentional change)
    • <40% overlap: WARN with note ("significant title change — verify this was intentional")
  • Meta description: Extract both.
    • Present on both: PASS
    • Missing on new URL: WARN
    • Both missing: NOTE

Check d: HTTP Status

Verify new URL returns 200 OK:

  • 200: PASS
  • 301/302 (new URL also redirects): WARN with destination
  • 404: FAIL
  • 500/5xx: FAIL

Check e: Content Similarity

If both old and new pages are fetchable, compare word counts:

  • New page word count >= 80% of old: PASS
  • New page word count 50-80% of old: WARN (possible content reduction)
  • New page word count < 50% of old: FAIL (significant content loss) If old URL not directly fetchable (already redirects): skip and note.

Check f: Schema Preservation

Extract @type values from JSON-LD blocks on both pages.

  • Same schema types present: PASS
  • Schema types reduced: WARN (lost structured data)
  • Key schema missing on new (e.g., Product, Article, LocalBusiness): WARN
  • No schema on either: NOTE (not a regression)

Overall Per-URL Result

FAIL: any check is FAIL WARN: no FAILs but any check is WARN PASS: all checks PASS or NOTE

Output Format

## Migration Validation: [old URL] → [new URL]
(or: ## Migration Validation: [N] URL pairs from [filename])

### Summary

| Status | Count |
|--------|-------|
| PASS | N |
| WARN | N |
| FAIL | N |
| Total | N |

### Per-URL Results

| Old URL | New URL | Redirect | Canonical | Title | Meta | Status Code | Schema | Overall |
|---|---|---|---|---|---|---|---|---|
| /old | /new | 301✓ | PASS | PASS | WARN | 200 | PASS | WARN |

### Failed Items Detail

For each FAIL result, expanded information:

**[old URL] → [new URL]**
- Redirect: [issue description]
- Canonical: [issue description]
- [etc.]
- Recommended fix: [specific action]

### Recommendations

[Prioritized list of actions based on failures and warnings]

## Data Sources

- Live URL fetching via WebFetch
- Redirect chain analysis (following HTTP headers)

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

seo

Free

Comprehensive SEO analysis for any website or business type. Orchestrates 52 sub-skills (52 active): full site audits, technical SEO (CWV/INP), schema, E-E-A-T content quality, images, sitemaps, GEO for AI Overviews, llms.txt generation, AI crawler audit, plus live GSC and Ahrefs MCP data. GSC: overview, drops, opportunities, brand-vs-nonbrand, cannibalization, compare, content-decay, index-issues, new-keywords. Ahrefs: overview, backlinks, keywords, competitors, content-gap, broken-links, new-links, anchor-analysis, dr-history, top-pages. Cross-MCP: serp, content-brief, brand-radar, site-audit-pro, report. Local: log-analysis, ai-content-check, internal-links, local, migration-check, obsidian-kb. AI Readability: llms-txt, robots-ai. Performance: lighthouse-audit, core-web-vitals, page-experience. Quality & AI Search: rich-results, ai-optimization, eeat-audit, helpful-content. Triggers on: "SEO", "audit", "schema", "Core Web Vitals", "sitemap", "E-E-A-T", "AI Overviews", "GEO", "technical SEO", "content quality", "structured data", "GSC", "Ahrefs", "backlinks", "keywords", "search console", "domain rating", "local SEO", "migration", "lighthouse", "pagespeed", "LCP", "INP", "CLS", "page experience", "interstitials", "mobile friendly", "rich results", "rich snippets", "schema eligibility", "AI optimization", "AI search readiness", "EEAT", "trust signals", "helpful content", "people-first", "content quality gate".

The English summary is being prepared. Showing the original description.

lionkiii/claude-seo-skills22Updated Jun 11, 2026

Analyze a domain's anchor text distribution from Ahrefs: see the breakdown of anchor text used across all backlinks and assess link profile health. Use when user says "anchor text", "anchor analysis", "anchor distribution", "link anchors", or "anchor text profile".

The English summary is being prepared. Showing the original description.

lionkiii/claude-seo-skills22Updated Jun 11, 2026

Analyze a domain's backlink profile using Ahrefs: see who links to the domain, source Domain Rating, anchor text, link type, and when each link was first seen. Use when user says "Ahrefs backlinks", "backlink profile", "who links to", "link analysis", or "referring pages".

The English summary is being prepared. Showing the original description.

lionkiii/claude-seo-skills22Updated Jun 11, 2026

Find broken backlinks pointing to a domain using Ahrefs: links targeting 404 pages that can be reclaimed. Prioritizes highest-DR lost links for maximum recovery impact. Use when user says "broken backlinks", "broken links", "link reclamation", "dead backlinks", or "404 backlinks".

The English summary is being prepared. Showing the original description.

lionkiii/claude-seo-skills22Updated Jun 11, 2026

Discover a domain's top organic competitors from Ahrefs: competing domains, keyword overlap count, shared keywords, and unique competitor keywords. Use when user says "Ahrefs competitors", "organic competitors", "competing domains", "keyword overlap", or "who competes with".

The English summary is being prepared. Showing the original description.

lionkiii/claude-seo-skills22Updated Jun 11, 2026

Find keywords that competitors rank for but the target domain does not, using Ahrefs data. Reveals content opportunities and topic gaps. Use when user says "content gap", "keywords competitors rank for", "missing keywords", "competitor keywords", or "content gap analysis".

The English summary is being prepared. Showing the original description.

lionkiii/claude-seo-skills22Updated Jun 11, 2026

See all skills by lionkiii

Report a problem with this skill