WooCommerce to Shopify: Full Migration Guide (2026)

Migrate a WooCommerce store to Shopify - products, variations, customers, orders, URLs, and SEO redirects. Uses the official Shopify Store Importer plus the manual steps it won't cover.

Last updated

Quick answer

The fastest way to migrate a WooCommerce store to Shopify is the Shopify Store Importer app - install it free on your new Shopify store, upload WooCommerce's product and customer CSVs exported from WordPress, and Shopify handles most of the heavy lifting. What it won't do: migrate your URL structure (you need a 301 redirect map), variable-product images, or any plugin-specific data (YITH, ACF, WPBakery modules). This guide covers the full path, including the three things the importer always breaks.

Before you start: what to audit

A WooCommerce store is a WordPress install with a shop plugin bolted on. That means half your "store" may live in plugins and themes that have no Shopify equivalent. Before you migrate:

  • List every active WooCommerce plugin. Go to WP Admin → Plugins → Installed Plugins. Note the ones that affect product pages, checkout, or customer experience: YITH WooCommerce Wishlist, WooCommerce Subscriptions, Advanced Custom Fields, Dokan Multivendor, Mailchimp for WooCommerce.
  • Note your page builder. Elementor, WPBakery, Divi, Gutenberg blocks - none of these migrate. Your product pages render to static HTML on export, and Shopify's editor is a different tool.
  • Inventory count. Products, variations, customers, orders, coupons, categories. Screenshot the counts so you can verify post-import.
  • Traffic audit. Export your top 200 URLs from Google Search Console (Performance → Pages, filter by clicks descending). These are the URLs you MUST redirect - losing their rankings is a 30–60 day revenue dip.

Step 1 - Export from WooCommerce

WooCommerce has built-in CSV export, so you don't need a plugin for the basic data.

Products

  1. In WP Admin, go to Products → All Products.
  2. Click Export at the top.
  3. Leave all columns and types selected, click Generate CSV. A wc-product-export-YYYY-MM-DD.csv downloads.

The WooCommerce CSV has 38 columns: ID, Type (simple/variable/variation), SKU, Name, Published, Featured?, Description, Regular price, Sale price, Categories, Tags, Images, Parent, and Attribute 1 through Attribute 3. See our WooCommerce product CSV reference if you want a column-by-column walkthrough before editing.

Customers and orders

WooCommerce doesn't export orders and customers natively - you need a plugin. Two options:

  • Order Import Export Plugin for WooCommerce (free). Exports orders and customers as CSVs.
  • Let Shopify Store Importer pull them. The importer app can connect to your WooCommerce site via a URL + admin credentials and pull orders and customers directly. This is the easier path.

Step 2 - Import into Shopify

Spin up your Shopify store (start the trial - you'll upgrade after testing). Then:

  1. Install the Store Importer app from the Shopify App Store (made by Shopify, free).
  2. Open the app from your admin, select WooCommerce as the source platform.
  3. Upload the wc-product-export-*.csv and any customer/order CSVs. Or connect via URL + admin credentials for the direct pull.
  4. Click Continue import. Shopify processes the file and reports products imported, skipped, and failed.

For a 500-product catalog, expect 10–20 minutes to process. For 5,000+, it can be an hour. Orders and customers are much faster.

What Shopify Store Importer misses

In our experience migrating WooCommerce stores, these are the consistent gaps:

  • Product page HTML structure. Elementor/Divi/WPBakery layouts become plain-text descriptions. Hero images, comparison blocks, custom tabs - all gone. Plan to rebuild product pages using Shopify metafields and a theme like Impulse or Prestige that supports rich product page templates.
  • Variable product variant images. WooCommerce lets you assign a specific image to each variation. Shopify has the same feature but the import doesn't link them. Run a script or use Shopify's CSV to re-assign variant images after the initial import, or do it manually for the top 20 SKUs.
  • Reviews. WooCommerce reviews are stored in the WP comments table. The Shopify importer doesn't touch them. Use Judge.me's WooCommerce Reviews Migration tool (free) to import them into Judge.me on Shopify.
  • Subscriptions. If you're running WooCommerce Subscriptions, Shopify's own Subscriptions feature handles new signups but can't migrate existing recurring billing. You have to either (1) cancel and re-signup subscribers with a discount, or (2) use Recharge's WooCommerce-to-Recharge migration service.
  • Custom fields (ACF, metafields). Nothing migrates automatically. You'll set up Shopify metafields under Settings → Custom data and re-populate via CSV.
  • Blog posts. Shopify Store Importer doesn't pull WordPress posts. Use Shopify Store Importer's separate blog importer or export posts as WXR from WordPress and convert via a free online WXR-to-Shopify converter.
  • URL structure. The most damaging omission - covered below.

Step 3 - The SEO redirect map

WooCommerce product URLs typically look like yourdomain.com/product/leather-wallet/. Shopify always uses yourdomain.com/products/leather-wallet (note the s and no trailing slash). Every link, every backlink, every indexed page changes. Without 301s you lose the rankings.

Build the redirect map

You need a CSV with two columns - old URL and new URL. Generate it like this:

  1. Export your WooCommerce product list with Name and slug columns (the built-in exporter includes the slug under Name when you add post_name).
  2. For every product slug, build the new URL by replacing /product/{slug}/ with /products/{slug}.
  3. Do the same for category pages: /product-category/{slug}/ /collections/{slug}.
  4. Do the same for page URLs that changed (cart, checkout, account).

Upload to Shopify

Shopify has a native URL redirect tool at Online Store → Navigation → URL Redirects. Click Import and upload your redirect CSV. For thousands of redirects, Shopify processes in the background.

If you're technical and want a templated approach, our 301 redirect template gives you the exact CSV columns Shopify expects and example rows.

Also: update your robots.txt on the new domain (Shopify generates one automatically) and submit the new Shopify sitemap to Google Search Console once the domain switches.

Fixing variable products after import

Variable products are where most migrations break. WooCommerce stores variable products as one parent with N child variations, each as a separate post. Shopify stores them as one product with N variant rows.

After the importer runs, check:

  • Variant count. A 3-color × 4-size product should show 12 variants. If it shows 1, the importer didn't detect the attribute variations.
  • Variant SKUs. Each should have the SKU from WooCommerce. If they're empty, the Variant SKU column in the CSV didn't map correctly.
  • Variant pricing. WooCommerce lets each variation override the parent's price. Shopify handles this the same way, but only if the CSV includes per-row prices.
  • Variant images. As noted above, this always breaks. Fix manually or via another CSV import that includesVariant Image.

If variants came in wrong

The cleanest recovery is a URL-based re-import for the affected products. Paste the original WooCommerce product URL into Product Upload, which reads the variation dropdowns from the live page and writes them correctly into Shopify.

Shipping zones, tax, and payment gateways

None of these migrate automatically - they're configuration, not data. Plan a few hours to rebuild.

Shipping

WooCommerce shipping zones translate roughly 1:1 to Shopify shipping zones. Go to Shopify Settings → Shipping and delivery and recreate your zones, rates, and package presets. If you use USPS, UPS, or DHL negotiated rates, Shopify's Shopify Shipping includes competitive rates out of the box on the Basic plan and above.

Tax

WooCommerce uses WooCommerce Tax or a plugin like Avalara/TaxJar. Shopify Tax is the replacement for US sellers - it's free on Shopify Basic up to $100K in US sales per year. Beyond that, Shopify charges 0.35% of US sales as a fee, capped at $0.99 per order. Go to Settings → Taxes and duties and enable the regions you sell in.

Payments

Stripe/PayPal on WooCommerce become Shopify Payments (Stripe under the hood) + PayPal on Shopify. You'll need to reconnect each gateway. If you use a custom gateway (e.g. a regional processor), check the Shopify App Store before migrating - not every gateway exists on Shopify.

Step 4 - Switching the domain over

Don't do this until your Shopify store is fully tested. The switch is fast technically but irreversible SEO-wise if you miss redirects.

  1. In Shopify admin, go to Settings → Domains.
  2. Click Connect existing domain and enter your domain. Shopify shows you the DNS records to update.
  3. Log in to your DNS provider (Cloudflare, GoDaddy, Namecheap). Point the A record at 23.227.38.65 and thewww CNAME at shops.myshopify.com.
  4. Back in Shopify, click Verify connection. Propagation usually takes 1–24 hours.
  5. Set the Shopify domain as Primary. This triggers Shopify to serve the new URLs as canonical.
  6. In Search Console, add the new domain, upload the sitemap, and submit a change-of-address from the old WordPress property.

Leave WooCommerce running for 30 days after the switch in case anything is broken. You can point it at a subdomain like old.yourdomain.com (no index) to keep the data accessible.

Video walkthrough

Video: our WooCommerce to Shopify migration walkthrough - coming. In the meantime, Shopify's official migration docs cover the Store Importer flow, and LitExtension's YouTube channel has detailed category migration videos if you use one of their paid migration services.

Next steps

Frequently asked questions

How do I import products from WooCommerce to Shopify?
Export your products from WordPress (Products → Export) as a CSV, then install the Shopify Store Importer app on Shopify and upload the CSV. The app maps 38 WooCommerce columns to Shopify's product schema automatically. For variant images, reviews, and page layouts, plan follow-up work - those don't migrate cleanly.
Is the Shopify Store Importer free?
Yes. Shopify's Store Importer app is free and made by Shopify. It supports WooCommerce, BigCommerce, Wix, Etsy, Magento, and a few others as source platforms. You still pay the Shopify subscription ($29+/month) but no migration fee.
Will my SEO rankings survive a WooCommerce to Shopify migration?
Only if you set up 301 redirects. WooCommerce uses /product/{slug}/, Shopify uses /products/{slug} - every product URL changes. Build a redirect CSV for every ranking URL (pull your top 200 from Search Console) and upload via Shopify admin → Online Store → Navigation → URL Redirects. Without this, expect a 30–60 day traffic dip.
Can I migrate WooCommerce customers and orders to Shopify?
Yes. WooCommerce doesn't export orders natively, but the Shopify Store Importer can connect to your WooCommerce site with admin credentials and pull them directly. Alternatively, use the free Order Import Export Plugin for WooCommerce to generate CSVs and upload to Shopify.
What does the Shopify Store Importer NOT migrate from WooCommerce?
Page builder layouts (Elementor, Divi, WPBakery), variant images, product reviews, WooCommerce Subscriptions recurring billing, custom fields (ACF/metafields), blog posts (those need a separate importer), and URL redirects. Plan extra time for each of these after the main import.
How long does a WooCommerce to Shopify migration take?
For a 500-product store with standard content, budget a full week end-to-end: 1 day for the product import, 1–2 days for redirects and SEO, 1–2 days for theme setup and product page rebuilding, and a day for shipping/tax/payment reconfiguration. Larger catalogs (5,000+) or heavy plugin use can push it to 2–3 weeks.
Can I migrate WooCommerce reviews to Shopify?
Not with the Shopify Store Importer. WooCommerce reviews live in the WordPress comments table. Use Judge.me's free WooCommerce Reviews Migration tool - it reads the WooCommerce review export and imports into Judge.me on Shopify. Other review apps (Loox, Yotpo) have similar import paths but may require a paid plan.
Will product variants migrate correctly from WooCommerce?
Usually yes for the variant grid, but variant images always break. Spot-check variable products after the import: verify the variant count matches, SKUs are filled in, and each variation has the correct price. Fix variant images via a follow-up CSV upload or, for a small number of products, paste the WooCommerce URL into a URL-based importer that reads live variation data.
Harrison Bay avatar

Written by Harrison Bay

Founder, Product Upload