All articles
By Fadi Chehadi·June 23, 2026·Updated October 15, 2026·7 min read

The WordPress-to-Next.js Migration Playbook

A field-tested five-gate sequence for moving a content site off WordPress: audit, redirect map, parity build, cutover and monitoring, without losing rankings.

Written by

Fadi Chehadi

Web Developer & SEO Expert

Blog title card with the FC monogram and the title “The WordPress-to-Next.js Migration Playbook” over a dimmed screenshot of the Phi Management website
In this article
  1. Why move a content site off WordPress at all?
  2. What are the steps in a WordPress to Next.js migration?
  3. How do you build a redirect map that keeps your rankings?
  4. How long does Google take to settle after the switch?
  5. How I approach a WordPress to Next.js migration
  6. Frequently asked questions
  7. Ready to plan your migration?

A safe WordPress to Next.js migration follows five steps in a fixed order: audit the content, map every old URL to a permanent redirect, rebuild the pages to parity, cut over in one move, then monitor Search Console daily. When rankings drop after a move, the platform is rarely the cause. They drop because one of those steps was skipped or done after launch instead of before it.

A WordPress to Next.js migration is the move of a site’s content, URLs and search signals from a WordPress install to a Next.js application, usually with a purpose-built CMS behind it. The goal is simple to state: same content, same or better URLs, faster pages, and no lost traffic.

Why move a content site off WordPress at all?

Most teams move for security, speed and control. WordPress still runs 40.1% of all websites, so it is a proven place to start, but its plugin model becomes the main cost as a site grows.

The security numbers make the case. Patchstack logged 7,966 new vulnerabilities in the WordPress ecosystem in 2024, and 96% of them were in plugins. Only seven were in core.

Speed is the second driver. Google’s Core Web Vitals ask for a Largest Contentful Paint within 2.5 seconds, an INP of 200 milliseconds or less and a CLS of 0.1 or less, measured at the 75th percentile of page loads. A plugin-heavy theme fights those targets on every release. A Next.js site serves prerendered pages, and Incremental Static Regeneration lets you update static content without rebuilding the entire site. That pairs well with a CMS your editors can run, which I cover in building a CMS your team will actually use.

What are the steps in a WordPress to Next.js migration?

I run every re-platform through the same five-gate sequence, which I call Audit, Map, Match, Move, Monitor. Each gate has a written output, and the next gate does not start until that output exists.

Google’s own guidance puts the URL map at the center. Its site move documentation says it is important to map your old site’s URLs to the URLs for the new site, and the five gates exist to make that map complete and correct.

GateWhat you produceWhat breaks if you skip it
1. AuditEvery URL with its template, organic clicks, backlinks and keep/merge/drop decisionPages that earn traffic get dropped by accident
2. MapA one-to-one redirect table from every old URL to its new homeOld URLs return 404 and fall out of the index
3. MatchA parity build: titles, meta, headings, schema and internal links page by pageRankings slide even though every redirect works
4. MoveA cutover checklist: DNS, redirects live, new sitemap submittedA half-moved site with mixed signals for weeks
5. MonitorA daily log of coverage, 404s and top-page clicks for the first weeksProblems surface as a traffic drop a month later

The audit is where most hidden value lives. A pattern on many older WordPress sites: tag archives, attachment pages and dated URLs that no sitemap lists, yet some of them still hold links from other sites. A crawl plus a Search Console export finds them. Each one gets a deliberate decision instead of a silent 404.

The Match gate is plain technical SEO, done page by page. The checks I use are in technical SEO that moves the numbers.

How do you build a redirect map that keeps your rankings?

Use permanent, server-side redirects from every old URL straight to its closest new equivalent, with no chains and no blanket redirects to the homepage. Ship the whole map before launch, not after the first wave of 404s.

The status code matters. Google says it uses a permanent redirect as a signal that the redirect target should be canonical, and recommends a permanent server-side redirect whenever possible. It treats both 301 and 308 as permanent moves. Temporary redirects keep the old page in search results, which is the opposite of what you want.

Next.js handles this in config. With permanent set to true, its redirects return a 308, which tells clients and search engines to cache the redirect forever. Redirects are checked before the filesystem, so an old path can never be shadowed by a new page.

For very large maps, Vercel offers bulk redirects, which it says support many thousands of simple redirects loaded from CSV or JSON files.

Do not let unmapped URLs fall through to a 404. Google states that URLs that are already indexed and return a 4xx status code are removed from the index. If a page truly has no successor, a 404 is honest. If it has one, redirect it.

How long does Google take to settle after the switch?

Expect a few weeks of movement for a medium-sized site, and keep the redirects for at least a year.

Google’s site move guide says that for medium-sized websites, it can take a few weeks or more for Google to start showing the new URLs instead of the old ones. The same page tells you to expect temporary ranking fluctuation, to submit the new sitemap in Search Console, and to keep redirects for as long as possible, generally at least one year.

For small and medium sites, Google recommends moving all URLs at once rather than one section at a time. That is why the Move gate is a single cutover, ideally on a low-traffic day, with the redirect map, the new sitemap and the new templates going live together.

During the Monitor gate, I watch three numbers daily in Search Console for the first two weeks: indexed pages, 404 errors and clicks on the top 50 pages from the audit. A 404 on a mapped URL means a redirect rule is wrong. A drop on a top page with a working redirect means the Match gate missed something.

How I approach a WordPress to Next.js migration

I treat the migration as an SEO project that happens to include a rebuild, not the other way round. I have delivered 350+ projects across 8+ years leading teams, and on every re-platform I get the redirect map signed off before a single template is built.

The build itself runs on Next.js, Vercel and a custom Supabase CMS, which is the stack behind my web design and development service. I hold every launch to Lighthouse scores of 90+ and keep sites at 99.9% uptime afterwards through ongoing web care. I harden what remains through security and hardening work.

The ranking side runs through SEO powered by AI: the audit, the map, the parity checks and the post-launch watch. That same SEO discipline runs through all my work, where the peak organic-traffic lift has been 136%. You can see the work in the case studies and the SEO portfolio, and more about my background on the about page.

Frequently asked questions

Will I lose rankings when I leave WordPress?

Some movement is normal, and Google says so in its own site move guidance. The risk of a lasting loss comes from broken redirects, missing pages and changed on-page signals, not from the platform switch itself. If every indexed URL has a permanent redirect to an equivalent page, and that page keeps its title, headings, structured data and internal links, the signals carry across. Sites that lose traffic after a rebuild usually skipped the audit, launched with a partial redirect map, or rewrote copy and titles at the same time as moving URLs. Change one variable at a time, and leave content rewrites for after the new site has settled.

Should I keep my existing URL structure?

Keep it wherever it is clean, because an unchanged URL needs no redirect and carries zero risk. Change it only where the old structure actively hurts you, such as dated permalinks, session parameters or deep category nesting that no longer matches your content. When you do change URLs, keep the mapping one-to-one and point each old address at its true equivalent, not at a category page or the homepage. Next.js pattern redirects make structural changes cheap to express in a few lines. The real work sits in the audit, deciding which pages deserve a new home and which can retire honestly with a 404.

What happens to my blog posts, images and forms?

Posts move into the new CMS as structured content, with their slugs, publish dates, authors, categories and featured images preserved, so the redirect map stays simple. Images are re-uploaded and optimized, and every in-body image reference is rewritten to its new location so nothing breaks silently. Forms are rebuilt natively rather than through a form plugin, with spam protection and delivery to the same inbox or CRM you use today. Before cutover, I test every form end to end, because a migrated contact page that quietly stops sending leads costs far more than a dip in rankings during the first few weeks.

Do I need to move everything at once?

For small and medium sites, Google recommends moving all URLs at the same time rather than section by section, and that matches what I see in practice. A single cutover gives Google one clear event to process instead of months of mixed signals across two systems. Very large sites are different, and Google says splitting the move into smaller steps can make sense there. In that case, each section still goes through all five gates on its own, with its own redirect map, parity check and monitoring window, before the next section begins. That keeps every batch small enough to debug quickly if something slips.

Ready to plan your migration?

Get the audit and the redirect map right, and the faster site does the rest. If you want a second pair of eyes on your URL inventory or a full re-platform plan, get in touch and we can walk through it together.

I run migrations like this as a web design and SEO expert in Jacksonville, for businesses across Northeast Florida and the rest of the US. If you are on the coast, see how I handle web design in St. Augustine, where inns, tours and shops depend on pages that load fast and keep their rankings through a rebuild.

Sources

  1. W3Techs: Usage statistics and market share of WordPressw3techs.com
  2. Patchstack: State of WordPress Security in 2025patchstack.com
  3. web.dev: Web Vitalsweb.dev
  4. Next.js Docs: How to implement Incremental Static Regeneration (ISR)nextjs.org
  5. Google Search Central: Site moves with URL changesdevelopers.google.com
  6. Google Search Central: Redirects and Google Searchdevelopers.google.com
  7. Next.js Docs: redirectsnextjs.org
  8. Vercel Docs: Redirectsvercel.com
  9. Google Search Central: How HTTP status codes, and network and DNS errors affect Google Searchdevelopers.google.com
Let's build

Let’s build something that performs, converts, and grows.

Whether it's a rebuild, a growth program, or the systems behind a team, let's talk about what you're trying to ship.