A Wix to Next.js migration is a rebuild, not an export. Your text, images, CMS collections and product data can come out of Wix, but the design, the Wix apps and any Velo code have to be rebuilt in React. Freelancers typically quote $2,000 to $8,000 and agencies $8,000 to $30,000, and your Google rankings survive if every old Wix /post/ and /product-page/ URL gets a permanent redirect to its new Next.js page.
What moves from Wix to Next.js, and what doesn't?
Text, images, CMS collections and product data move. The design, Wix apps, Velo code and SEO fields don't, at least not automatically. Wix doesn't give you a site export. You get pieces, and each one comes out a different way.
| Item on your Wix site | Does it move? | How |
|---|---|---|
| Page text and headings | Yes | Copied or scraped from the live pages |
| CMS collections | Yes | Export to CSV from the CMS |
| Wix Blog posts | Partly | No export button. The RSS feed shows only the 20 latest posts and has returned links only since March 2025, so it's an API pull, a scraper or copy and paste |
| Images | Yes, if re-hosted | They live on static.wixstatic.com and break once the Wix site goes |
| Meta titles, descriptions, alt text | No bulk export | Captured from a crawl and re-entered |
| Design and layout | No | Rebuilt as React components |
| Wix Stores, Bookings, Members, Forms | No | Replaced with Stripe or Shopify, a booking tool, an auth library and a form handler |
| Velo code | No | Rewritten as Next.js route handlers or server actions |
| Redirects in Wix's Redirect Manager | No | Copied out and added to your new redirect map |
The SEO fields are what catch most people out. Wix keeps titles and meta descriptions in its SEO panel, and the Wix API doesn't return them with post data. So the first job, before anything else, is to crawl the live Wix site and save every URL with its title, description, H1 and canonical. That crawl becomes your source of truth for the rebuild and for the redirects.
What has to be rebuilt from scratch?
Anything that controls how the site looks or behaves gets rebuilt: templates, forms, payments, bookings and the way your team edits content.
- Templates. Each Wix page layout becomes a React component styled with Tailwind CSS. A 10-page site with a blog usually needs five or six templates, not ten pages of one-off work.
- Forms. Wix Forms go away. A HubSpot form works, or a small route handler that emails you and writes to a Google Sheet. On the Taxocity build I saved every lead to a Google Sheet, and you can do the same thing from a Next.js API route.
- Payments and bookings. There's no Next.js switch you flip to get Wix Stores or Wix Bookings back. You pick Stripe Checkout, a Shopify backend or a booking service and wire it in. I built Stripe event bookings for Ravens Ait and other Aura Clips hospitality clients, so I know where they go wrong: failed payments, confirmation emails and tracking.
- Editing. On Wix, anyone can drag a box around. On Next.js, you decide how content gets edited: Markdown files in the repo, a headless CMS, or headless WordPress if your team already knows the WordPress editor. Settle this before you ask for a quote. It moves the price more than anything else on this list.
How much does a Wix to Next.js migration cost?
A Wix to Next.js migration typically costs $2,000 to $8,000 with a freelancer and $8,000 to $30,000 with an agency, and takes about 2 to 8 weeks depending on blog size. These are market ranges, not my rates.
| Who does the work | Typical price | Typical timeline |
|---|---|---|
| Freelance developer | $2,000 to $8,000 | 2 to 4 weeks |
| Agency (stores, member areas, heavy QA) | $8,000 to $30,000 | 3 to 6 weeks for most sites |
On timelines, one migration specialist puts a 5 to 15 page business site at about three weeks and a site with a large blog archive at five to eight.
What pushes the price up:
- Blog size. You can move 20 posts by hand. 300 posts need a scripted pull, image re-hosting and a metadata pass.
- Wix apps in use. Every Wix app (Stores, Bookings, Members, Events) is a feature someone has to rebuild or replace.
- A content editor for your team. A headless CMS adds setup time and sometimes a monthly fee.
- New design or a faithful copy. Rebuilding the current look costs less than redesigning at the same time.
- Integrations. CRM, analytics, payment and email tools all need wiring up and testing.
Running costs usually go down. One comparison puts a Wix plan at $17 to $39 a month against $0 to $20 for Next.js hosting, though a headless CMS or a busy site on Vercel can change that maths. Budget for upkeep as well: Next.js maintenance is a real line item.
How do you redirect Wix /post/ and dynamic URLs in Next.js?
Use permanent rules in the redirects() function of next.config.js: one pattern rule per Wix section where slugs stay the same, and one-to-one pairs for everything else. Wix puts app pages under fixed prefixes. These are the defaults, from Wix's own docs and this URL structure breakdown:
| Wix page type | Default Wix URL | Typical Next.js URL |
|---|---|---|
| Blog post | /post/{slug} | /blog/{slug} |
| Blog category | /blog/categories/{slug} | /blog/category/{slug} |
| Blog tag | /blog/tags/{tag} | /blog/tag/{tag} |
| Store product | /product-page/{slug} | /products/{slug} |
| Store category | /category/{slug} | /shop/{slug} |
| Bookings service | /service-page/{name} | /services/{name} |
| Event | /event-details/{slug} | /events/{slug} |
| CMS dynamic item | /{collection}/{field} | /{section}/{slug} |
Don't trust the defaults blindly. Check your own site. Wix lets you rename the post prefix and remove the product-page prefix, so your live URLs may look different.
When the slug doesn't change, one pattern rule handles a whole section:
// next.config.js
module.exports = {
async redirects() {
return [
{ source: '/post/:slug', destination: '/blog/:slug', permanent: true },
{ source: '/product-page/:slug', destination: '/products/:slug', permanent: true },
]
},
}
permanent: true sends a 308, which Google treats like a 301. Static pages, renamed slugs and merged content need one-to-one pairs. That's where most migrations leak traffic: a handful of high-value pages with no matching rule.
I built the free Redirect Map Builder for exactly this step. I wrote it with sites leaving WordPress in mind, but it takes any list of old and new URL pairs. It gives you a redirects() array for next.config.js and flags chains, loops, duplicates, trailing-slash mismatches and query strings. It runs in your browser, so your URL list never leaves your machine.
- 1
Crawl the live Wix site
Export every indexable URL with its title, meta description and canonical. Add URLs from Search Console's Pages report and any backlinked URLs.
- 2
Copy out Wix's own redirects
Anything in Wix's URL Redirect Manager stops working when the site leaves Wix, so list those old-to-new pairs too.
- 3
Pair every old URL with a new one
Use pattern rules for /post/, /product-page/ and CMS item pages where the slug stays the same, and one-to-one pairs for everything else.
- 4
Run the list through the Redirect Map Builder
Paste old and new pairs, fix the chains, loops and duplicates it flags, then paste the redirects() array into next.config.js.
- 5
Test on staging before DNS moves
Request every old URL on the staging build and confirm each one lands on a 200 page in a single hop.
What should you check after launch?
In the first two weeks after a Wix to Next.js launch, check redirects, leftover Wix images, metadata, canonicals, crawler access and Core Web Vitals. Going live is when the SEO work really starts. This is my list:
- Every old URL. Re-crawl the saved list. Each one should reach a 200 page in one hop. No 404s, no redirect chains.
- No Wix leftovers. Search the codebase and the rendered HTML for
wixstatic.com. Every image should come from your own host. - Metadata parity. Titles, descriptions and H1s should match the pre-launch crawl, or be better on purpose.
- Canonicals and sitemap. Each page needs a self-referencing canonical. Submit the new sitemap in Search Console and inspect your top pages.
- Crawler access. Run the AI Crawler Checker to see whether 14 AI crawlers, including Google's, can fetch your home page, and to check your llms.txt and the sitemaps your robots.txt declares. Run the Security Headers Checker while you're there.
- Speed in the field. Lab scores show up straight away. Core Web Vitals field data takes weeks to catch up.
Expect some movement. Google typically processes a migration within 30 to 60 days, and a small dip in that window is normal when the redirects are right. If traffic is still sliding after that, go page by page through redirects, indexing and content changes. The full list is in my Next.js technical SEO checklist.
Do not cancel the Wix plan on launch day
Wix images are served from static.wixstatic.com and your email DNS may sit in Wix. Re-host every image and move MX records before the plan ends.
If email stops working after the DNS change, it's usually missing or wrong MX records at the new DNS host. My guide to fixing email after a website move walks through it.
When is Wix to WordPress the better choice?
Wix to WordPress is the better choice when a non-technical team edits pages daily, when you run a large product catalogue, or when the budget is tight. Next.js isn't always where you should land. This is how I'd decide:
| Your situation | Better fit | Why |
|---|---|---|
| Marketing team edits pages daily without a developer | WordPress | Visual builders like Bricks or Elementor keep editing hands-on |
| Store with many products and stock rules | WordPress (WooCommerce) | Mature cart, plugins and payment gateways |
| Tight budget, mostly brochure pages | WordPress | Cheaper to build and easier to hand over |
| Speed, custom features or app-like pages matter most | Next.js | Full control over rendering, code and performance |
| You want React speed but WordPress editing | Headless WordPress | Next.js frontend, familiar editor behind it |
If you see yourself in most of the WordPress rows, read my guide to Wix to WordPress migration without losing SEO. The redirect work is almost the same.
What should you ask a developer before you hire?
These seven questions show whether a developer has scoped the job:
- Will you crawl the current site and give me the full URL inventory before you build?
- How will you get the blog posts and images out of Wix, and what happens to meta descriptions?
- Who edits content after launch, and how?
- Can I see the redirect map, and will you test it on staging before DNS changes?
- Do I own the code repository, hosting account and domain?
- What replaces each Wix app we use, and what does it cost each month?
- How long will you monitor Search Console after launch?
A good developer can answer all seven on the spot. If someone gives you a fixed price without asking which Wix apps you use, they haven't scoped the job.
How do I approach a migration off a closed builder?
I work in a fixed order when moving a site off Wix or any closed builder: crawl first, decide how content is edited, rebuild templates, map every URL, test redirects on staging, then move DNS. I build Next.js and React websites that render on the server and are built to rank. My own portfolio runs on server-rendered React with TanStack Start. I've moved a site off a hosted builder before, too: I rebuilt the Aura Clips agency site from Framer onto WordPress with Bricks Builder. Same kind of job: no clean export, templates to rebuild, media to re-host and a redirect plan.
If you're thinking about leaving Wix, send me your site URL and the list of Wix apps you use through the contact page. I'll tell you whether Next.js or WordPress fits better and what the redirect map will involve. Or book a 20-minute call if talking it through is easier.



