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
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
- In WP Admin, go to Products → All Products.
- Click Export at the top.
- Leave all columns and types selected, click Generate CSV. A
wc-product-export-YYYY-MM-DD.csvdownloads.
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:
- Install the Store Importer app from the Shopify App Store (made by Shopify, free).
- Open the app from your admin, select WooCommerce as the source platform.
- Upload the
wc-product-export-*.csvand any customer/order CSVs. Or connect via URL + admin credentials for the direct pull. - 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:
- Export your WooCommerce product list with Name and slug columns (the built-in exporter includes the slug under
Namewhen you addpost_name). - For every product slug, build the new URL by replacing
/product/{slug}/with/products/{slug}. - Do the same for category pages:
/product-category/{slug}/→/collections/{slug}. - 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 SKUcolumn 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 includes
Variant 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.
- In Shopify admin, go to Settings → Domains.
- Click Connect existing domain and enter your domain. Shopify shows you the DNS records to update.
- Log in to your DNS provider (Cloudflare, GoDaddy, Namecheap). Point the A record at
23.227.38.65and thewwwCNAME atshops.myshopify.com. - Back in Shopify, click Verify connection. Propagation usually takes 1–24 hours.
- Set the Shopify domain as Primary. This triggers Shopify to serve the new URLs as canonical.
- 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
- Once the migration is done, ongoing additions go faster with Product Upload for Shopify - paste any supplier URL and publish to your new Shopify store.
- After you're on Shopify, adding dropshipped products? Our AliExpress to Shopify guide is the best place to start.
- Bringing a handmade line with you? Our Etsy to Shopify guide covers the personalization-fields issue.
- Need the CSV column mapping in full detail? See our Shopify product CSV template reference.
Frequently asked questions
How do I import products from WooCommerce to Shopify?
Is the Shopify Store Importer free?
Will my SEO rankings survive a WooCommerce to Shopify migration?
Can I migrate WooCommerce customers and orders to Shopify?
What does the Shopify Store Importer NOT migrate from WooCommerce?
How long does a WooCommerce to Shopify migration take?
Can I migrate WooCommerce reviews to Shopify?
Will product variants migrate correctly from WooCommerce?
Keep reading
Etsy → Shopify
How to Import Etsy Products to Shopify (2026)
Three honest ways to move Etsy listings into Shopify - Etsy's CSV export, Shopify's product importer, and Product Upload - with a field-by-field comparison, pricing math, and the things that don't migrate cleanly.
Amazon → Shopify
Amazon to Shopify: Migrate, List, or Run Both (2026)
Three different Amazon-to-Shopify scenarios - migrating your own FBA listings, adding Shopify alongside Amazon, and sourcing products from Amazon sellers to dropship. Honest guidance on which is legit, which is risky, and how to do each.
Written by Harrison Bay
Founder, Product Upload