{"id":646,"slug":"research-brief-wp-migration-playbook","title":"Research brief: The Candid Creative WordPress Migration Playbook (piece 19)","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["migration-mechanics","redirect-mapping","content-extraction","pricing-models"],"reference_body":"**Status:** Research material + productization plan — not a finished article. Compiled May 22, 2026.\n\n## TL;DR\n\n- For most small-business WordPress sites with a blog (10-200 pages), the right target stack is **Astro for content-driven brochure+blog sites** and **Next.js 15 only when authenticated app behavior is required** — paired with [[cms-workflow-decision-matrix]].\n- The \"523 days to recover / 17% never recover\" stat (see [[sej-892-migrations-523-day-recovery]]) is scoped to **domain-to-domain migrations**, not same-domain CMS swaps. Same-domain recovery is weeks, not months. See [[same-domain-migration-recovery-timeline]].\n- Productize the playbook as a **fixed-price Migration Audit** ($1,250). See [[rule-lead-with-paid-migration-audit]].\n\nHidden killers, content-extraction decision tree, cutover patterns, and objection handling are all catalogued — see [[migration-hidden-killers-catalogue]], [[content-extraction-decision-tree]], [[cutover-pattern-low-risk-same-domain]], [[migration-objection-handling-map]].","rationale_body":"Piece 19 of the roadmap. Productizes the WP-migration practice and codifies the audit-first sales motion. Closes the four-brief cluster on stack decisions, performance evidence, and migration mechanics.","metadata":null,"links":{"outgoing":[{"slug":"sej-892-migrations-523-day-recovery","title":"Search Engine Journal (Jan 2025): 523-day average recovery from domain migration (n=892); 17% never recover by 1,000 days","kind":"reference","scope":"business","link_type":"depends-on"},{"slug":"migration-9-of-10-fail-numen-single-source","title":"\"9 of 10 web migrations fail\" — single-sourced (Numen Technology); use 523-day SEJ stat instead","kind":"reference","scope":"business","link_type":"relates-to"},{"slug":"web-migrations-can-succeed-with-discipline","title":"Counter-example: well-planned migrations can produce 3-5× traffic gains (BrightEdge / Numen case studies)","kind":"reference","scope":"business","link_type":"relates-to"},{"slug":"cutover-pattern-low-risk-same-domain","title":"Low-risk cutover pattern for same-domain CMS migration — 2-week pre-flight, DNS TTL 300s, monitor 48h, keep WP firewalled 30 days","kind":"reference","scope":"business","link_type":"depends-on"},{"slug":"rule-lead-with-paid-migration-audit","title":"RULE: Lead WordPress migration sales with a $1,250 fixed-price Migration Audit. Quote the build fixed-price only after the audit completes.","kind":"rule","scope":"business","link_type":"depends-on"},{"slug":"migration-hidden-killers-catalogue","title":"Migration hidden-killers catalogue — the seven failure modes that appear in every post-mortem","kind":"reference","scope":"business","link_type":"depends-on"},{"slug":"content-extraction-decision-tree","title":"Content extraction decision tree — WP REST API default, WXR XML fallback, direct DB only for hidden postmeta","kind":"reference","scope":"business","link_type":"depends-on"},{"slug":"migration-objection-handling-map","title":"Migration objection-handling map — sourced answers to every common client fear about migrating off WordPress","kind":"reference","scope":"business","link_type":"depends-on"}],"incoming":[]},"created_at":"2026-05-22T21:24:18.263Z","updated_at":"2026-05-22T21:24:18.263Z"}