# E-commerce replatforming in 2026: a step-by-step migration guide

2026-10-03

Replatforming means moving a running online store from one e-commerce platform to another: products, customers, orders and content go to the new system, and the old one is switched off. Done well, customers notice a faster store. Done badly, search traffic drops for months and support is flooded with "I can't log in" emails.

This guide is the order we work in. It applies whichever platform you move to; where GrandNode does something specific, we say so.

### Should you move at all?

A migration costs weeks of work and some risk. It is worth it when the platform itself is the limit, not when a theme or a plugin is. Good reasons:

- **The platform is end-of-life** or no longer receives security fixes for the version you run.
- **Costs grow with your revenue** - transaction fees, per-order pricing or paid apps for basic features.
- **The business model changed**: several stores, B2B price lists, a marketplace with vendors, or a headless frontend the current platform cannot serve.
- **Your team cannot work with it**: a .NET team maintaining a PHP store, or a closed SaaS where you cannot change what you need.

Weak reasons: "the design looks old" (change the theme), "it is slow" (measure first - hosting, images and caching are often the cause), or a single missing feature that a plugin can add.

### Step 1: Take an inventory of what you have

Before choosing anything, list what the store holds and what it is connected to:

- **Catalog:** products, variants and their attributes, specification attributes used in filters, categories, brands, pictures, prices and stock per warehouse.
- **Customers:** accounts, addresses, customer groups, newsletter consent.
- **Orders:** how many years of history you must keep for accounting and for customers' "my orders" page.
- **Content:** pages, blog posts, and every public URL.
- **Integrations:** payment, shipping, ERP, accounting, marketplaces, email marketing, analytics.

Write down the numbers. "12,000 products with 40,000 variants" leads to a very different plan than "300 products".

### Step 2: Choose the platform with your own data

Compare platforms on the licence, the database, the hosting you will run, and the features from your inventory - see our [comparison of open-source .NET platforms](https://grandnode.com/the-best-open-source-e-commerce-web-applications). Then do the one test that matters: import a sample of your real catalog (a few hundred products, with your messiest variants) into each candidate and look at it in the store.

### Step 3: Map every old URL before you build anything

This is the step that decides whether you keep your search traffic. Google ranks addresses, not products. If `/index.php?route=product&product_id=42` ranks today and returns 404 tomorrow, that ranking is gone.

1. **Collect every address**: the sitemap, an export of the URLs from Google Search Console (Pages and Links reports), and a crawl of the site. Sitemaps are often incomplete - when we rebuilt grandnode.com, the old sitemap listed 298 addresses, but crawling the news list and the old HTML sitemap found 41 more, including the landing pages that ranked best.
2. **Decide each one**: keep the same address on the new platform, or send it with a **301 (permanent) redirect** to the page that answers the same question. Never redirect everything to the home page - search engines treat that as a missing page.
3. **Avoid chains**: if A redirects to B and B to C, point A straight at C.
4. **Keep the archive**: save the old pages' content before you switch off the old platform. You cannot crawl it afterwards.

In GrandNode, an item's address is its *search engine friendly name*, so you can often keep the old slug as it is. For everything else, a rewrite map in `App_Data/UrlRewrite.xml` answers old addresses with 301s - see [URLs and redirects](https://grandnode.com/seo-urls-and-redirects). For grandnode.com that map holds 285 addresses, generated from a list of decisions rather than typed by hand.

### Step 4: Move the data

#### Products

Map the old structure to the new one first: which old fields become product attributes (choices the customer makes, like size), which become specification attributes (facts used in filters, like material), and how variants become attribute combinations with their own SKU and stock. In GrandNode, a spreadsheet import matches rows by Id, then by SKU, so you can import, check and re-import - see [import, export and bulk edit](https://grandnode.com/catalog-import-export-bulk-edit).

#### Customers and passwords

Customer accounts move; passwords usually do not. Every platform hashes passwords differently, and a hash cannot be turned back into a password. Plan a friendly "set your new password" email for launch day instead of discovering the problem in support tickets.

#### Orders

Import order history so customers keep their "my orders" page and you keep reporting. Old orders are read-only records - they do not need to pass through the new payment provider.

#### Content

Move pages and blog posts with their original addresses and dates, and re-host their images: images linked from the old domain break when it goes away.

### Step 5: Test on a copy

- Run a full import into a staging copy and compare counts: products, variants, customers, orders.
- Place real test orders with every payment and shipping method.
- Request every old URL from your list against staging and check that each one answers 200 or 301 to a page that answers 200. A script beats clicking: it takes seconds and you can run it again after every fix.
- Check structured data, canonical tags and the new sitemap.

### Step 6: Launch day checklist

1. Freeze changes on the old store; run the final import of orders and customers.
2. Switch DNS; confirm HTTPS and one canonical host (with or without www).
3. Enable the redirect map and test a sample of old URLs on the live domain.
4. Submit the new sitemap in Google Search Console and Bing Webmaster Tools.
5. Send the password email to customers.
6. Keep the old platform's data export somewhere safe.

### After launch: watch Search Console for four weeks

Expect some movement in rankings for a few weeks while search engines recrawl. Watch the "Not found (404)" list in Search Console daily for the first week and add a redirect for every old address that shows up there. If traffic has not returned after two months, compare the pages that lost traffic with your redirect map - the cause is almost always an address that was missed.

### Moving to GrandNode?

If you are moving to GrandNode, we can migrate the data for you at a fixed price: products with attributes and variants, categories, brands, customers, order history, reviews, pages, blog posts, SEO URLs and redirects. [Request a migration quote](https://grandnode.com/migration) - it is free and takes two minutes.

- [Web page](https://grandnode.com/ecommerce-migration-the-ultimate-guide-to-replatforming-ecommerce)
