Moving from WooCommerce to Shopify means migrating products, customers, orders, and URLs without losing SEO rankings or breaking your store. It is doable, but there are steps you cannot skip.
This guide covers the full process: exporting data from WooCommerce, converting it to Shopify’s format, setting up redirects, preserving your search rankings, and avoiding the mistakes that trip up most migrations.
In this post
- Before you start
- Step 1: Export your WooCommerce data
- Step 2: Convert your CSV files
- Step 3: Import into Shopify
- Step 4: Set up URL redirects
- Step 5: Preserve your SEO
- Step 6: Post-migration setup
- Common migration mistakes
- Frequently asked questions
- Related reading
Before you start
A clean migration requires preparation. Before touching any data, do these three things:
Take a full backup of your WooCommerce site. Export your database and wp-content folder. If something goes wrong, you need to be able to restore your current store completely.
Map your URL structure. WooCommerce URLs look like /product/leather-bag/ or /product-category/bags/. Shopify URLs will be /products/leather-bag and /collections/bags. Document every URL pattern you currently use. You will need this for redirects.
List your integrations. Payment gateways, shipping providers, email marketing, review apps, analytics. Find Shopify equivalents for each one before you migrate, so you can set them up immediately after import.
Step 1: Export your WooCommerce data
WooCommerce stores four types of data you need to move: products, customers, orders, and content (pages and blog posts).
Products
Go to WooCommerce > Products > Export. Select all fields and export as CSV. This gives you product names, descriptions, prices, SKUs, images, categories, tags, and variant data. For stores with variable products (colors, sizes), each variation exports as a separate row.
Check the export for completeness. Open it in a spreadsheet and verify that image URLs are present, variant data is correct, and no products are missing. WooCommerce exports sometimes skip custom fields or product add-ons.
Customers
Go to WooCommerce > Customers. Use a plugin like “Export Users to CSV” or WooCommerce’s built-in customer export. You need email addresses, names, addresses, and order history. Shopify can import customer data via CSV.
Orders
Shopify does not natively import orders from CSV. You have two options: use a migration app (like Matrixify or LitExtension) that handles order history, or accept that historical orders stay in WooCommerce. For most stores, keeping WooCommerce accessible for order lookups during a transition period is sufficient.
Pages and blog posts
WordPress pages and blog posts need to be recreated in Shopify manually or via a migration app. Shopify’s blog system is simpler than WordPress, so expect to adjust formatting. Export your posts from WordPress (Tools > Export) and keep the XML file as reference.
Step 2: Convert your CSV files
WooCommerce and Shopify use different CSV formats. The column names, variant structure, and image handling are all different. You cannot import a WooCommerce CSV directly into Shopify.
Use the CraftShift WooCommerce to Shopify converter to transform your product CSV into Shopify’s format. It maps WooCommerce fields to Shopify columns, handles variant restructuring, and preserves image URLs.
Key differences between the formats:
- Variants: WooCommerce uses separate rows with a “parent” reference. Shopify uses a “Handle” column where all variants of the same product share the same handle.
- Images: WooCommerce exports image URLs in a single column. Shopify uses “Image Src” and “Image Position” columns, with one image per row.
- Categories: WooCommerce uses product categories. Shopify uses collections, which are set up separately (not via the product CSV).
- SEO fields: If you use Yoast or Rank Math in WooCommerce, your meta titles and descriptions are in custom fields. These map to Shopify’s “SEO Title” and “SEO Description” columns.
After conversion, validate the output with the CraftShift CSV Validator. It checks for formatting errors, missing required fields, and data that Shopify will reject on import.
Step 3: Import into Shopify
Create your Shopify store and choose a theme before importing products. Set up your Shopify Payments, shipping zones, and tax settings first. Then import.
Products: Go to Products > Import. Upload your converted CSV. Shopify shows a preview of what will be imported. Review it carefully. Click “Import” and wait. For large catalogs (1,000+ products), this can take 10-30 minutes.
Customers: Go to Customers > Import. Upload your customer CSV. Note that imported customers will need to reset their passwords, as WooCommerce password hashes are not compatible with Shopify.
After import, verify:
- Product titles, descriptions, and prices are correct
- Variant combinations (color/size) are structured properly
- Images loaded correctly (check for broken image links)
- SKUs and inventory counts match your WooCommerce data
- Product weights are correct (important for shipping calculations)
Set up your collections manually. Shopify collections do not import from WooCommerce categories. Create collections and use automated rules (by product type, tag, or vendor) or manually add products.
Step 4: Set up URL redirects
This is the most important step for preserving your SEO. Every old WooCommerce URL must redirect to its Shopify equivalent. Without redirects, you lose all organic traffic from pages Google has already indexed.
Common redirect patterns:
/product/leather-bag/redirects to/products/leather-bag/product-category/bags/redirects to/collections/bags/shop/redirects to/collections/all/my-account/redirects to/account/blog/post-title/redirects to/blogs/news/post-title
Use the CraftShift Redirect Generator to create a redirect CSV from your old URLs. It maps WooCommerce URL patterns to Shopify’s structure automatically. Then upload the redirects in Shopify at Online Store > Navigation > URL Redirects.
For stores with thousands of products, bulk upload is essential. Shopify allows CSV upload for redirects. Each row needs two columns: the old path and the new path. Test a sample of redirects after uploading to confirm they work.
Step 5: Preserve your SEO
Redirects are one part of SEO preservation. Here is everything else you need to do:
Keep the same title tags and meta descriptions. If you used Yoast or Rank Math, export those SEO fields and apply them to your Shopify products. The CSV converter maps these fields automatically.
Keep the same product handles. If your WooCommerce slug was leather-bag, make sure your Shopify handle is also leather-bag. This makes redirects simpler since only the prefix changes (/product/ to /products/).
Submit your new sitemap. After launching on Shopify, go to Google Search Console and submit yourstore.com/sitemap.xml. This tells Google to crawl your new URLs. Also request indexing for your top 10-20 most important pages.
Preserve image URLs when possible. If your WooCommerce images were hosted on your own domain, those URLs will break after migration. Shopify hosts images on its own CDN. Google will recrawl and re-index the new image URLs, but this takes time. Make sure every product has images with proper alt text for SEO.
Keep your product schema markup. Verify that your Shopify theme outputs JSON-LD Product schema. Most themes do, but check with the Schema Generator to confirm nothing is missing. Losing structured data during migration can drop your rich snippets in Google.
Step 6: Post-migration setup
Once your products and redirects are in place, set up the rest of your store:
Product images and variants. WooCommerce and Shopify handle variant images differently. In WooCommerce, variable products can have a gallery per variation. In Shopify, each variant gets one assigned image by default. If you sell products with multiple colors and need several images per variant, install Rubik Variant Images. It lets you assign multiple images per variant and filters the gallery when a customer selects a color.
Combined listings. If you used separate WooCommerce products for different colors (linked through grouped products), you can replicate this in Shopify with Rubik Combined Listings. Each color keeps its own URL and SEO value while customers can browse all colors from one page.
Email marketing. Export your WooCommerce subscriber list and import it into your Shopify email provider (Klaviyo, Mailchimp, Shopify Email). Update any email automations that reference WooCommerce-specific data.
Analytics. Set up Google Analytics 4 on your Shopify store. Configure enhanced ecommerce tracking. If you use Google Ads or Meta Ads, update your pixel and conversion tracking codes.
DNS cutover. When everything is tested and ready, point your domain to Shopify. Update your DNS records, enable Shopify’s SSL certificate, and verify that all redirects work on the live domain. Run a crawl with Screaming Frog or a similar tool to find any broken links.
Common migration mistakes
Skipping redirects. This is the number one mistake. Without 301 redirects from every old URL to its new equivalent, you lose all organic rankings overnight. Google treats the old URLs as 404 errors and drops them from the index.
Not testing the CSV before importing. A single formatting error in your product CSV can corrupt your entire import. Validate with the CSV Validator before uploading. Fix issues in the CSV file, not in Shopify admin after import.
Losing variant structure. WooCommerce variable products sometimes lose their variant relationships during CSV conversion. A shirt with 3 colors and 4 sizes should have 12 variants, not 12 separate products. Verify the converted CSV shows all variants under the same handle.
Forgetting about image galleries. WooCommerce lets you attach multiple images per variation. Shopify natively supports only one image per variant. After migration, check that each variant has the right image. For multi-image variant galleries, you need multiple images per variant through an app.
Not sending password reset emails. Imported customers cannot log in with their WooCommerce passwords. Send a bulk password reset email after migration. Shopify provides this option in the customer import flow.
Launching without checking Google Search Console. After DNS cutover, monitor Search Console daily for 2 weeks. Watch for crawl errors, indexing issues, and redirect problems. Fix anything that appears immediately.
Frequently asked questions
How long does a WooCommerce to Shopify migration take?
For a store with under 500 products, expect 1-2 days for the full migration. Larger stores with thousands of products, complex variants, and extensive content can take 1-2 weeks. The data conversion itself is fast. Testing and redirect setup take the most time.
Will I lose my Google rankings when migrating?
Not if you set up 301 redirects correctly. A temporary dip of 10-20% in organic traffic is normal during the first 2-4 weeks as Google recrawls and processes your new URLs. Rankings typically recover fully within 1-2 months if redirects and SEO fields are preserved.
Can I migrate WooCommerce orders to Shopify?
Not through Shopify’s native import. Use a migration app like Matrixify or LitExtension to transfer order history. Alternatively, keep your WooCommerce site accessible (on a subdomain or locally) for historical order lookups during the transition.
Do I need to recreate my WooCommerce product categories in Shopify?
Yes. Shopify uses collections instead of categories, and they are not imported from the product CSV. Create collections in Shopify and use automated rules (by product type or tag) or manually assign products. Keep collection handles matching your old category slugs for cleaner redirects.
What happens to my WooCommerce product reviews?
WooCommerce reviews need to be exported and imported into a Shopify review app. Judge.me, Loox, and Stamped all support review imports via CSV. Export your WooCommerce reviews using a plugin like “WP All Export” and reformat for your chosen Shopify review app.
Can I keep my domain when moving to Shopify?
Yes. You keep your domain. Either transfer the domain to Shopify or update your DNS records at your current registrar to point to Shopify’s servers. Shopify provides the exact DNS records you need in Settings > Domains.
How do variant images work differently on Shopify vs WooCommerce?
WooCommerce lets you set a gallery per variation natively. Shopify only allows one image per variant by default. For multiple images per variant (showing front, back, and detail shots per color), use an app like Rubik Variant Images. It filters the product gallery to show only images for the selected variant.





