← All writing

From WordPress to a Modern Stack: Rebuilding with Next.js & a Real API

WordPress powers a huge share of the web for good reasons: it's familiar, it has a plugin for everything, and non-developers can edit content. But it's also where a lot of sites go to get slow, fragile, and scary to update. Having built plenty on WordPress and then rebuilt away from it, here's an honest look at when to migrate, what you gain, and how to do it without a rewrite-from-hell.

When to stay on WordPress

Migration isn't always the answer. Stay if:

  • Non-technical people need to edit content daily through a friendly admin.
  • The site is content-heavy and largely static, and it performs fine.
  • Your team knows the WordPress ecosystem and has no appetite to learn a new stack.

There's no prize for using a trendier tool. If WordPress isn't hurting, leave it alone.

When to move

Consider a modern stack when the pain is real:

  • Performance - page loads are slow and plugin bloat makes them worse over time.
  • Security & maintenance - every plugin is attack surface, and update anxiety is real. WordPress and its plugins are a perennial target.
  • Custom functionality - you're fighting the CMS to build app-like features it was never meant for.
  • Developer experience - you want version control, real tests, typed code, and CI/CD instead of editing PHP through an admin panel.

What "modern stack" means here

A common, durable target is a decoupled architecture:

  • A frontend framework like Next.js - fast, server-rendered pages with great SEO defaults.
  • A real API (say, Node/Fastify + Postgres) as the source of truth for your content and features.
  • Everything in version control, deployed with a repeatable pipeline instead of live edits.

You can even keep WordPress purely as a headless CMS if editors love it - serve content from its REST API into a Next.js front end. Best of both worlds: familiar editing, modern delivery.

Migrating without a big-bang rewrite

The mistake is trying to rebuild the whole thing at once. A calmer path:

  1. Inventory the content and features. Which pages are pure content? Which are genuine app functionality? They migrate differently.
  2. Export the content. WordPress content is data - pull it out via its REST API or a database export, and map it into your new content model.
  3. Rebuild pages incrementally, and preserve URLs. This is critical for SEO - set up redirects from old permalinks to new ones so you keep your rankings.
  4. Run both in parallel behind the scenes, cut over a section at a time, and only decommission WordPress once the new site is proven.
  5. Keep an editing story. If editors need it, wire up a headless CMS or an admin so content changes don't require a deploy.

What you gain

Done well, the payoff is concrete: faster pages, a smaller attack surface, code you can test and review, and features that used to fight the CMS now feeling natural. You trade a familiar admin for engineering leverage - and for the right project, that trade is very much worth making.

The honest caveat

Migrations have real cost and real risk, mostly around SEO and content parity. Preserve URLs, redirect everything, and verify search visibility after cutover. Rushed migrations that drop old links are how sites lose traffic - so treat the redirect map as a first-class deliverable, not an afterthought.

Thinking about moving off WordPress? Let's talk - I've done this migration and can help you do it without losing what works.