How to Migrate from WooCommerce to Shopify Without Losing Products, Variants or SEO
Moving from WooCommerce to Shopify is one of the most common re-platforming projects for growing stores. You trade plugin maintenance, hosting and security updates for a managed platform with a fast checkout. The hard part isn’t Shopify itself. It’s getting years of products, variants, images and stock levels across cleanly, without breaking the URLs Google already knows about.
I’ve moved client stores from WordPress to Shopify and built a Shopify app for WooCommerce imports, so this guide covers what actually goes wrong and how to avoid it.
1. Audit your WooCommerce store before you move anything
Migrations go wrong when messy data is copied as-is. Spend an hour cleaning up first:
- Delete or archive dead products. Drafts, discontinued items and test products don’t need to come with you.
- Check your variable products. Shopify allows up to three options per product (for example Size, Color and Material) and up to 2,048 variants. A WooCommerce product with four or more attributes has to be simplified or split before import.
- Standardise attribute values. “XL”, “X-Large” and “xl” become three different option values in Shopify. Fix them in WooCommerce first; it’s much faster than fixing them later.
- Make sure every variant has a SKU. SKUs are how you’ll match stock, orders and reports later.
- Export a list of your current URLs. You’ll need it for redirects (step 5).
2. Understand how WooCommerce data maps to Shopify
The two platforms use different names for similar things:
- Simple product → a Shopify product with a single default variant.
- Variable product + variations → a Shopify product with options and variants. Each WooCommerce variation becomes one variant with its own price, SKU, stock and image.
- Product categories → collections. Manual collections are the closest match; you can switch to automated (rule-based) collections later.
- Tags → Shopify product tags, which are also useful for automated collections and filters.
- Stock quantity → inventory at a Shopify location. If you have one warehouse, that’s your default location.
3. Choose how you’ll import
There are four realistic options, and the right one depends on catalog size and how much control you need.
Shopify’s free Store Importer
Shopify’s own importer accepts an export file from WooCommerce. It works well for small, simple catalogs. On larger stores, check the result carefully: compare product counts before and after, because problems aren’t always reported clearly.
CSV import
You can export WooCommerce products to CSV, reshape the file to match Shopify’s product CSV template, and import it. It’s free and gives you full control, but variable products take careful spreadsheet work: each variant is its own row, and the option columns must line up exactly.
Spreadsheet power tools and migration services
Bulk import/export apps and done-for-you migration services can handle very large or complex stores, including customers and order history. They cost more and usually have a learning curve or per-record pricing.
A dedicated WooCommerce importer app
A connector app reads products straight from your WooCommerce store via its API, so there’s no CSV to reshape. This is the approach we took with Woopify-Sync: it imports products, variants, categories and inventory, then lets you bulk-sort variants so sizes and colours appear in the right order. The free plan covers 15 product imports a month, so you can test it on real products before committing.
4. Import in batches and verify as you go
Don’t import 3,000 products and hope. Work like this instead:
- Import 5–10 representative products: a simple one, a variable one, one with many images.
- Open each in the Shopify admin and check titles, descriptions, prices, compare-at prices, SKUs, images, variant options and stock.
- View them on your theme. Check the variant picker, image switching and the sold-out state.
- Fix your mapping or source data, then import the rest in batches.
- Finish by comparing total product and variant counts between both stores.
5. Protect your Google rankings with 301 redirects
This is the step most migrations skip, and it’s the one that costs the most traffic. Your URLs change: WooCommerce uses paths like /product/blue-shirt/ and /product-category/shirts/, while Shopify uses /products/blue-shirt and /collections/shirts.
- Keep the same product slugs (Shopify calls them handles) wherever possible.
- Create a 301 redirect for every old product, category and important page URL using Shopify’s built-in URL redirects. Shopify accepts redirects in bulk via CSV.
- Redirect old blog posts too if you’re moving your blog.
- Carry over SEO titles and meta descriptions for your highest-traffic pages.
6. Pre-launch checklist
- Taxes and shipping zones configured and tested with a real order.
- Payment provider live, and a test order refunded successfully.
- Email notifications (order confirmation, shipping) branded and proofread.
- Inventory counts re-synced right before switching the domain.
- Redirects tested on your top 20 URLs from Google Search Console.
- New sitemap submitted in Google Search Console after the domain points to Shopify.
Final thoughts
A clean WooCommerce to Shopify migration comes down to three things: tidy the data first, verify in small batches, and redirect every old URL. Do those well and customers won’t notice anything except a faster store.