User to Cart

Shopify migration: the hard parts migration tools don't handle

A Shopify migration has two halves. Migration apps and CSV imports handle the first: products, customers and orders. The second half decides whether the migration succeeds: redirects and SEO, customer accounts, subscriptions, custom data, integrations, and the custom features your old platform did that Shopify doesn't do out of the box. These guides focus on that second half, per platform.

What migration tools handle well

Migration apps and services, as well as import apps and Shopify's own CSV imports, reliably move:

  • products, variants, images, prices and inventory;
  • basic customer records and addresses;
  • historical orders, usually as archived orders for reference;
  • collections or categories, blog posts and pages, depending on the tool.

Use them. There is no value in hand-writing an importer for data a tool already moves well.

The hard parts

1. URL redirects and SEO

Shopify's URLs have fixed prefixes: /products/, /collections/, /pages/, /blogs/<blog>/. Your old platform's URLs almost certainly don't match. Every old URL that has traffic or backlinks needs a 301 redirect to its closest new equivalent.

  • Build the list from your old sitemap, analytics landing pages, Search Console and your backlink data, not just from the product export.
  • Include category pages, filtered and paginated URLs that are indexed, old blog URLs, image URLs with backlinks, and CMS pages.
  • Import redirects in bulk through Shopify's redirect CSV import or the GraphQL Admin API.
  • Know one Shopify behaviour: a URL redirect only fires when nothing exists at the old path. If you create a page at that path, the redirect is ignored.

2. Customer accounts and passwords

Password hashes can't be imported. Shopify's current customer accounts use email plus a one-time code, so customers don't need a password at all. Plan the communication ("sign in with your email as before, we'll send you a code") rather than a password-reset campaign.

3. Subscriptions

Subscriptions are the riskiest data to move. Shopify supports importing payment methods from Stripe, Braintree, PayPal Express and Authorize.net and recreating subscriptions as subscription contracts, usually through the new subscription app's migration tooling. Pause billing on the old platform during the move so nobody is charged twice.

4. Order history

Historical orders are useful for customer service, reorders and lifetime-value reporting. Decide how much history you need and in how much detail. Imported orders shouldn't trigger notifications, fulfillment or inventory changes.

5. Custom data → metafields and metaobjects

Custom attributes, specification tables, size charts, compatibility lists, downloadable files and custom content types map to metafields (fields on products, variants, customers, orders and so on) and metaobjects (your own content types). Define them with types and validation before importing, so the theme, Functions and apps can rely on the structure.

6. Custom functionality → apps, extensions and Functions

The feature the old platform did through a plugin, extension or custom module must be rebuilt, bought or dropped. Common examples: customer-group pricing, custom product options, quote requests, custom checkout fields, shipping rules, ERP sync. On Shopify these become App Store apps, a custom app, Checkout UI extensions or Shopify Functions.

7. Integrations

Every system connected to the old store, such as ERP, accounting, 3PL, marketplaces, email and reviews, needs to be reconnected, and its data mappings rechecked. See Shopify integrations.

A migration plan in eight steps

  1. Inventory: data types and volumes, URLs, customizations, integrations and scheduled jobs.
  2. Decide: for each customization, whether to buy an app, build a custom one or drop it.
  3. Model: define metafields, metaobjects, product options, markets and B2B set-up.
  4. Migrate a sample, check it field by field, fix the mapping, then run the full migration.
  5. Build the custom apps, extensions and Functions, and reconnect integrations.
  6. Redirects: generate, import and test them.
  7. Test: orders end-to-end, including payment, tax, shipping, discounts, notifications, integrations and refunds.
  8. Launch: final delta migration of new orders and customers, DNS switch, monitoring.

Pre-launch checklist

  • Every high-traffic and backlinked old URL redirects to a relevant new URL (spot-check at least the top 100).
  • Titles, meta descriptions and main content are equivalent on key pages.
  • Test orders pass through payment, tax, shipping rates and discounts for each market.
  • Transactional emails are branded and correct.
  • Integrations receive test orders and write back correctly.
  • Imported historical orders didn't send notifications or change stock.
  • Analytics, pixels and consent work on the new store.
  • A final delta migration is planned for orders and customers created during cut-over.
  • Search Console is set up for the domain, and the new sitemap is submitted after launch.

Frequently asked questions

How do I migrate to Shopify?

Inventory what you have, export products, customers and orders with a migration app or CSV, and model your custom data as metafields and metaobjects. Rebuild custom functionality as apps or Functions, map every old URL to its new one as a redirect, test on a development or password-protected store, then switch DNS at a quiet time and monitor. The guides on this page go through each step per platform.

Will I lose my SEO when migrating to Shopify?

You don't have to. Rankings drop after migrations mainly because old URLs return 404 errors. Map every indexed old URL to the most relevant new one with a 301 redirect, keep page titles and content equivalent, submit the new sitemap, and monitor Search Console for crawl errors in the weeks after launch.

Can customers keep their passwords after a Shopify migration?

No. You can't import password hashes from another platform into Shopify. With Shopify's current customer accounts it doesn't matter much: customers sign in with their email and a one-time 6-digit verification code, so there is no password to reset.

How long does a Shopify migration take?

The data transfer is the quick part. The time goes into mapping custom data, rebuilding custom features, redirects, testing and content clean-up. A small catalog with few customizations moves much faster than a store with custom checkout logic, B2B pricing, subscriptions and integrations.

  • Build a Shopify app

    An honest guide to building a Shopify app in 2026. The stack (Shopify CLI, GraphQL Admin API, webhooks, extensions, Functions, billing), public vs custom apps, App Store review, hosting and what usually goes wrong.

  • Integrations

    How Shopify integrations with NetSuite, QuickBooks, Xero, HubSpot, Salesforce, Amazon, ERPs and AI services work, when a connector is enough, and when you need a custom integration app.

  • Hire a Shopify app developer

    Freelance Shopify app developer for custom app development, ERP and accounting integrations, Checkout UI extensions and Shopify Functions. How an engagement works and what to prepare.