Move content between platforms, domains, or URL structures while preserving SEO equity, user bookmarks, and integrations. Use this skill when planning a CMS migration, replatforming, consolidating sites, changing URL structures, or merging content from multiple sources. Triggers on content migration, replatform, CMS migration, domain migration, URL restructure, redirect map, site merge, content consolidation, migration plan, post-migration drop. Also triggers when planning a launch that involves moving existing content.
63
75%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/content-migration/SKILL.mdMove content from one platform, domain, or URL structure to another without breaking SEO, user bookmarks, or downstream integrations. Stack-agnostic.
content-and-copy)seo-technical)seo-content-audit)Every content migration follows the same arc. Skipping a phase is how migrations go badly.
You can't migrate what you don't know. Build a complete map of what exists.
For each piece of content:
Pull from: CMS export, XML sitemap, server logs, analytics, search console, backlink tool.
The inventory is a spreadsheet. It's the source of truth for the rest of the migration.
For each piece of content, decide:
This is seo-content-audit work. The migration is the time to do it; not the time to skip it.
For each "Update" or "Merge," document the specific changes.
The URL map is the most important migration artifact.
| Old URL | New URL | Status code | Reason |
|---|---|---|---|
| /old/path | /new/path | 301 | Direct equivalent |
| /old/page-1, /old/page-2 | /new/merged | 301 | Merged content |
| /old/deprecated | /related/replacement | 301 | Closest replacement |
| /old/junk | (none) | 410 | Intentionally gone |
Rules:
For domain migrations, use a 1:1 path mapping by default (old.com/page → new.com/page) with specific overrides where structure changes.
Build the destination. Don't skip a staging environment.
If possible, get the destination crawled by Google before the cutover, so it's already indexed when redirects flip.
The actual switch. Plan it like a launch (and use launch-runbook alongside this skill).
Pre-cutover:
Cutover:
Immediately post-cutover:
The migration isn't done at cutover. The next 30-90 days reveal problems.
Watch:
Common 30-day fixes:
What's in scope? What's out? Write it down. Migrations expand if not bounded.
Pull every URL, traffic, backlinks, internal links. The spreadsheet is the artifact.
Keep, update, merge, redirect, delete. Document decisions.
The complete redirect map. Reviewed by SEO and content stakeholders.
In a staging environment. Real content (or representative content). Real redirects.
Following the cutover checklist. Have rollback ready.
Daily for the first week. Weekly for the first month. Monthly through 90 days.
What worked. What didn't. Lessons. (See after-action-report.)
No URL inventory. Migration team thinks they have everything. They don't. Old PDFs, archived posts, marketing landing pages with backlinks. Build the inventory.
302 redirects instead of 301. 302 is temporary. SEO equity doesn't reliably pass. Use 301 unless you have a specific reason.
Redirecting everything to the homepage. "We'll let users find their way." They won't. They'll bounce. Map specifically.
Long redirect chains. /a → /b → /c → /d. Each hop loses a little equity and adds latency. Collapse to /a → /d.
Forgetting non-HTML URLs. PDFs, images, downloads. They have URLs too. They have backlinks too. Include in the map.
Forgetting query strings. /page?id=123 is a different URL than /page. Patterns or specific maps for query string variants.
Ignoring trailing slashes. /page and /page/ are different to most servers. Pick one canonical form. Redirect the other.
No staging. The first time the migration runs is in production. Things break. Stage and test.
Stage that's too different from production. Different DNS, different CDN, different platform. Tests pass on staging, fail on production. Stage as close to prod as feasible.
Leaving the source live. Two sites serving the same content. Duplicate content, split equity, user confusion. Take down the source after confirming the destination is solid.
Leaving the source domain unrenewed. Domain expires, redirects break, traffic dies. Renew the source domain for a long time, even if you're not using it.
Big-bang migration with no rollback plan. Something goes wrong. Now what? Plan rollback before cutover.
Cutover during a busy period. End of quarter, holiday season, big campaign. Bad timing. Pick a quiet period.
No comms. Users find their bookmarks broken with no warning. Some won't come back. Communicate.
Migration as a one-time event. It's not done at cutover. Monitor for 30-90 days. Fix what surfaces.
Treating migration as just a dev project. SEO, content, support, comms all need to be involved. Cross-functional from day one.
A migration plan document includes:
references/migration-runbook.md: Step-by-step runbook for cutover day, including pre-flight checks, the actual switch, immediate verification, and the first 24 hours of monitoring.8e70d03
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.