How to Migrate from Shopify Without Losing Sales

by Emma Rodriguez
How to Migrate from Shopify Without Losing Sales

Most merchants who want to leave Shopify don't actually hate Shopify. They hate the bill.

At $79/month for Basic, $299 for Shopify plan, and transaction fees eating 0.5–2% of every sale unless you're on Shopify Payments (which isn't available in every country), the math stops working somewhere between $200K and $500K ARR for a lot of stores. Add a handful of paid apps — a subscription tool at $99/month, a review widget at $49/month, a bundle builder at $39/month — and you're looking at $600–$900/month in platform costs before you've spent a dollar on ads.

This guide covers how to migrate from Shopify in a way that doesn't tank your search rankings, break your order history, or leave customers stranded mid-checkout. I'll go through the actual sequence I'd use, the tools worth paying for, and the mistakes I've watched other operators make.

Before You Touch Anything: Audit What You're Actually Running

The number one migration mistake is moving too fast. Spend one week — seriously, just one week — cataloguing every piece of your current stack.

Open your Shopify admin and export the following:

  • Products CSV (Admin → Products → Export → All products)
  • Customers CSV (Admin → Customers → Export)
  • Orders — Shopify lets you export up to 50 orders at a time via CSV, or you can pull everything through the Admin API
  • Discount codes (Admin → Discounts → Export)

Also screenshot or document every third-party app you're using and what it does. That subscription app? You'll need a native equivalent or a replacement on your new platform. That custom shipping logic? It needs to be rebuilt.

One thing most migration guides skip: check your theme's customizations. If a developer hard-coded something into your Liquid templates — a custom upsell widget, a size-guide modal — that logic doesn't migrate anywhere. It needs to be rebuilt from scratch on the new platform.

Choose Your Destination Platform First

How to migrate from Shopify is partly a technical question, but it's mostly a platform-fit question. The right destination depends on your order volume, technical comfort, and what you're actually trying to fix.

Here's an honest comparison of the platforms I see merchants move to most often:

Platform Starting price Transaction fee Best for
WooCommerce ~$15/mo (hosting) 0% Operators who want full control and have a developer
BigCommerce $39/mo (Standard) 0% Mid-market stores needing native features
Medusa.js Free (self-hosted) 0% Technical teams wanting headless flexibility
Wix eCommerce $27/mo 0% Small stores, simple catalogs
Squarespace Commerce $28/mo 0% (Advanced plan) Design-first brands, small SKU count

I'd rule out Wix and Squarespace if you have more than 500 SKUs or complex shipping rules. They'll feel like a step sideways, not forward.

WooCommerce is the most common landing spot for Shopify migrants because hosting costs are predictable and you own your data completely. BigCommerce is worth a serious look if you're doing $500K–$5M/year and want something managed without Shopify's fee structure. Medusa.js is genuinely interesting for headless builds, but you need a developer — don't let the marketing fool you into thinking otherwise.

For most operators reading this, I'd point you toward WooCommerce or BigCommerce. I've written a detailed WooCommerce vs BigCommerce breakdown for mid-size stores if you want to go deeper on that decision.

The Migration Sequence That Actually Works

Once you've picked a platform, here's the order of operations I'd follow.

Step 1: Set up the new store in staging

Don't migrate into a live environment. Spin up a staging instance of your new store — most hosts offer this — and do everything there first. This costs you nothing extra on WooCommerce (most managed hosts include staging) and is built into BigCommerce's enterprise tier.

Step 2: Migrate products

For WooCommerce, the cleanest path is the WooCommerce Product CSV Import Suite (free, built into WooCommerce 3.1+). Take the Shopify product export CSV, map the columns to WooCommerce fields, and import. You'll need to remap headers — Shopify uses Variant SKU while WooCommerce expects SKU, for example.

Here's a minimal column mapping you'll need to handle manually:

Shopify Column          → WooCommerce Column
Title                   → post_title
Body (HTML)             → post_content
Vendor                  → (custom field or brand plugin)
Variant SKU             → SKU
Variant Price           → regular_price
Variant Inventory Qty   → stock_quantity
Image Src               → images

For BigCommerce, use the native Import Products tool under Products → Import. BigCommerce accepts Shopify's CSV with fewer header remaps needed.

Expect to spend 2–4 hours on a catalog of 200–500 products. Larger catalogs (1,000+ SKUs) often need a paid migration tool like Cart2Cart ($69–$299 depending on record count) or LitExtension ($89+). I've used Cart2Cart on two migrations — it handles variant mapping reasonably well, but always audit a random 50-product sample after import.

Step 3: Migrate customers and orders

Customers migrate cleanly via CSV on both WooCommerce and BigCommerce. The catch: passwords don't transfer. Shopify hashes passwords in a way that no other platform can read. Every customer will need to reset their password on first login.

Handle this with a post-migration email sequence:

  1. Day 0: "We've moved — here's what's new"
  2. Day 1: "Set your new password" (with direct link)
  3. Day 7: Reminder for anyone who hasn't logged in

Orders are trickier. Most platforms can import historical order data, but the order statuses and line-item details sometimes get mangled. I'd import 90 days of orders for customer service purposes and archive the rest in a spreadsheet. You don't need 4-year-old order data live in your new system.

Step 4: Redirect your URLs

This is where most migrations bleed SEO value. Shopify's URL structure for products is /products/product-handle. WooCommerce defaults to /product/product-handle. That one-word difference will 404 every inbound link you've ever earned if you don't set up redirects.

On WooCommerce, install Redirection (free plugin, 2M+ installs) and either:

  • Import a CSV of old → new URL pairs, or
  • Set a regex redirect: ^/products/(.*)$/product/$1

That single regex rule handles your entire product catalog. Test it on 20 URLs before going live.

For collections (Shopify: /collections/slug) mapping to WooCommerce categories (/product-category/slug), you'll need a second rule: ^/collections/(.*)$/product-category/$1

BigCommerce uses /slug/ for products by default, so the redirect map is different — check your specific URL structure before writing rules.

Also submit a new sitemap to Google Search Console within 24 hours of going live. It won't fix everything immediately, but it signals the crawl priority correctly.

Step 5: Rebuild your apps and integrations

This is the part nobody wants to do. Every Shopify app has an equivalent somewhere, but the feature parity isn't always 1:1.

Common replacements:

  • Klaviyo → stays the same (works on WooCommerce and BigCommerce natively)
  • ReCharge (subscriptions) → WooCommerce Subscriptions ($279/year) or Subbly
  • Yotpo (reviews) → Judge.me ($15/mo) or native WooCommerce reviews
  • Bold Upsell → CartFlows (WooCommerce, $299/year) or native BigCommerce scripts
  • ShipStation → stays the same

Klaviyo and ShipStation surviving the migration is genuinely useful — you won't lose your email flows or shipping presets.

DNS Cutover: The 30-Minute Window

When you're ready to go live, the sequence matters.

  1. Lower your domain's TTL to 300 seconds (5 minutes) at least 48 hours before cutover
  2. Put Shopify in password-protected mode (not offline — you want the domain to stay resolving)
  3. Point your A record or CNAME to the new host
  4. Verify SSL is provisioned on the new host before cutover
  5. Test checkout with a real $1 transaction immediately after DNS propagates

Don't do this on a Friday. Tuesday or Wednesday morning, before your peak traffic hours, is the safest window. DNS propagation takes anywhere from 5 minutes to 48 hours depending on your registrar and the TTL you set. With a 5-minute TTL, most users will hit the new server within 15–30 minutes.

What to Monitor for the First 30 Days

Migration isn't done when the site goes live. The first 30 days are when problems surface.

Watch these metrics daily for the first two weeks:

  • 404 error rate in Google Search Console → any spike means a redirect is missing
  • Checkout conversion rate → compare week-over-week; a 10%+ drop signals a UX or payment issue
  • Page load speed → run Lighthouse on your top 5 landing pages; anything below 70 on mobile needs attention
  • Email deliverability → if you changed sending domains, warm up the new one slowly

I'd also keep your Shopify store on a paid plan for at least 60 days post-migration. Don't cancel immediately. If something goes catastrophically wrong, you want the ability to flip back without rebuilding from zero. At $29/month for the Basic plan, that insurance is cheap.

How to Migrate from Shopify Without the SEO Cliff

The single biggest fear in any platform migration is the traffic drop. Here's the honest truth: you will likely see a 10–20% dip in organic traffic for 4–8 weeks. That's normal. Google is re-crawling and re-evaluating your site.

What you can do to minimize it:

  • Get redirects in place before DNS cutover (test them in staging)
  • Preserve your exact URL slugs wherever possible
  • Keep your page titles and meta descriptions identical during the transition
  • Don't redesign and migrate at the same time — pick one

That last point is important. I've seen operators try to redesign their store while migrating platforms. The combined variables make it impossible to diagnose what caused a traffic drop. Migrate first, redesign after you've got 60 days of stable data on the new platform.

If you want a deeper look at headless architecture as part of your migration, our headless commerce guide for SMBs covers when it's worth the complexity and when it isn't.

What to Do Tomorrow

If you're serious about learning how to migrate from Shopify, start with the audit. Export your products, customers, and orders today. Open a spreadsheet and list every app you're paying for, what it costs, and what it does. That single exercise will tell you whether migration is worth the effort and what your new platform needs to support.

Most merchants who complete that audit either realize they're paying for features they don't use (and can trim costs on Shopify itself) or confirm that migration will save them $400–$800/month. Either outcome is useful.

Pick your destination platform, stand up a staging environment, and run a test import of 50 products this week. You'll know within a day whether the migration is going to be straightforward or complicated — and you'll know before you've touched your live store.