Service · Updated
Website Migration to Next.js
A website migration moves your content off a platform that has become the ceiling and onto a custom-coded, server-rendered site, while every URL that earns traffic keeps working. Each platform exports a different amount; the pages below say exactly what each one documents, what we rebuild, and how rankings are preserved.
Choose your starting platform
Each page lists what the vendor documents you can export, what cannot be exported, what we rebuild, and the platform-specific SEO notes.
- WordPress → Next.jsWordPress to Next.js MigrationHow Webvello moves a WordPress site to Next.js without losing rankings: what the WXR export carries, what must be rebuilt, and the redirect plan.Read the plan
- WordPress → Headless CMS + Next.jsWordPress to Headless CMS MigrationMoving WordPress content into a headless CMS with a Next.js frontend: what the export carries, how content is remodeled, and how SEO is preserved.Read the plan
- Wix → Next.jsWix to Next.js MigrationWix does not export a site or its blog posts. How Webvello rebuilds a Wix site on Next.js, recovers the content, and keeps the URLs that earn traffic.Read the plan
- Squarespace → Next.jsSquarespace to Next.js MigrationSquarespace exports pages, one blog and text/image blocks, and leaves out store, portfolio and video content. How Webvello handles the gap on Next.js.Read the plan
- Webflow → Next.jsWebflow to Next.js MigrationWebflow code export gives you HTML, CSS and JS but not CMS content, working forms or ecommerce. How Webvello migrates a Webflow site to Next.js properly.Read the plan
- Shopify theme → Headless Next.js storefrontShopify to Headless Next.js MigrationKeep Shopify as the commerce backend and replace the theme with a Next.js storefront. What the CSV export leaves out and how product URLs are preserved.Read the plan
- HubSpot CMS → Next.jsHubSpot CMS to Next.js MigrationHubSpot exports pages, posts and templates as HTML and posts as CSV. How Webvello moves a HubSpot CMS site to Next.js while keeping HubSpot forms and CRM.Read the plan
- Drupal → Next.jsDrupal to Next.js MigrationDrupal 7 reached end of life on January 5, 2025. How Webvello migrates Drupal content to a headless CMS and Next.js while keeping every URL that earns.Read the plan
What each platform lets you take with you
Summarized from each vendor’s documentation; the per-platform pages quote and link the sources.
| Platform | Documented export | Documented gaps |
|---|---|---|
| WordPress | WordPress documents that the Tools Export screen produces a WXR (WordPress eXtended RSS) XML file containing "your posts, pages, custom post types, comments, custom fields, categories, tags, custom taxonomies, and users". | The theme, page-builder layouts and plugin configuration are not content and do not travel in the export; they are the presentation layer we rebuild. |
| WordPress | WordPress documents that the export file contains posts, pages, custom post types, comments, custom fields, categories, tags, custom taxonomies and users. | Theme and builder layouts do not travel; the content model is designed fresh around what the pages actually contain. |
| Wix | Wix states: "Currently, it is not possible to export blog posts to other platforms." | No site export. Pages, layouts and the blog cannot be transferred to another host, so the content is captured from the published pages and re-entered as structured content. |
| Squarespace | Squarespace documents an export to an .xml file "formatted for WordPress" that includes layout pages, one blog page with its posts (up to 1,000 comments per post), text blocks, image blocks, and gallery pages. | Per Squarespace, other page types do not export: album, cover, index, info, calendar, portfolio and store pages. |
| Webflow | Webflow documents that code export produces the site HTML, CSS, JavaScript and assets. | Per Webflow, CMS content, Ecommerce content, User Accounts, code components and localized pages are not included in the exported code. |
| Shopify theme | Shopify documents a products CSV export, used for "creating backups, moving products to a new store" and bulk editing; it can cover all products or a filtered set. | Per Shopify, product images "aren’t included in the CSV file", and SEO title and description columns are blank unless they were customized. |
| HubSpot CMS | HubSpot documents an export of "pages, blog posts, and templates" as HTML, delivered by a download link sent by email, with template files in a Styles folder. | Per HubSpot, report exports contain page-level data and metrics only, not full HTML content. |
| Drupal | Drupal content is structured by design: nodes, fields, taxonomy terms and file references can be exported through Drupal’s APIs or directly from the database, which makes mapping to a headless content model straightforward. | Themes, Views configuration and module behavior do not transfer; they are rebuilt as components and queries in the new stack. |
Not sure what your platform will let you export?
The free audit inventories your URLs, checks what earns traffic, and tells you what a migration would have to preserve.
How rankings are preserved
The same eight steps run on every migration regardless of platform.
- 1
Inventory every URL that exists and every URL that earns
Crawl the live site, pull the sitemap, and export the Search Console Pages and Performance reports. The union is the redirect map input; the Performance rows decide what must be preserved exactly.
- 2
Decide the new URL structure before building
Keep paths where they are sane. Change them only where the old structure was a liability, and record the change in a one-to-one map. No wildcard redirects to the homepage.
- 3
Carry metadata field by field
Titles, descriptions, canonicals, Open Graph and existing structured data are exported with the content and loaded into the new pages, then diffed against the live site.
- 4
Rebuild structured data from one identity
One Organization node with the real address, phone and founder; Service, Article and FAQ markup that mirrors the visible page; validated before launch.
- 5
Preserve internal links and images
In-body links are rewritten to the new paths rather than left to bounce through redirects. Images are self-hosted so nothing depends on the old platform staying up.
- 6
Test the redirect map against the inventory
Every old URL is requested and must return one 301 to a 200 page. Chains, loops and 404s fail the launch.
- 7
Cut over and submit
DNS switch, new sitemap submitted, IndexNow ping, and a full crawl of the new site within the first day.
- 8
Monitor index coverage for a month
Indexed versus submitted, crawl errors, redirect-reported URLs and the top earning queries are checked weekly. A migration is done when coverage matches or beats the old site, not when the new one is live.
The reason step eight matters is covered in our index coverage research: a migrated site is only done when indexed-versus-submitted matches or beats the old one.
How the engagement runs
| Phase | What happens |
|---|---|
| Discovery | Goals, constraints, what the current platform does well, what it blocks. Access to analytics, Search Console and the admin. |
| Inventory | URL list, content audit, export of everything the platform allows, capture of everything it does not. |
| Content model and design | Document types and fields, page templates, components. Approval before build. |
| Build | Next.js frontend, CMS setup, content load, forms, schema, analytics and consent. |
| Redirect map and QA | Old to new URL map, automated redirect test, page-by-page content diff, accessibility and performance checks. |
| Cutover | DNS switch, sitemap and IndexNow submission, first crawl, old platform kept read-only until coverage is confirmed. |
| Monitoring | Weekly index coverage, crawl errors and query checks for a month; fixes shipped as found. |
Common questions
Will a website migration hurt my rankings?
Not if every URL that earns traffic keeps its path or receives a single 301 to an equivalent page, the content and metadata are carried over, and the new site is crawled and indexed cleanly after launch. Losses come from dropped pages, redirect chains, changed canonicals and blocked crawlers. The redirect map and the post-launch monitoring exist to prevent exactly those.
Do I need to keep the same URLs?
Keep them where they are sensible. Change them only when the old structure was a liability, and record every change in a one-to-one map. Never redirect everything to the homepage.
Which platform exports the least?
Wix. It documents that blog posts cannot be exported to other platforms and offers no site export, so a Wix migration is a rebuild from the published pages. Squarespace exports pages and one blog but not store, portfolio or video content. Webflow exports code but not CMS, ecommerce or working forms. WordPress, HubSpot and Drupal export their content in usable form.
Can my team keep editing content after the move?
Yes. Content moves into a headless CMS with an editor and previews. The public site is custom code; the editing experience is a form-based interface rather than a page builder.
How long does a migration take?
It depends on page count, how much the platform exports, and how much must be captured by hand. The phases are discovery, inventory, content model and design, build, redirect map and QA, cutover and a month of monitoring. We give a dated plan after the inventory, not before.
Related
Planning a move?
Tell us the platform and the page count and we will come back with what can be exported, what has to be rebuilt, and a dated plan.
Book a Free Call