Most headless migrations fail in the seams—not the demo. Editors keep WordPress; engineers want Next.js; nobody owns redirects, draft preview, or the plugins that silently power half the site.
Before you uncouple the theme, inventory:
- Content types — posts, pages, CPTs, taxonomies, and ACF field groups that actually ship to the frontend.
- URL surface — every public path that must survive cutover, plus query strings marketing depends on.
- Must-keep plugins — SEO, redirects, forms, membership, multilingual. Decide what stays in WP vs what moves to the app.
- Preview and drafts — how editors will see unpublished content on Next.js before launch.
- GraphQL contract — types, naming, and pagination you will not casually break after go-live.
Then sequence the work: Discover → Model → Migrate → Launch & Care. Soft-launch behind a host or path, parity-check content, shift traffic, retire the theme last.
Related: Headless WordPress migration · Grow with us



