WooCommerce to Shopify Migration: The Complete Guide (Products, Orders, Customers)

Summary & Key Takeaways
Products and customers migrate cleanly, but passwords don't transfer and orders arrive as historical records only. Basic discounts, including BOGO, map natively; complex plugin-built coupons need an app. Reviews, themes, and tax settings require manual rebuilding. A direct WooCommerce API connection is the safest migration method.
- API Connection: Connect directly via the WooCommerce API rather than manually editing CSVs to minimize errors.
- Password Reset: Customer passwords cannot migrate; plan to send account activation invites to customers.
- Historical Orders: Migrated orders act as read-only historical records; they won't reconnect to payment capture sessions.
- Native Mapping: Basic discounts and standard BOGO configurations map directly without extra apps.
Migrating from WooCommerce to Shopify moves your products, customers, orders, and collections onto a hosted platform without the plugin maintenance WooCommerce requires. The safest method connects directly to the WooCommerce API instead of exporting and re-importing CSVs by hand, since a direct connection reduces the formatting errors that cause data loss.
The method you choose matters less than understanding, upfront, what actually survives the move automatically, what needs manual rework, and what won't transfer at all. That's where most migrations run into trouble, and it's what this guide covers in detail.
What Actually Migrates (and What Doesn't)
Most migration guides gloss over this part. Here's the honest breakdown before you start:
| Data Type | What Happens |
|---|---|
| Products (titles, descriptions, prices, SKUs, variants, images, stock) | Migrates automatically with any decent tool |
| Collections | WooCommerce categories become Shopify manual collections |
| Customers (names, emails, addresses) | Migrates automatically. Passwords do not (see below) |
| Order history | Migrates as historical records. Not live, payable orders (see below) |
| Discounts / coupons | Partially. Depends heavily on the coupon type (see below) |
| Product reviews | Does not migrate directly on any platform. Needs a separate reviews app |
| Store theme and design | Does not migrate at all. WooCommerce themes are WordPress themes, Shopify uses Liquid |
| Blog posts and static pages | Depends on the tool. Check before assuming this is covered |
| URL structure and SEO rankings | Doesn't transfer automatically. You need to build redirects manually or with a tool that generates them |
| Tax and shipping settings | Doesn't migrate. Reconfigured from scratch in Shopify |
| Installed plugins | Doesn't migrate. Each one needs a Shopify App Store equivalent, if one exists |
Keep this table nearby. Every section below expands on one row.
Choosing the Best WooCommerce to Shopify Migration Method
There are four practical ways to do this, and they trade off cost, effort, and how much data integrity you keep.
| Method | Best For | Trade-off |
|---|---|---|
| Manual CSV export/import | Small catalogs (under a few hundred products), technical comfort with spreadsheets | Cheapest, but formatting errors are common and images/variants often need manual fixing |
| Shopify's built-in Store Migration app | Straightforward stores moving products and customers only | Free and native, but limited. Coupons, order history, and reviews need separate handling |
| Third-party apps connecting via the WooCommerce API (Portway, Matrixify, LitExtension, Cart2Cart) | Most stores. Pulls products, orders, customers, and collections in one job without manual CSV handling | Costs money, but cuts formatting errors significantly since data comes straight from the API |
| Hiring a Shopify expert or migration partner | Large or heavily customized stores, complex custom fields, mission-critical data integrity | Most expensive, slowest to start, but someone else owns the risk |
For most small-to-mid stores, a direct WooCommerce API connection is the sweet spot. It's the same underlying approach whether you use Portway, Matrixify, or LitExtension, and it avoids the two biggest sources of migration errors: manually reformatting CSVs, and images that break because they were linked to your old WordPress server.
WooCommerce to Shopify Migration Checklist: Before You Start
Migrations that go wrong usually go wrong here, not during the actual transfer.
- 1
Back up everything. Full WooCommerce database and file backup before you touch anything.
- 2
Audit your data. Document your product count, custom fields, customer groups, and any non-standard order statuses. This defines your migration scope.
- 3
Record your SEO baseline. Crawl your current site (Screaming Frog or a similar tool) and save every URL, meta title, and meta description. You'll need this list to build redirects later, since you can't fix what you didn't record.
- 4
Check your WooCommerce API access. If you're using an API-based migration tool, confirm your WooCommerce REST API is enabled and you can generate API credentials. This is a common early blocker.
- 5
List your active plugins. For each one, note what it does and whether Shopify has that feature natively or needs an app.
- 6
Set up your Shopify store. on a plan that suits your catalog size, and pick a theme. This can happen in parallel with everything above.
How to Migrate WooCommerce Products to Shopify
Products are the most reliable part of any migration, and most tools handle this well. Here's how the core fields map:
| WooCommerce Field | Shopify Field |
|---|---|
| Product title | Title |
| Description | Description |
| Regular/sale price | Price / Compare-at price |
| SKU | SKU |
| Product categories | Collections |
| Product tags | Tags |
| Attributes (size, color) | Variants / Options |
| Featured image + gallery | Product images |
| Stock quantity | Inventory |
| Custom fields | Metafields |
Important Product Details
- Images embedded inside product descriptions (not the main product photos) need separate handling, since they're often still linked to your old WordPress server, which breaks the moment you shut that server down. Good migration tools re-host these on Shopify automatically. Check that yours does before you decommission WooCommerce.
- Custom fields have no fixed home in Shopify. Anything that doesn't map to a standard field becomes a metafield. This is normal, not a data loss, but you'll want to review your metafields afterward to make sure your theme actually displays them.
How to Migrate WooCommerce Customers to Shopify
Customer records (names, emails, addresses, order counts) move over cleanly. One thing does not, and it's the detail almost every migration guide buries or skips:
Passwords cannot be migrated. At all.
This isn't a limitation of any particular migration tool. It's a Shopify platform rule. Passwords are encrypted using a method that can't be reversed or transferred from another platform, by design. Every migrated customer has to reset their password before they can log in again.
In practice, this creates a real, specific problem: customers who try "Forgot your password?" on your new Shopify store sometimes never receive the reset email, because their account technically hasn't been "activated" yet. The fix is to send account activation invites proactively right after migration, rather than waiting for customers to hit a login wall and get stuck. Set expectations with an email campaign before you launch the new store, not after.
What else to know about customer data
- Total Spent and Total Order Count are read-only fields Shopify calculates itself from orders placed on Shopify. You can't import historical totals from WooCommerce directly into those fields. They'll rebuild over time as customers order again.
- Order history doesn't come with a plain customer import. If you're using Shopify's basic customer CSV import, orders need a separate import step, or a migration tool that handles both together in one job.
How to Migrate WooCommerce Order History to Shopify
Order history migrates as historical records for reporting and customer service, not as live, active orders. This matters because it changes what you can expect post-migration:
- Migrated orders won't trigger real payment captures, since there's no live payment session to reconnect to your old transactions.
- Fulfillment status, refunds, and order notes typically carry over as data, but won't re-trigger shipping or accounting workflows.
- Order numbering may not continue seamlessly from your WooCommerce sequence. Check this before you migrate if order number continuity matters for your accounting or customer service records.
None of this is a flaw in any specific tool. It's how order migration works on any platform, because payment processor tokens and live transaction states genuinely can't move between systems. The practical takeaway: treat migrated orders as your historical archive, and make sure your team knows not to expect live order actions (like reissuing a refund through the original payment method) to work on them without your payment processor's own records.
Migrating WooCommerce Coupons to Shopify Discounts
This is the part almost no migration guide breaks down properly, and it's where expectations most often go wrong.
WooCommerce's native coupon system supports four types: percentage discount, fixed cart discount, fixed product discount, and free shipping. Shopify's native discount system supports four different types: amount off products, amount off order, Buy X Get Y, and free shipping. The basics map cleanly both ways.
Where it gets more complicated: many WooCommerce stores run advanced discounts (BOGO deals, auto-apply cart-threshold discounts, store credit, subscription discounts, category-based combos) through a third-party plugin, because WooCommerce doesn't support those natively either. Here's how that translates:
| WooCommerce Coupon Type | Shopify Equivalent |
|---|---|
| Percentage off | Native: Amount off (percentage) |
| Fixed cart discount | Native: Amount off order |
| Fixed product discount | Native: Amount off products |
| Free shipping coupon | Native: Free shipping discount |
| BOGO (via plugin) | Native: Buy X Get Y (Shopify actually supports this natively, no app required) |
| Auto-apply cart-threshold discount (via plugin) | Native: Shopify's automatic discounts don't require a code either |
| Store credit / gift certificates (via plugin) | Partial: Shopify has native gift cards, but store-credit-style plugin logic usually needs a Shopify app |
| Subscription-specific discounts (via plugin) | Needs a Shopify subscriptions app. No native equivalent |
| Recursive/tiered category-based BOGO stacking (via plugin) | Needs a Shopify discount app. Native Buy X Get Y doesn't support recursive stacking |
The reassuring news: your basic discounts and even standard BOGO deals move to Shopify's native tools without needing an app at all. The coupons that need real planning are the complex, plugin-built ones. Audit your active WooCommerce coupons before migrating and sort them into \"native Shopify handles this\" versus \"I need to pick a Shopify discount app for this one.\"
What Won't Migrate Automatically
A few things need manual rebuilding no matter which method or tool you use:
- Product reviews: No migration path moves these directly. You'll need a dedicated reviews app on Shopify and either a manual re-entry or an app-specific import.
- Your theme and site design: WooCommerce runs on WordPress themes; Shopify uses its own templating language (Liquid). Nothing carries over here. This is a rebuild, and worth treating as a chance to fix any UX issues you'd been living with.
- Legal pages (privacy policy, terms of service, refund policy): These need to be added manually in Shopify's settings. Shopify provides templates to start from, but the content itself doesn't transfer.
- Tax and shipping configuration: Reconfigured from scratch to match your Shopify plan and the markets you sell into.
- Plugin functionality: Each active WooCommerce plugin needs its own Shopify App Store equivalent. Some functions are native to Shopify already, which reduces your app count; others aren't.
How to Protect Your SEO During a WooCommerce to Shopify Migration
Losing search rankings is the single most common regret after a platform migration, and it's almost always preventable.
- 1
Map your old URLs to their new Shopify equivalents before launch, using the crawl you did in the pre-migration checklist.
- 2
Set up 301 redirects in Shopify Admin under Online Store, Navigation, URL Redirects. Some migration tools generate these automatically for products and collections. Verify this rather than assuming it, and scan for gaps with a crawler before going live.
- 3
Preserve your meta titles and descriptions Don't let them reset to Shopify's defaults during import.
- 4
Keep your old site accessible on a subdomain for a short window after launch (many practitioners suggest 30 to 60 days) as a safety net in case something was missed.
- 5
Recheck your baseline metrics (traffic, rankings, conversion rate) a few weeks after launch to catch any regressions early.
How Long Does a WooCommerce to Shopify Migration Take?
This varies more than most guides admit, and it depends far more on your catalog size and how thoroughly you test than on the transfer itself:
- Small stores (under ~500 products): Often a few hours of actual data transfer, but plan 1 to 2 weeks total once you include testing and DNS cutover.
- Medium stores (500 to 5,000 products): Roughly 2 to 4 weeks, with most of that time going to verification, not the migration job itself.
- Large or heavily customized stores: 1 to 3 months, particularly if custom fields, complex discount logic, or large order histories are involved.
The consistent theme across real migrations: the data transfer itself is usually the fast part. Testing, SEO verification, and customer communication take longer, so budget your time accordingly.
Post-Migration Checklist for a Smooth Shopify Launch
Before you point your domain at Shopify and call it done:
Frequently Asked Questions
Q1. What's the safest way to migrate from WooCommerce to Shopify?
Q2. Do customer passwords transfer to Shopify?
Q3. Can I migrate WooCommerce coupons to Shopify?
Q4. Do my order history and reviews come over automatically?
Q5. Will I lose my SEO rankings when I migrate to Shopify?
Q6. How long does a WooCommerce to Shopify migration take?
Wrapping Up
A WooCommerce to Shopify migration is a data project first and a technical project second. The tools handle the heavy lifting of moving products, customers, and orders. What actually determines whether the migration goes smoothly is the planning you do before you start: knowing which coupons need manual rebuilding, telling customers ahead of time that they'll need to reset their password, and mapping your old URLs before your rankings have a chance to slip.
Get those three things right, along with a direct WooCommerce API connection instead of hand-edited CSVs, and the rest of the migration is largely mechanical. Tools like Portway, Matrixify, and LitExtension all take that API-first approach, and the difference shows up afterward in fewer broken images and less manual cleanup.