Skip to content
Mon–Sat · 9:30 AM – 7:00 PM IST We're online
Digisetu India — Your Digital Bridge to Success
← Back to all articles Build & Engineering

From WordPress to Next.js: why we migrate every client in under 6 weeks.

10 min read · · By the Digisetu Build Team

In 2025 we migrated 23 client websites off WordPress and onto a Next.js + headless CMS stack. Every single one shipped in 4–6 weeks. Every single one kept its SEO ranking. None had a launch-day outage. Here’s the migration checklist and the three tradeoffs we won’t compromise on.

Why migrate off WordPress in the first place?

WordPress is fine for content-heavy sites with a small team and a CMS-shaped problem. But for marketing sites that need to compete on Core Web Vitals, integrate deeply with WhatsApp / CRM, and ship A/B tests weekly, WordPress fights you. The reasons we hear most:

  • Page-speed scores stuck below 60 even after plugin pruning.
  • Plugin conflicts breaking the site every 2nd month.
  • Inability to A/B test landing pages without third-party paid tools.
  • Editor-driven changes that nuke developer-set SEO meta.
  • Security patching burden — every WordPress site is a potential breach.

The 6-week timeline

Week 1: Audit + design system.

Crawl the existing WordPress site. Generate a URL inventory with traffic-per-page, conversion contribution, and SEO weight. Identify the 20% of pages that get 80% of traffic — these are the ones that must be pixel-faithful in migration.

Parallelly, build the design system in Figma, mapping every component (hero, cards, accordions, forms) to a typed React component.

Week 2–3: Build the Next.js app.

Scaffold Next.js (app router), wire up a headless CMS (Sanity for editorial sites, Strapi for product catalogue, MDX for landing-page-heavy sites). Build core components. Wire up the form layer to the CRM and WhatsApp.

Set up the staging environment on Vercel with preview deployments for every PR.

Week 4: Content migration.

This is the part everyone underestimates. We use a custom Node script that exports WordPress posts via the REST API, transforms the HTML into MDX (with our component shortcodes), and uploads to the headless CMS. Image references are remapped to a CDN bucket. Internal links are rewritten using a URL-map.

Week 5: SEO + redirect engineering.

This is the most important week. We do not move a single byte of traffic until:

  • Every old URL has either a matching new URL (preferred) or a 301 redirect.
  • Canonical tags are correct on every page.
  • Meta titles + descriptions are 100% migrated, with no truncations.
  • Sitemap.xml is rebuilt and submitted to Search Console.
  • Schema.org JSON-LD is preserved for all article pages.
  • Robots.txt allows crawl on the new domain.
  • OG image tags resolve correctly for every post.

We run a side-by-side comparison crawl (Screaming Frog) between staging and prod, asserting that the title / meta / canonical / schema for every URL is byte-identical or intentionally improved.

Week 6: Cutover + monitor.

The actual switchover takes 15 minutes — DNS update, redirect-rules deployment, Search Console URL inspection. Then 14 days of monitoring: Search Console errors, traffic deltas, conversion rates. We have a tight rollback plan, but in 23 migrations we’ve never needed it.

The SEO-safe redirect script

The single highest-ROI piece of code in a migration. A snippet of what runs on every site:

// middleware.ts — Next.js edge runtime
import { NextResponse } from 'next/server';
import { redirects } from './redirects.map.json';

export function middleware(req) {
  const url = new URL(req.url);
  const target = redirects[url.pathname];
  if (target) {
    url.pathname = target;
    return NextResponse.redirect(url, 301);
  }
  return NextResponse.next();
}

The redirects.map.json is generated from the URL inventory in Week 1. Every redirect is 301 (permanent). No 302s — they don’t pass link equity. No chained redirects — they hurt crawl budget.

The 3 tradeoffs we won’t compromise on

1. We won’t keep the WordPress CMS.

Clients sometimes ask, “Can we keep WordPress as the editor and just render with Next.js?” Headless WordPress works, but it’s the worst of both worlds — you still patch WordPress security, plus the headless layer. Pick a purpose-built headless CMS. Editorial teams adapt in a week.

2. We won’t skip the URL audit.

Every URL must be either preserved or 301-mapped. There’s no “we’ll fix the long tail later.” Long-tail SEO compounds; losing it costs 6–18 months of recovery work.

3. We won’t skip schema migration.

If the old site had Article, Product, Recipe or LocalBusiness schema, the new site has it too — verified via Google’s Rich Results Test. Missing schema is the silent SEO killer; sites lose featured-snippet placement and don’t know why.

What you get on the other side

  • Core Web Vitals score 90+ on mobile, 98+ on desktop.
  • Sub-1-second TTFB for cached pages.
  • Zero plugin-conflict downtime.
  • A/B testing built-in via Vercel’s edge config + feature flags.
  • CMS that doesn’t fight the developer — editorial team ships, developer ships, both stay sane.

None of this is magic. It’s just disciplined migration engineering, applied 23 times, with a tight checklist that doesn’t allow shortcuts on the SEO side. Six weeks. Every time.

Thinking about migrating off WordPress?

Share your current site and a short brief — we'll come back with a migration plan, week-by-week deliverables and a fixed quote.