A WooCommerce migration is a different job from moving a WordPress blog. You are not just moving content, you are moving a live business: products with variants, a customer list, order history, tax and shipping rules, and whatever your store depends on from a dozen plugins. This guide covers what actually transfers, what quietly does not, and the order to do it in so you do not lose orders or search rankings on the way across.
The three ways to migrate, and who each one suits
- Manual CSV export and import. Free, and fine for a few hundred simple products. You export from WooCommerce, reshape the columns to match Shopify’s import format, and upload. The reshaping is where the time goes, especially with variants.
- A migration app or service. Cart2Cart, LitExtension and similar move products, customers and orders in one pass for a fee that scales with catalogue size. Worth it above roughly a thousand products, or if order history matters to you.
- An agency or developer. Sensible when you have subscriptions, complex tax rules, B2B pricing, or heavy plugin dependencies. You are paying for the edge cases, not the bulk transfer.
Whichever route you take, do it into a Shopify development or trial store first. Never migrate straight into a store with a live domain pointed at it.
What transfers cleanly
- Simple products. Title, description, price, SKU, images and stock levels map across without much argument.
- Customers. Names, emails and addresses import fine.
- Orders. Historical orders can be brought over for reference, though not with full fulfilment or payment detail.
- Categories. WooCommerce categories become Shopify collections, though the hierarchy usually needs rebuilding.
What does not transfer, and this is the part that hurts
Every migration tool markets what it moves. Nobody advertises the gaps, so here they are:
- Customer passwords. These never transfer, from any platform to any platform. Every customer has to reset. Plan the email that explains why, or your first week after launch is support tickets and abandoned logins.
- Subscriptions. If you run WooCommerce Subscriptions, the recurring payment authorisations do not come with you. You need a Shopify subscription app and, in most cases, your subscribers have to re-enter payment details. This single item is the most common reason a migration gets cancelled halfway.
- Product reviews. WooCommerce stores reviews in the WordPress comments table. Shopify has no native equivalent, so you need a reviews app and a separate import, and some apps cannot take historical reviews at all.
- Coupons and discount logic. Simple percentage codes are fine. Anything conditional, stacked, or role-based usually has to be rebuilt as Shopify discounts or scripts.
- Custom fields and ACF data. Shopify metafields can hold the same information, but nothing maps it for you. Someone has to decide field by field.
- Plugin functionality. Every plugin doing real work needs a Shopify app equivalent, or it does not exist any more. Price this before you commit, because it is a recurring cost, not a one-off.
- SEO plugin settings. Your Yoast or Rank Math titles and descriptions live in WordPress post meta. They do not travel. Export them first if you want to reapply them.
Write this list out for your own store before you start. The migration itself is usually the easy part. The gaps are what turn a weekend into a month.
Products and variants: where the two platforms disagree
WooCommerce attributes and Shopify options are not the same model. WooCommerce lets you attach a fairly open set of attributes and generate variations from them. Shopify’s option structure is more rigid, and stores with deeply nested or numerous attribute combinations tend to hit that wall during import.
Check your most complicated product first, not your simplest. Take the item with the most variants and manually build it in a Shopify trial store before you migrate anything. If it fits, the rest of the catalogue almost certainly will. If it does not, you have found the problem while it is still cheap to solve.
Redirects: the step that decides whether you keep your traffic
WooCommerce and Shopify use different URL structures. Shopify forces product URLs under /products/ and collections under /collections/. That means most of your indexed URLs change, and every changed URL needs a 301 redirect or the ranking and the links behind it are gone.
- Crawl your live WooCommerce site and export every indexed URL before you touch anything.
- Sort that list by traffic and by backlinks, not alphabetically. The pages that matter are usually old ones you have forgotten.
- Map each old URL to its closest real equivalent on Shopify.
- Never bulk-redirect leftovers to the homepage. Google treats that as a soft 404 and drops the page anyway.
- Load the redirects into Shopify’s URL redirect tool, which accepts a CSV, before you switch DNS.
- After launch, watch Search Console coverage weekly. A dip for a few weeks is normal. A dip that keeps going means a redirect gap.
What about the blog?
This is the piece most WooCommerce migration guides skip, because the tools that move products do a poor job with content. Years of posts, categories, internal links and rankings do not survive the trip cleanly, and Shopify’s blog engine is deliberately simpler than WordPress.
You do not have to make the same decision for the store and the blog. Plenty of merchants move the storefront to Shopify and leave the blog where it is, then display those posts on the Shopify site so the content still works for them. We covered the trade-off in detail in our guide to migrating WordPress to Shopify, and the app that handles the display side is Simple WordPress Blog Feed.
A realistic sequence
- Open a Shopify trial and rebuild your hardest product by hand.
- List every plugin your store depends on and find the Shopify equivalent, with its monthly cost.
- Export products, customers and orders from WooCommerce.
- Import into the trial store and reconcile counts after each step, not at the end.
- Rebuild the theme, then tax, shipping and payment settings.
- Build and load the redirect map.
- Decide the blog question.
- Point the domain, keep WooCommerce running on a temporary hostname as a rollback.
- Resubmit your sitemap and watch coverage for a fortnight.
The takeaway
The bulk transfer of a WooCommerce store to Shopify is a solved problem, and any of the migration tools will handle products, customers and orders adequately. What costs merchants money is the list of things that do not transfer, subscriptions and reviews above all, and URLs that change without a redirect. Audit those two things before you start and the migration becomes a scheduling exercise rather than a rescue operation.
