{"id":"8cf6d853-a235-4c97-907d-04b4a1e32bfb","shortId":"udTnvy","kind":"skill","title":"content-migration","tagline":"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 ","description":"# Content Migration\n\nMove content from one platform, domain, or URL structure to another without breaking SEO, user bookmarks, or downstream integrations. Stack-agnostic.\n\n---\n\n## When to use\n\n- Migrating from one CMS to another (e.g., WordPress to a headless setup)\n- Consolidating multiple sites into one\n- Splitting one site into multiple\n- Changing URL structures\n- Domain migration (one brand to another, mergers, rebrands)\n- Migrating from a custom build to a platform (or vice versa)\n- Content audit-driven cleanup as part of a larger move\n\n## When NOT to use\n\n- A net-new site with no existing content (no migration needed)\n- Single-page edits or content updates within an existing site (use `content-and-copy`)\n- Performance or technical SEO improvements without URL changes (use `seo-technical`)\n- Routine content audits (use `seo-content-audit`)\n\n---\n\n## Required inputs\n\n- The source: current platform, current URL structure, current content inventory\n- The destination: target platform, target URL structure, target capabilities\n- The reason for migration (drives priority of what to preserve)\n- Constraints (timeline, budget, downtime tolerance)\n- Stakeholders (SEO, content, dev, comms, support)\n\n---\n\n## The framework: 6 phases\n\nEvery content migration follows the same arc. Skipping a phase is how migrations go badly.\n\n### Phase 1: Inventory\n\nYou can't migrate what you don't know. Build a complete map of what exists.\n\nFor each piece of content:\n- URL\n- Title\n- Content type (article, landing page, product, doc, etc.)\n- Status (live, draft, archived, scheduled)\n- Last modified\n- Author or owner\n- Traffic (last 12 months)\n- Backlinks (top external referrers)\n- Internal links pointing to it\n- Embedded assets (images, video, downloads)\n\nPull from: CMS export, XML sitemap, server logs, analytics, search console, backlink tool.\n\nThe inventory is a spreadsheet. It's the source of truth for the rest of the migration.\n\n### Phase 2: Audit and decide\n\nFor each piece of content, decide:\n\n- **Keep:** migrate as-is\n- **Update:** migrate with edits (refresh, expand, fix)\n- **Merge:** combine with another piece, redirect both old URLs to the new\n- **Redirect:** don't migrate; redirect to a related page\n- **Delete:** don't migrate, no redirect (use sparingly; only for clearly low-value pages)\n\nThis is `seo-content-audit` work. The migration is the time to do it; not the time to skip it.\n\nFor each \"Update\" or \"Merge,\" document the specific changes.\n\n### Phase 3: Map URLs\n\nThe URL map is the most important migration artifact.\n\n| Old URL | New URL | Status code | Reason |\n|---|---|---|---|\n| /old/path | /new/path | 301 | Direct equivalent |\n| /old/page-1, /old/page-2 | /new/merged | 301 | Merged content |\n| /old/deprecated | /related/replacement | 301 | Closest replacement |\n| /old/junk | (none) | 410 | Intentionally gone |\n\nRules:\n- 301 (permanent redirect) for content that has a new home\n- 410 (gone) for intentionally deleted content\n- Avoid 404 (not found) where 410 is more accurate\n- Never redirect everything to the homepage; specific is always better\n- Map every URL with traffic or backlinks; lower-priority URLs can be patterned\n\nFor domain migrations, use a 1:1 path mapping by default (`old.com/page` → `new.com/page`) with specific overrides where structure changes.\n\n### Phase 4: Build and stage\n\nBuild the destination. Don't skip a staging environment.\n\n- Set up the new platform with the new content\n- Implement the URL map (most platforms support a redirect file or rule)\n- Verify a representative sample of redirects work\n- Test critical user flows (signup, purchase, contact)\n- Validate analytics, monitoring, and integrations\n- Test from search engine perspective: robots.txt, sitemap, canonicals\n\nIf possible, get the destination crawled by Google before the cutover, so it's already indexed when redirects flip.\n\n### Phase 5: Cut over\n\nThe actual switch. Plan it like a launch (and use `launch-runbook` alongside this skill).\n\nPre-cutover:\n- Comms to stakeholders (date, expected impact)\n- Comms to users if downtime expected\n- Support team prepped for likely questions\n- Lower DNS TTL the day before (1-3 days for safety)\n- Backup of source platform (in case rollback is needed)\n\nCutover:\n- Redirect rules go live\n- DNS changes go live\n- New sitemap submitted to search engines\n- Old sitemap removed or updated\n- Internal links audited and updated to point to new URLs (where possible)\n- Status page or banner if user-visible disruption\n\nImmediately post-cutover:\n- Smoke test top 50 pages from the inventory\n- Verify redirects are 301 (not 302)\n- Verify search console for errors\n- Watch real-time traffic for unexpected drops\n- Watch error logs for missing assets, broken integrations\n\n### Phase 6: Monitor and recover\n\nThe migration isn't done at cutover. The next 30-90 days reveal problems.\n\nWatch:\n- **Traffic:** expect a temporary drop (10-30% is common); should recover in 4-8 weeks. A persistent drop beyond that is a problem.\n- **Indexing:** new URLs should be crawled and indexed. Check coverage in search console.\n- **Rankings:** track top keywords. A position drop is normal; a position cliff is a sign of a redirect or canonical problem.\n- **Backlinks:** check that linked-from-elsewhere pages still resolve to the right destination.\n- **404s:** any URL getting 404s that should have been redirected? Add to the map.\n- **User reports:** support tickets, social media. Are users finding their old links?\n\nCommon 30-day fixes:\n- Add missed redirects from 404 patterns\n- Update internal links you missed\n- Re-submit sitemap if indexing stalls\n- Investigate and fix any crawl errors\n\n---\n\n## Workflow\n\n### Step 1: Set the scope\n\nWhat's in scope? What's out? Write it down. Migrations expand if not bounded.\n\n### Step 2: Build the inventory\n\nPull every URL, traffic, backlinks, internal links. The spreadsheet is the artifact.\n\n### Step 3: Decide per piece\n\nKeep, update, merge, redirect, delete. Document decisions.\n\n### Step 4: Map URLs\n\nThe complete redirect map. Reviewed by SEO and content stakeholders.\n\n### Step 5: Build the destination\n\nIn a staging environment. Real content (or representative content). Real redirects.\n\n### Step 6: Test\n\n- Sample of redirects (top 20 by traffic, top 20 by backlinks, edge cases)\n- Critical flows (signup, checkout, contact)\n- Analytics and monitoring\n- Search-engine perspective (robots.txt, sitemap, canonicals)\n\n### Step 7: Cut over\n\nFollowing the cutover checklist. Have rollback ready.\n\n### Step 8: Monitor\n\nDaily for the first week. Weekly for the first month. Monthly through 90 days.\n\n### Step 9: Document the result\n\nWhat worked. What didn't. Lessons. (See `after-action-report`.)\n\n---\n\n## Failure patterns\n\n**No URL inventory.** Migration team thinks they have everything. They don't. Old PDFs, archived posts, marketing landing pages with backlinks. Build the inventory.\n\n**302 redirects instead of 301.** 302 is temporary. SEO equity doesn't reliably pass. Use 301 unless you have a specific reason.\n\n**Redirecting everything to the homepage.** \"We'll let users find their way.\" They won't. They'll bounce. Map specifically.\n\n**Long redirect chains.** /a → /b → /c → /d. Each hop loses a little equity and adds latency. Collapse to /a → /d.\n\n**Forgetting non-HTML URLs.** PDFs, images, downloads. They have URLs too. They have backlinks too. Include in the map.\n\n**Forgetting query strings.** `/page?id=123` is a different URL than `/page`. Patterns or specific maps for query string variants.\n\n**Ignoring trailing slashes.** `/page` and `/page/` are different to most servers. Pick one canonical form. Redirect the other.\n\n**No staging.** The first time the migration runs is in production. Things break. Stage and test.\n\n**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.\n\n**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.\n\n**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.\n\n**Big-bang migration with no rollback plan.** Something goes wrong. Now what? Plan rollback before cutover.\n\n**Cutover during a busy period.** End of quarter, holiday season, big campaign. Bad timing. Pick a quiet period.\n\n**No comms.** Users find their bookmarks broken with no warning. Some won't come back. Communicate.\n\n**Migration as a one-time event.** It's not done at cutover. Monitor for 30-90 days. Fix what surfaces.\n\n**Treating migration as just a dev project.** SEO, content, support, comms all need to be involved. Cross-functional from day one.\n\n---\n\n## Output format\n\nA migration plan document includes:\n\n- **Scope:** what's in, what's out\n- **Inventory:** the URL spreadsheet\n- **Audit decisions:** keep, update, merge, redirect, delete\n- **URL map:** old to new, with status codes\n- **Architecture:** new platform setup, redirect implementation\n- **Cutover plan:** the runbook for switch day\n- **Rollback plan:** if it goes wrong\n- **Monitoring plan:** what's watched, for how long\n- **Comms plan:** internal and external\n- **Owners and timeline:** who does what when\n\n---\n\n## Reference files\n\n- [`references/migration-runbook.md`](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.","tags":["content","migration","claude","skills","rampstackco","agent-skills","anthropic","awesome-claude-code","awesome-claude-prompts","awesome-claude-skills","claude-code","claude-skills"],"capabilities":["skill","source-rampstackco","skill-content-migration","topic-agent-skills","topic-anthropic","topic-awesome-claude-code","topic-awesome-claude-prompts","topic-awesome-claude-skills","topic-claude","topic-claude-code","topic-claude-skills","topic-good-first-issue","topic-mcp","topic-product-management","topic-seo"],"categories":["claude-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/rampstackco/claude-skills/content-migration","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add rampstackco/claude-skills","source_repo":"https://github.com/rampstackco/claude-skills","install_from":"skills.sh"}},"qualityScore":"0.540","qualityRationale":"deterministic score 0.54 from registry signals: · indexed on github topic:agent-skills · 181 github stars · SKILL.md body (9,585 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T18:55:14.002Z","embedding":null,"createdAt":"2026-04-30T01:01:27.504Z","updatedAt":"2026-05-18T18:55:14.002Z","lastSeenAt":"2026-05-18T18:55:14.002Z","tsv":"'-3':660 '-30':779 '-8':786 '-90':768,1361 '/a':1124,1139 '/b':1125 '/c':1126 '/d':1127,1140 '/new/merged':444 '/new/path':438 '/old/deprecated':448 '/old/junk':453 '/old/page-1':442 '/old/page-2':443 '/old/path':437 '/page':521,524,1164,1172,1184,1186 '/related/replacement':449 '1':237,513,514,659,900 '10':778 '12':282 '123':1166 '2':329,920 '20':985,989 '24':1485 '3':418,937 '30':767,871,1360 '301':439,445,450,459,729,1083,1094 '302':731,1079,1084 '4':532,785,949 '404':476,878 '404s':844,848 '410':455,469,480 '5':613,963 '50':721 '6':219,754,979 '7':1010 '8':1021 '9':1038 '90':1035 'accur':483 'action':1051 'actual':617,1478 'add':854,874,1135 'after-action-report':1049 'agnost':64 'alongsid':629 'alreadi':607 'alway':492 'analyt':306,581,999 'anoth':53,73,98,354 'arc':227 'architectur':1421 'archiv':273,1069 'articl':264 'artifact':429,935 'as-i':341 'asset':294,750 'audit':114,169,174,330,392,695,1406 'audit-driven':113 'author':277 'avoid':475 'back':1343 'backlink':284,309,500,830,928,991,1075,1155 'backup':664 'bad':235,1323 'bang':1296 'banner':708 'better':493 'beyond':791 'big':1295,1321 'big-bang':1294 'bookmark':17,58,1334 'bounc':1118 'bound':918 'brand':96 'break':55,1211,1276 'broken':751,1335 'budget':208 'build':105,248,533,536,921,964,1076 'busi':1314 'campaign':1322 'canon':592,828,1008,1194 'capabl':195 'case':669,993 'cdn':1225 'chain':1123 'chang':31,90,162,416,530,679 'check':804,831,1476 'checklist':1016 'checkout':997 'cleanup':116 'clear':382 'cliff':820 'close':1237 'closest':451 'cms':26,71,300 'code':435,1420 'collaps':1137 'combin':352 'come':1342 'comm':215,635,641,1330,1376,1448 'common':781,870 'communic':1344 'complet':250,953 'confirm':1263 'confus':1257 'consol':308,734,808 'consolid':29,80 'constraint':206 'contact':579,998 'content':2,5,36,41,44,112,135,144,152,168,173,185,213,222,259,262,337,391,447,463,474,553,960,972,975,1251,1253,1374 'content-and-copi':151 'content-migr':1 'copi':154 'coverag':805 'crawl':598,801,896 'critic':574,994 'cross':1383 'cross-funct':1382 'current':179,181,184 'custom':104 'cut':614,1011 'cutov':603,634,673,717,764,1015,1310,1311,1357,1427,1470 'daili':1023 'date':638 'day':657,661,769,872,1036,1362,1386,1433,1471 'decid':332,338,938 'decis':947,1407 'default':518 'delet':372,473,945,1412 'destin':188,538,597,843,966,1265 'dev':214,1371 'didn':1045 'die':1278 'differ':1169,1188,1219,1222,1224,1226 'direct':440 'disrupt':713 'dns':654,678,1223 'doc':268 'document':413,946,1039,1393 'doesn':1089 'domain':8,48,93,509,1271,1273,1282 'done':762,1355 'download':297,1148 'downstream':60 'downtim':209,645 'draft':272 'drive':200 'driven':115 'drop':744,777,790,815 'duplic':1252 'e.g':74 'edg':992 'edit':142,347 'elsewher':836 'embed':293 'end':1316 'engin':588,687,1004 'environ':544,970 'equiti':15,1088,1133,1255 'equival':441 'error':736,746,897 'etc':269 'even':1287 'event':1351 'everi':221,495,925 'everyth':486,1063,1102 'exist':134,148,254 'expand':349,915 'expect':639,646,774 'expir':1274 'export':301 'extern':286,1452 'fail':1232 'failur':1053 'feasibl':1241 'file':563,1461 'find':866,1110,1332 'first':1026,1031,1202,1484 'fix':350,873,894,1363 'flight':1475 'flip':611 'flow':576,995 'follow':224,1013 'forget':1141,1161 'form':1195 'format':1389 'found':478 'framework':218 'function':1384 'get':595,847 'go':234,676,680 'goe':1303,1438 'gone':457,470 'googl':600 'headless':78 'holiday':1319 'home':468 'homepag':489,1105 'hop':1129 'hour':1486 'html':1144 'id':1165 'ignor':1181 'imag':295,1147 'immedi':714,1480 'impact':640 'implement':554,1426 'import':427 'improv':159 'includ':1157,1394,1472 'index':608,796,803,890 'input':176 'instead':1081 'integr':19,61,584,752 'intent':456,472 'intern':288,693,881,929,1450 'inventori':186,238,312,725,923,1057,1078,1402 'investig':892 'involv':1381 'isn':760 'keep':339,941,1408 'keyword':812 'know':247 'land':265,1072 'larger':121 'last':275,281 'latenc':1136 'launch':623,627 'launch-runbook':626 'leav':1242,1268 'lesson':1047 'let':1108 'like':621,651 'link':289,694,834,869,882,930 'linked-from-elsewher':833 'littl':1132 'live':271,677,681,1245 'll':1107,1117 'log':305,747 'long':1121,1285,1447 'lose':1130 'low':384 'low-valu':383 'lower':502,653 'lower-prior':501 'map':251,419,423,494,516,557,857,950,955,1119,1160,1176,1414 'market':1071 'media':863 'merg':35,351,412,446,943,1410 'merger':99 'migrat':3,27,42,68,94,101,137,199,223,233,242,327,340,345,366,375,395,428,510,759,914,1058,1205,1297,1345,1367,1391 'miss':749,875,884 'modifi':276 'monitor':582,755,1001,1022,1358,1440,1488 'month':283,1032,1033 'move':4,43,122 'multipl':38,81,89 'need':138,672,1378 'net':129 'net-new':128 'never':484 'new':130,362,432,467,548,552,682,701,797,1417,1422 'new.com':523 'new.com/page':522 'next':766 'non':1143 'non-html':1142 'none':454 'normal':817 'old':358,430,688,868,1067,1415 'old.com':520 'old.com/page':519 'one':46,70,84,86,95,1193,1349,1387 'one-tim':1348 'output':1388 'overrid':527 'owner':279,1453 'page':141,266,371,386,706,722,837,1073 'part':118 'pass':1092,1229 'path':515 'pattern':507,879,1054,1173 'pdfs':1068,1146 'per':939 'perform':155 'period':1315,1328 'perman':460 'persist':789 'perspect':589,1005 'phase':220,230,236,328,417,531,612,753 'pick':1192,1325 'piec':257,335,355,940 'plan':24,619,1301,1307,1392,1428,1435,1441,1449 'platform':7,47,108,180,190,549,559,667,1227,1423 'point':290,699 'posit':814,819 'possibl':594,704 'post':716,1070 'post-cutov':715 'pre':633,1474 'pre-cutov':632 'pre-flight':1473 'prep':649 'preserv':13,205 'prioriti':201,503 'problem':771,795,829 'prod':1239 'product':267,1209,1221,1234 'project':1372 'pull':298,924 'purchas':578 'quarter':1318 'queri':1162,1178 'question':652 'quiet':1327 'rank':809 're':886,1290 're-submit':885 'readi':1019 'real':739,971,976 'real-tim':738 'reason':197,436,1100 'rebrand':100 'recov':757,783 'redirect':356,363,367,377,461,485,562,571,610,674,727,826,853,876,944,954,977,983,1080,1101,1122,1196,1275,1411,1425 'refer':1460 'references/migration-runbook.md':1462,1463 'referr':287 'refresh':348 'relat':370 'reliabl':1091 'remov':690 'renew':1279 'replac':452 'replatform':28 'report':859,1052 'repres':568,974 'requir':175 'resolv':839 'rest':324 'result':1041 'reveal':770 'review':956 'right':842 'robots.txt':590,1006 'rollback':670,1018,1300,1308,1434 'routin':167 'rule':458,565,675 'run':1206 'runbook':628,1430,1468 'safeti':663 'sampl':569,981 'schedul':274 'scope':903,907,1395 'search':307,587,686,733,807,1003 'search-engin':1002 'season':1320 'see':1048 'seo':14,56,158,165,172,212,390,958,1087,1373 'seo-content-audit':171,389 'seo-techn':164 'serv':1248 'server':304,1191 'set':545,901 'setup':79,1424 'sign':823 'signup':577,996 'singl':140 'single-pag':139 'site':30,82,87,131,149,1247 'sitemap':303,591,683,689,888,1007 'skill':22,631 'skill-content-migration' 'skip':228,406,541 'slash':1183 'smoke':718 'social':862 'solid':1267 'someth':1302 'sourc':39,178,319,666,1244,1261,1270,1281 'source-rampstackco' 'spare':379 'specif':415,490,526,1099,1120,1175 'split':85,1254 'spreadsheet':315,932,1405 'stack':63 'stack-agnost':62 'stage':535,543,969,1200,1212,1215,1231,1235 'stakehold':211,637,961 'stall':891 'status':270,434,705,1419 'step':899,919,936,948,962,978,1009,1020,1037,1465,1467 'step-by-step':1464 'still':838 'string':1163,1179 'structur':11,33,51,92,183,193,529 'submit':684,887 'support':216,560,647,860,1375 'surfac':1365 'switch':618,1432,1479 'take':1258 'target':189,191,194 'team':648,1059 'technic':157,166 'temporari':776,1086 'test':573,585,719,980,1214,1228 'thing':1210 'think':1060 'ticket':861 'time':398,404,740,1203,1286,1324,1350 'timelin':207,1455 'titl':261 'toler':210 'tool':310 'top':285,720,811,984,988 'topic-agent-skills' 'topic-anthropic' 'topic-awesome-claude-code' 'topic-awesome-claude-prompts' 'topic-awesome-claude-skills' 'topic-claude' 'topic-claude-code' 'topic-claude-skills' 'topic-good-first-issue' 'topic-mcp' 'topic-product-management' 'topic-seo' 'track':810 'traffic':280,498,741,773,927,987,1277 'trail':1182 'treat':1366 'trigger':40 'truth':321 'ttl':655 'two':1246 'type':263 'unexpect':743 'unless':1095 'unrenew':1272 'updat':145,344,410,692,697,880,942,1409 'url':10,32,50,91,161,182,192,260,359,420,422,431,433,496,504,556,702,798,846,926,951,1056,1145,1151,1170,1404,1413 'use':20,67,126,150,163,170,378,511,625,1093,1292 'user':16,57,575,643,711,858,865,1109,1256,1331 'user-vis':710 'valid':580 'valu':385 'variant':1180 'verif':1481 'verifi':566,726,732 'versa':111 'vice':110 'video':296 'visibl':712 'warn':1338 'watch':737,745,772,1444 'way':1112 'week':787,1027,1028 'within':146 'without':54,160 'won':1114,1340 'wordpress':75 'work':393,572,1043 'workflow':898 'write':911 'wrong':1304,1439 'xml':302","prices":[{"id":"2ae818f0-cf89-46a9-b1df-6917191a337f","listingId":"8cf6d853-a235-4c97-907d-04b4a1e32bfb","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"rampstackco","category":"claude-skills","install_from":"skills.sh"},"createdAt":"2026-04-30T01:01:27.504Z"}],"sources":[{"listingId":"8cf6d853-a235-4c97-907d-04b4a1e32bfb","source":"github","sourceId":"rampstackco/claude-skills/content-migration","sourceUrl":"https://github.com/rampstackco/claude-skills/tree/main/skills/content-migration","isPrimary":false,"firstSeenAt":"2026-04-30T01:01:27.504Z","lastSeenAt":"2026-05-18T18:55:14.002Z"}],"details":{"listingId":"8cf6d853-a235-4c97-907d-04b4a1e32bfb","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"rampstackco","slug":"content-migration","github":{"repo":"rampstackco/claude-skills","stars":181,"topics":["agent-skills","anthropic","awesome-claude-code","awesome-claude-prompts","awesome-claude-skills","claude","claude-code","claude-skills","good-first-issue","mcp","product-management","seo","show-hn","showcase","showdev","web-design","web-development"],"license":"mit","html_url":"https://github.com/rampstackco/claude-skills","pushed_at":"2026-05-10T22:40:22Z","description":"Stack-agnostic Claude Skills covering the full website lifecycle: brand, design, content, SEO, dev, ops, growth, and research. Build, ship, audit, optimize.","skill_md_sha":"6f192253b2350d87b9036b79fb1a7f3a52c6705e","skill_md_path":"skills/content-migration/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/rampstackco/claude-skills/tree/main/skills/content-migration"},"layout":"multi","source":"github","category":"claude-skills","frontmatter":{"name":"content-migration","description":"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."},"skills_sh_url":"https://skills.sh/rampstackco/claude-skills/content-migration"},"updatedAt":"2026-05-18T18:55:14.002Z"}}