Skip to content

Build & Replatform · Ecommerce development

Ecommerce migration services that account for every old URL.

An ecommerce migration service moves your products, customers, orders and content to a new platform, maps every old URL, serves permanent redirects to new addresses, rewires the integrations and plans a cutover that keeps the store selling. Our ecommerce migration services show their work: how redirects are built and tested, how data is checked, and what happens to customer passwords.

Last reviewed

What an ecommerce migration service covers

A replatform is a house move with the shop still trading. Everything below goes in the truck, and every box gets counted at the other end.

  • Data. Products, variants, categories, custom attributes, customers, orders, reviews, CMS pages and media, mapped field by field to the new platform's model and imported in the order the target documents.
  • URLs and redirects. Every old URL inventoried and mapped, with a permanent redirect for each one that has a new home, then tested before launch. The method is below.
  • Customer accounts. Accounts and addresses move across (a Shopify CSV carries only the default address), and customer groups map to the target's nearest equivalent. Passwords usually don't move, so the first login gets planned and the customer email gets written before launch day.
  • Integrations. ERP, feeds, tax, shipping, payments and marketplaces, rewired and tested against the new platform.
  • Theme and content. The new storefront itself, which is ecommerce development work, plus the pages, blog posts and files that rank.
  • Cutover. A content freeze, a final sync of new orders and customers, the DNS switch and a written rollback plan.
  • Post-launch monitoring. A launch-day crawl, Search Console watched for new 404s, and order and sync logs checked until the numbers settle.

Ecommerce platform migration services that stop at "the products imported" leave the expensive half undone: the URLs, the logins and the plumbing. We scope all seven before anything moves.

The routes we handle

We move stores between Magento, Shopify, BigCommerce and WooCommerce in the directions below, and from a monolithic storefront to headless Next.js. Every route has one step that bites harder than the rest; the table names it.

Migration routes we handle, and the hardest part of each · As of
FromToThe hard partRoute page
Magento to Shopify: MagentoShopifyURL shape and logins. Magento's default .html URLs move to Shopify's fixed /products/ and /collections/ paths, Shopify redirects fire only on URLs that 404, and customer passwords usually stay behind.Magento to Shopify migration
Shopify to Magento: ShopifyMagento Open Source or Adobe Commerce on cloud infrastructureUpkeep and logins. Shopify's fixed paths become Magento URL keys and rewrites, apps become modules, and hosting (on Open Source), PHP upgrades and security patches become your job. Shopify's customer export has no password column, so every customer sets a new one.Shopify to Magento
Magento 1 or older Magento 2 to current Magento 2: Magento 1, or an older Magento 2Current Magento 2Code, not data. Magento 1 themes and modules get rebuilt. Core data moves with Adobe's Data Migration Tool, whose newest release targets 2.4.8, so the move lands there and then upgrades; media is copied separately and each extension's tables need their own mapping. From an older 2.x, every module must run on the target release's PHP version (8.5 for 2.4.9, per Adobe's system requirements).Magento upgrade
Magento to BigCommerce and back: MagentoBigCommerce, and backProduct structure. Configurable products become BigCommerce variants, capped at 600 per product, and modifiers can't carry a SKU or track stock.None
WooCommerce or BigCommerce to Shopify: WooCommerce or BigCommerceShopifyRedirect volume. Every product and category URL changes shape under Shopify's fixed paths, and Shopify allows 100,000 redirects below Plus.None
Magento, Shopify or BigCommerce to WooCommerce: Magento, Shopify or BigCommerceWooCommerceThinner import tooling. The built-in CSV tool handles products; customers and orders go in through the REST API.Migrating to WooCommerce
Monolithic storefront to headless Next.js: A monolithic storefrontHeadless Next.jsSEO plumbing moves into code. Redirects, canonicals and structured data become your frontend's job, and Next.js sends a 308, not a 301, for a permanent redirect; Google treats both as permanent.Going headless

Leaving Magento for Shopify? That route has its own page, B2B parity table included: Magento to Shopify migration.

Migrating to WooCommerce

We move stores onto WooCommerce from Magento, Shopify or BigCommerce. WooCommerce hands you the code and the hosting, and coming from Shopify or BigCommerce, every job the platform did quietly becomes yours: caching, updates, security patches and backups. Products come in through WooCommerce's built-in CSV tool, variations and external image URLs included. Customers and orders go in through the WooCommerce REST API, which has create and batch endpoints for both. Owning the code has one perk on moving day: passwords from a Magento store can survive, as the password section below explains. Need a WooCommerce migration agency that keeps the site patched afterwards? That's a retainer.

How we map and test redirects

Google's site-move guide is blunt about the short term: "Expect temporary fluctuation in site ranking during the move." Lasting losses usually come from linked old URLs that now answer 404. Its rules guard against those: map old URLs to new ones, use server-side permanent redirects, point each straight at its final destination and keep them for at least a year. Our method builds on them:

Our redirect-mapping and data-validation method, with the source each step rests on · As of
StepWhat we doSource
InventoryEvery old URL, from sitemaps, server logs, analytics, Search Console, backlink reports, a full crawl of the old store and the platform's URL rewrites, plus images, video and files.Google: site moves
RulesOne-to-one for products and categories, patterns only where the URL shape is regular, consolidation only into a true equivalent. Never a catch-all redirect to the home page; no equivalent gets a 404 or 410.Google: site moves
TypeServer-side permanent redirects, 301 or 308. No meta refresh, no JavaScript redirects.Google: redirects
ChainsEvery redirect points straight at the final URL. Old redirects get rewritten to the new destination, never stacked.Google: site moves
Staging testEvery mapped URL requested on staging, not a sample. Status code and final destination checked for each.Our method
Data checksRecord counts, order totals, tax and customer-group mapping reconciled against the old store before sign-off.Our method; Shopify's import order
Launch crawlOn launch day, every old URL crawled on the live site and diffed against the map; new sitemap submitted, staging noindex and robots blocks removed, Search Console watched for new 404s.Our method; Google: site moves
RetentionRedirects stay up for at least a year, as Google advises, and ideally for good.Google: site moves

Shopify hides two rules in its small print. A redirect fires only from a broken URL: if anything still loads at the old path, the redirect is ignored. And Shopify redirects are one path to one target, capped at 100,000 below Plus. A large catalog with a long URL history can outgrow that cap, so we count the map before you pick a Shopify plan.

Our receipt for this method: tens of thousands of redirects mapped for a zero-downtime replatform.

Redirects are the floor of ranking protection, not the whole house. Benchmarks, content and internal-link parity, structured data and the post-launch Search Console watch belong to ecommerce SEO, before launch and after it.

Data migration and validation

"The import finished" and "the data arrived intact" are different sentences. Plenty of ecommerce data migration services stop at the first one. We don't sign off until the second one is proven.

Before the first import, every field gets a destination on the target (a custom attribute might become a Shopify metafield), and anything with no home there is written down, not dropped. Then we import in the order the target platform documents. Shopify's is explicit: "Import your products first, then your customers, and then any historical orders," so each order can connect to its products and its customer. The same page buries a line that saves an inbox: staff set to receive new-order notifications get "a new order email for each imported order", so those notifications go off before the order import and back on after.

Before cutover, every migration passes these checks, for each entity the store has:

  1. Record counts. Products, variants, categories, customers, orders, reviews and gift cards counted on both stores, entity by entity.
  2. Order totals and tax. Subtotal, discounts, shipping and tax reconciled per order, and the grand total reconciled across every imported order.
  3. SKU spot checks. A sample compared field by field against the old store, weighted toward best sellers and the products with the most variants.
  4. Customer-group mapping. Every customer in the right group, tier or price list, so B2B buyers see their own prices the first time they sign in.
  5. Attributes and media. Custom attributes, images and files present on every record that had them.
  6. A signed validation report. The counts, the reconciliation and every exception we found, signed off by your team.

If a number doesn't match, the cutover waits.

Customer passwords, order history and gift cards

Passwords usually stay behind. Shopify says it plainly: "you can't migrate customer passwords from another online store using a CSV," so "you need to invite your customers to create new passwords". That invite belongs to legacy customer accounts, which Shopify has deprecated; on customer accounts, sign-in is a one-time 6-digit code by default. Either way, Shopify's own sign-in can't take an old password. The exception is Shopify Plus with your own identity provider that imports the old hashes, which we scope per project.

Magento 1 to Magento 2 is the route where most passwords survive. Adobe's Data Migration Tool carries each customer's password hash across and tags the salted MD5 and SHA-256 hashes Magento 1 wrote, which Magento 2 still checks and upgrades the next time that customer signs in on the storefront. Passwords last set on Magento 1.9.4.3 or 1.9.4.4 are bcrypt or SHA-512 hashes that only the tool's own login plugin can check, so the tool stays installed until those customers have signed in. Hashes written by third-party extensions don't carry over.

On WooCommerce, WordPress's check_password filter lets a login plugin accept a Magento store's hashes at first login (from BigCommerce, a first-login check against its API while the old store is live), and WordPress then stores a fresh bcrypt hash, its default since 6.8. On Magento 2 and WooCommerce alike, we test real accounts of each hash type on staging before telling anyone their password still works.

Order history and gift cards go through migration apps or Shopify's Order, Transaction and GiftCard APIs, per its migration guide. The GiftCard API can recreate each card with its remaining balance, and with its original code when that code is 8 to 20 letters and numbers.

Cutting over without stopping sales

The old store keeps taking orders while the new one is built and tested on staging. This is where an ecommerce website migration service proves itself. The switch is a rehearsed release, not a leap of faith:

  1. Content freeze. Catalog, price and CMS changes stop on the old store; orders don't. Adobe's Magento 1 migration guide draws the same line: no Admin changes "except for order management".
  2. Delta sync. Orders, customers and stock that changed since the main import move across in a final pass: the Data Migration Tool's delta mode on a Magento 1 move, an API job elsewhere.
  3. DNS cutover. The domain moves to the new platform with every redirect already live. Same domain? Skip Search Console's Change of Address tool; Google says you only need it for moves to another domain or subdomain.
  4. Rollback plan. Written before launch: what triggers it, who calls it, and how orders placed on the new store reach fulfillment if it fires.
  5. Launch-day crawl. The old URL list crawled against the live site, and a test order placed and refunded through every payment method.

Then everything stays under watch until orders, syncs and new 404s are back to normal.

The integrations that move with you

The plumbing. A new storefront means every connection behind the old one gets rewired: ERP syncs for orders, stock and prices (NetSuite or another ERP), distributor and channel feeds, tax and shipping rules, payment gateways, and eBay or Amazon connections. The failures are quiet, like a feed still reading the old store's export or a tax rule nobody re-created, and the first sign is a wrong invoice. So each connection is tested against the new platform before cutover, and a rebuilt sync runs beside the old one until the numbers match. That's the discipline behind our ERP integration work, and its proof line: ERP syncs made several times faster, with silent data loss eliminated.

Migration app or migration agency?

Use the app when the store is simple. Call the agency when it isn't. What each tool does well:

Where they all stop: none of them finds the URLs that live only in your logs, backlinks and Search Console, decides what happens to a page with no obvious twin, rebuilds B2B rules the target doesn't have natively, or signs a validation report. That half is what an ecommerce migration agency is for.

Should you replatform at all?

Sometimes the best migration is the one you don't run. An ecommerce migration company that never tells a client to stay put is selling moves, not outcomes. Before anyone maps a URL, answer three questions:

  • Is the platform the problem? A slow theme, one bad extension or a version that stopped getting security patches can be fixed where it is, and that's usually a smaller job than a new platform.
  • Can you upgrade in place? A Magento store on an old 2.x can take a Magento upgrade to current 2.4 and keep its URLs and data where they are.
  • Does the new platform do what yours does? B2B pricing, quotes, multi-store and configurators are where platforms differ most.

When the choice is genuinely open, you want an ecommerce replatforming consultant on your side of the table before the vendor demos, not after. That's the job of a fractional head of ecommerce: the roadmap, the vendor shortlist, a P&L lens. We build on Magento, Shopify, BigCommerce, WooCommerce and headless Next.js, so there's no platform we need you to pick.

What drives the cost of a migration

We don't publish migration prices. Two catalogs of the same size can hide very different amounts of work, and a number on a web page can't see which one you have. What sets the scope:

  • Catalog and URL count: products, variants and every old URL that needs a redirect.
  • Data quality: duplicates, orphaned attributes and missing SKUs get cleaned before anything moves.
  • Customizations and B2B rules: custom modules, customer-group pricing, quotes and approvals to rebuild.
  • Integrations: every ERP, feed, marketplace and payment connection to rewire and retest.
  • Storefronts: each extra store, language or currency multiplies the mapping.
  • The team on your side: who signs off on data, content and testing.

For what the market typically charges, with sources, read what a rebuild costs.

Ecommerce migration questions

What is a good ecommerce migration strategy?

Decide whether to move at all, then inventory every URL and data source, map redirects and fields, import to staging, reconcile counts and totals, test every mapped URL, and cut over with a content freeze, a delta sync and a rollback plan. Treat rankings, logins and integrations as launch blockers.

What should we consider before an ecommerce platform migration?

Six things: whether the new platform handles your catalog and B2B rules natively; how many URLs need redirects, and whether the target caps them (Shopify allows 100,000 below Plus); what happens to passwords; which integrations need rewiring; who signs off on the data; and whether upgrading in place fixes the real problem.

How do we plan an ecommerce platform migration?

Plan backwards from cutover. List what must be true on launch day: redirects tested, data reconciled, integrations passing, customers told how to sign in, a rollback plan agreed. Then sequence the work: URL and data inventory, field mapping, staging imports, validation, redirect testing, a content freeze and delta sync.

Do customer passwords and order history carry over?

Order history does, through apps or APIs. Passwords usually don't: Shopify states that "you can't migrate customer passwords from another online store using a CSV", so customers set new ones or sign in with a one-time code. Magento 1 to Magento 2 keeps most passwords working, because Magento 2 still checks the hashes Adobe's migration tool carries across.

Can the store stay live during the move?

Yes. The old store keeps taking orders while the new one is built on staging. Near the end comes a content freeze on catalog and CMS changes, never on orders. A delta sync moves the latest orders and customers, DNS switches with every redirect live, and a rollback plan stands by.

Should we use a migration agency or a migration tool?

A tool, if the catalog is simple and URLs barely change: Cart2Cart, LitExtension and Matrixify move records well. An agency once there are B2B rules, integrations or a long URL history, because no tool finds URLs that live only in your logs and backlinks, decides where a page with no twin goes, or signs a validation report.

What does an ecommerce migration cost?

We don't publish prices; same-size catalogs can hide very different amounts of work. The drivers are catalog and URL count, data quality, customizations and B2B rules, integrations, the number of storefronts and the team on your side. The hidden costs are the ones nobody scoped: redirects, data cleanup and integration retesting. Our cost guide covers typical market rates, with sources.

Sources

  1. 1 Google Search Central: Site moves with URL changes · checked
  2. 2 Google Search Central: Redirects and Google Search · checked
  3. 3 Shopify Help Center: Migrating to Shopify · checked
  4. 4 Shopify Help Center: Importing customers · checked
  5. 5 Shopify Help Center: URL redirects · checked
  6. 6 Shopify Help Center: Sign-in options for customer accounts · checked
  7. 7 Shopify Help Center: Upgrading from legacy customer accounts · checked
  8. 8 Shopify Help Center: Connecting your own identity provider · checked
All 40 sources
  1. 9 Auth0 docs: Bulk user import schema and password hashes · checked
  2. 10 Shopify developer docs: GiftCardCreateInput · checked
  3. 11 Adobe Experience League: Data Migration Tool, migration overview · checked
  4. 12 Adobe Experience League: Data that requires manual migration · checked
  5. 13 Adobe Experience League: Migrate changes (delta mode) · checked
  6. 14 Adobe Experience League: Adobe Commerce system requirements · checked
  7. 15 Adobe Experience League: Product URL rewrites · checked
  8. 16 Adobe Experience League: Security patch release notes · checked
  9. 17 Magento Data Migration Tool on GitHub · checked
  10. 18 Magento Data Migration Tool releases · checked
  11. 19 Data Migration Tool source: customer password hash conversion · checked
  12. 20 Data Migration Tool source: AuthenticationPlugin · checked
  13. 21 Magento 2 source: Encryptor hash versions · checked
  14. 22 Magento 2 source: UpgradeCustomerPasswordObserver · checked
  15. 23 Magento 2 source: storefront login events (events.xml) · checked
  16. 24 Magento 2 source: catalog URL suffix defaults (config.xml) · checked
  17. 25 Magento 1.9.4.3 source: password hashing (Core helper) · checked
  18. 26 Magento 1.9.4.5 source: Encryption model hash versions · checked
  19. 27 Magento 1.9.4.5 source: catalog URL suffix defaults (config.xml) · checked
  20. 28 WordPress developer docs: check_password filter · checked
  21. 29 WordPress source: re-hash on login (user.php) · checked
  22. 30 WooCommerce docs: Product CSV importer and exporter · checked
  23. 31 WooCommerce REST API documentation · checked
  24. 32 BigCommerce Help Center: Variants and modifiers · checked
  25. 33 BigCommerce API docs: Validate customer credentials (v3) · checked
  26. 34 BigCommerce API docs: Validate a customer password (v2) · checked
  27. 35 Next.js docs: redirects · checked
  28. 36 Cart2Cart: automated shopping cart migration service · checked
  29. 37 Cart2Cart FAQ: passwords from Magento to Shopify · checked
  30. 38 LitExtension: store migration service · checked
  31. 39 Matrixify: bulk import and export for Shopify · checked
  32. 40 Matrixify documentation: Redirects · checked

Last reviewed

Moving day, minus the broken links. Tell us where the store lives now, where it's headed and roughly how many URLs it has. We'll start with your URL inventory, not a sales deck.