WordPress to Next.js: what moves, what breaks, what it costs
Moving a business website off WordPress and onto Next.js is step 03 work: EUR 1.500-3.500 for four to seven pages with a CMS, service pages and a booking or contact flow, over 3-6 weeks. A two or three page site is step 02 at EUR 900-1.500, and anything carrying login, a dashboard, an API, a CRM, payments or a chatbot is step 04 at EUR 3.500-7.500, over 6-12 weeks.
Copying the pages across is the easy part. What costs money is everything a plugin quietly did that nobody wrote down, so this page spends its time on finding that before a price is agreed.
What actually moves
A migration is not a copy of the WordPress database. Some parts come across as they are, some are rebuilt, and some are left behind on purpose.
| Part of the site | What happens | What it takes |
|---|---|---|
| Page copy and headings | Moves | Exported, reviewed, and placed into a content model built for your pages rather than for a theme |
| Blog posts and categories | Moves | Exported with dates, authors and slugs kept |
| Images and files | Moves | Pulled from the media library and served at the sizes each layout actually uses |
| URLs | Kept or redirected | Kept where they make sense, permanently redirected where they change |
| Editing for your team | Replaced | A headless CMS takes the place of the WordPress admin |
| Theme and page builder layouts | Rebuilt | Recreated as components, which is also where the design gets cleaned up |
| Plugins | Left behind | Each one becomes a decision: rebuild what it did, replace it with a service, or drop it |
| Form entries already collected | Exported | The form is rebuilt; old entries go to a file and do not live in the new site |
Eight things that break
Go through these with your own site open. Each one you find is a line in the quote, and finding it before a price is agreed is cheaper than finding it after launch.
- Shortcodes and page builder blocks. Content inside a page builder is stored as builder markup, not clean text. It comes out full of brackets and has to be rewritten into the new content model.
- Pages a plugin generates. Search results, filtered archives, event listings, calculators. None of them exist as pages you can export, so each one is rebuilt or retired.
- Form entries. Contact form submissions sit in the WordPress database. Export them before anything is switched off.
- Old redirects. A redirect plugin may be holding a long list of rules. Those rules have to be read, cleaned and moved, or old links start returning errors.
- Emails a plugin was sending. Contact notifications, newsletter confirmations, booking reminders. Something else has to send them, and each one gets tested against a real inbox.
- Tracking and consent. Analytics, tag managers, pixels and the cookie banner are added again deliberately rather than inherited. This is also the moment to remove the tags nobody reads.
- Sitemap, feeds and structured data. An SEO plugin was generating these. The new site generates its own, and they are checked before launch.
- Anything behind a login. Memberships, gated downloads, client areas. That work is step 04, not a line item on a content migration.
What it costs
| Your site after the move | Step | Price | Time |
|---|---|---|---|
| Two or three pages, contact flow, basic CMS | Step 02 | EUR 900-1.500 | 2-3 weeks |
| Four to seven pages, CMS, service pages, booking or contact | Step 03 | EUR 1.500-3.500 | 3-6 weeks |
| Login, dashboard, API, CRM, payments, chatbot | Step 04 | EUR 3.500-7.500 | 6-12 weeks |
| Custom platform with auth, billing, admin and deployment | Step 05 | from EUR 7.500 | after discovery |
Two things move the price inside a step. The first is how much of your content is locked inside a page builder, because that is rewriting rather than exporting. The second is how many plugins do real work, because each one has to be rebuilt, replaced or dropped. A fixed quote follows scoping, and every step is laid out on packages.
Search work is priced separately. SEO foundation is a one-off at EUR 450-750, and a migration is the natural moment for it, because titles, internal links and indexation are all being touched anyway. If you want continued work after launch, SEO growth is EUR 500-800 per month and care is EUR 100-300 per month.
How the migration runs
- Inventory. Every URL, plugin, form and outgoing email, written into one list.
- Content model. The page types your business needs, defined in the CMS before anything is moved into it.
- Build. Components, pages and integrations in Next.js, on a preview address you can click through.
- Content and redirects. Content moved and reviewed, and a redirect written for every URL that changes.
- Launch and check. Domain switched, sitemap submitted to Search Console, forms and emails tested live.
At step 02 that runs 2-3 weeks, at step 03 3-6 weeks, and at step 04 6-12 weeks. The inventory and the content review are the parts that wait on you, because only you know which pages still earn their place. How design and code are handled together is described on design and engineering, and the stack itself on Next.js development in Amsterdam.
When not to bother
WordPress is not broken by being WordPress. Moving is worth the money when it removes a problem you actually have.
- You edit it happily and it loads quickly. Leave it where it is. If the goal is more visitors, SEO foundation at EUR 450-750 one-off does more for that than a change of framework.
- The real problem is that nothing gets updated. That is a maintenance gap, and a new framework with nobody looking after it ends up in the same place. Care covers updates, monitoring, backups and small fixes, not redesign or new features.
- A plugin does something central and does it well. If your bookings or memberships run on a plugin that works, rebuilding it costs real money to arrive where you already are.
- You are also redesigning. Then it is not a migration. Price it as a rebuild at the step the new scope lands on, and stop treating the old content as fixed.
Migrate when editing has become fragile, when speed problems survive a plugin cleanup, or when the next thing you need, such as accounts or an API, is easier to build on a codebase you own outright.
Questions buyers ask
Will I lose my search rankings?
The risk comes from URLs that disappear, not from the framework. Every URL that changes gets a permanent redirect to its new address, titles and descriptions are carried across deliberately, and the new sitemap goes to Search Console on launch day. The URLs nobody listed are the ones that go missing, which is why the inventory comes first.
Can my team still publish without a developer?
Yes. A headless CMS replaces the WordPress admin, and from step 02 upwards a CMS is part of the build. The editing screens are shaped around your own page types, so there are fewer options to get wrong than in a theme that exposes everything.
What about WooCommerce?
A shop with a cart and checkout is step 04, EUR 3.500-7.500, over 6-12 weeks. Products, customers and order history each need a decision on where they live afterwards, and payments are tested end to end before launch. It is priced as a build that handles money, not as a content migration.
Who owns the new site, and where does it run?
You own the code, the repository and the database. Hosting is agreed per project, before the build starts, and written into the quote.
Send your WordPress URL and a line on what is bothering you through the contact form, and you get an answer on whether to migrate at all, and at which step.
Building something?
JP Studio designs and builds websites, storefronts and product interfaces.