# Seo Migration Check

> >

- **Type:** Skill
- **Install:** `agentstack add skill-lionkiii-claude-seo-skills-seo-migration-check`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [lionkiii](https://agentstack.voostack.com/s/lionkiii)
- **Installs:** 0
- **Category:** [AI & ML](https://agentstack.voostack.com/c/ai-and-ml)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [lionkiii](https://github.com/lionkiii)
- **Source:** https://github.com/lionkiii/claude-seo-skills/tree/main/skills/seo-migration-check

## Install

```sh
agentstack add skill-lionkiii-claude-seo-skills-seo-migration-check
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# 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 `` from ``.
- 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)
  - = 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)
```

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [lionkiii](https://github.com/lionkiii)
- **Source:** [lionkiii/claude-seo-skills](https://github.com/lionkiii/claude-seo-skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-lionkiii-claude-seo-skills-seo-migration-check
- Seller: https://agentstack.voostack.com/s/lionkiii
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
