How to Migrate Shopify to WooCommerce Without Losing Data

A practical Shopify to WooCommerce migration guide covering products and variants, customers, orders, CSV and plugin import options, redirect rules for SEO, and a launch checklist.

Stores move from Shopify to WooCommerce for good reasons: lower monthly app costs, full ownership of the code and data, content-heavy sites that fit WordPress better, or custom features that are hard to build inside Shopify. The move itself has a reputation for being messy, mostly because Shopify's export files don't match what WooCommerce expects.

This guide covers what moves, the import options that actually work, and the redirect rules that protect your search rankings.

What moves, and where it lands

Shopify WooCommerce Notes
Products with variants Variable products with variations Shopify options become WooCommerce attributes
Collections Product categories Automated collections become plain categories
Tags Product tags
Metafields Custom fields Usually managed with ACF or similar
Customers WordPress users with the Customer role Passwords can't move
Orders WooCommerce orders Linked to customers by email address
Blog articles Posts
Pages Pages
Discount codes Coupons Automatic discounts need rebuilding
Apps WordPress plugins or custom code Each app needs a replacement decision

Step 1: Audit the Shopify store

  • Counts: products, variants, collections, customers, orders, blog articles, and pages.
  • Apps: list every installed app and what it does. Subscriptions, reviews, loyalty, and product personalization apps store their own data, and it needs its own export.
  • Metafields: product data shown on the storefront that doesn't come from the standard product fields.
  • URLs and top pages: export your sitemap and note your best-performing pages from Google Search Console.
  • Domain: if you bought the domain through Shopify, plan to transfer it or point its DNS to your new host.

Step 2: Choose an import method

Method What it covers Good for
WooCommerce's built-in product CSV importer Products only Small catalogs with simple products, after reformatting Shopify's CSV
WP All Import Products, plus customers and orders with add-ons Flexible field mapping for unusual data
S2W – Import Shopify to WooCommerce Products through the Shopify API; customers, orders, pages, blogs, and coupons in the paid version Most stores, because it reads Shopify directly instead of CSVs
Cart2Cart or LitExtension Products, customers, orders, and more A hosted service that runs the transfer for you

Why Shopify's CSV doesn't import directly

Shopify's product export puts each variant on its own row, grouped by a Handle column, with up to three option name and value pairs. WooCommerce's importer expects a parent "variable" product row followed by "variation" rows, each with attribute columns. The data is all there, but it needs reshaping first. That's why API-based tools are usually less painful than CSV for anything beyond simple products.

Note that the S2W plugin's documentation says importing customer details requires the Shopify store to be on the Shopify plan or higher, so check your plan before relying on it for customers.

Step 3: Set up WooCommerce before importing

  • Install WordPress and WooCommerce on reliable hosting with SSL.
  • Set your permalinks first (Settings → Permalinks). Choose the URL structure you'll keep, because your redirect rules depend on it.
  • Create product attributes that match your Shopify option names, such as Size and Color.
  • Configure currency, tax, and shipping zones.

Step 4: Run a test import

Import into a staging site first, then compare:

  • Counts against your audit.
  • Variable products: check that every variation has the right attributes, SKU, price, stock, and image.
  • Customers and orders: confirm that past orders appear in the right customer accounts. Orders are matched to customers by email address.
  • Content: Shopify blog articles and pages may contain Liquid tags or app embeds that WordPress won't render.

Step 5: Redirect Shopify's URLs

Shopify's URL patterns are predictable, which makes redirects easier in this direction. If you keep the same slugs, a few rules cover the whole store.

On an Apache or LiteSpeed server, add rules like these to .htaccess, adjusted to your permalink settings:

RewriteEngine On
RewriteRule ^collections/[^/]+/products/([^/]+)/?$ /product/$1/ [R=301,L]
RewriteRule ^products/([^/]+)/?$ /product/$1/ [R=301,L]
RewriteRule ^collections/([^/]+)/?$ /product-category/$1/ [R=301,L]
RewriteRule ^blogs/[^/]+/([^/]+)/?$ /$1/ [R=301,L]
RewriteRule ^pages/([^/]+)/?$ /$1/ [R=301,L]

The first rule matters: Shopify often links products inside a collection path, like /collections/hoodies/products/blue-hoodie, and those URLs need to land on the product too. If you'd rather not edit server files, the Redirection plugin supports the same patterns as regular expressions.

Any product or post whose slug changed during the move needs its own individual redirect.

Step 6: Plan customer accounts

Passwords can't move between platforms, because they're stored as one-way hashes. Customer accounts, addresses, and order history do move. After launch, send customers an email explaining the change with a link to set a new password through WooCommerce's "Lost your password?" flow.

Step 7: Launch

  1. Pause changes on Shopify, or note the time of the final export.
  2. Import orders and customers created since the test run.
  3. Re-check the counts.
  4. Point your domain to the new host and confirm SSL is active.
  5. Place a real test order, including payment, emails, and stock updates.
  6. Keep your Shopify store on a paused plan until you're sure everything you need has been exported.

After launch

  • Submit your new sitemap in Google Search Console and watch for 404 errors.
  • Check that analytics, conversion tracking, and marketing feeds (such as Google Merchant Center) point to the new store.
  • Review page speed. WooCommerce performance depends on your hosting and plugins, which are now your responsibility.

Is moving to WooCommerce the right call?

WooCommerce gives you full control and freedom from per-app subscriptions. In return, you take on hosting, updates, security, and performance. It suits stores with a lot of content, custom requirements, or a team comfortable managing WordPress. If your main reason for leaving is a missing feature, check first whether a custom Shopify app could solve it. That's sometimes cheaper than a migration.

Have a project in mind? Let’s talk.

Tell me what you are building and where you need support. I’ll respond with a clear, practical next step.

Start your project