WooCommerce to Shopify Migration: Common Problems and How to Avoid Them
Learn how to avoid WooCommerce to Shopify migration problems with products, customer accounts, historical orders, subscriptions, redirects, and SEO.
WooCommerce to Shopify Migration: Common Problems and How to Avoid Them
Moving from a WooCommerce store to Shopify is not as simple as exporting a CSV file and importing it into Shopify. There are different stages involved, including products and collections, blog posts and important pages, customer accounts, historical orders, and SEO. If these stages are not planned properly, the store may lose important information, customers may have trouble accessing their accounts, and existing search traffic can be affected.
The risk becomes higher when the store has active subscriptions, custom WooCommerce plugins, or a large number of URLs already ranking on Google. In these cases, migration is not just about moving data. You also need to check whether the way your store works today can be supported on Shopify.
In this article, we'll go through the different stages of WooCommerce to Shopify migration, the common problems in each stage, and what you should check before making your new store live.
Different Stages of WooCommerce to Shopify Migration
The main stages are product and collection migration, blogs and other pages, customer accounts, historical orders, subscriptions, and SEO. Some work can happen in parallel, but it is important to plan dependencies before you begin. SEO planning should start from the first stage, even if the final redirects are activated at launch.
| What you are moving | Main problem to check | Possible migration approach |
|---|---|---|
| Products and collections | Variants, attributes, media, categories | CSV or Store Migration app; mapping tools or API for complex catalogs |
| Blogs and pages | URLs, formatting, images, metadata | Manual rebuild, migration app or API |
| Customer accounts | Passwords, guest orders, duplicate records | Customer import with cleaned data and account sign-in planning |
| Historical orders | Order-to-customer links, discounts, taxes and records | Specialized migration app or GraphQL-based import |
| Subscriptions | Billing agreements, payment methods and renewals | Gateway- and subscription-app-specific migration |
| SEO | Changed URLs, redirects, metadata and internal links | URL inventory, redirect mapping, staging QA and monitoring |
1. Product and Collection Migration
Products are the core of the store, so this is usually the first data migration task. You'll need to move product names, descriptions, images, prices, SKUs, inventory information, and variations. WooCommerce categories also need to be mapped to Shopify collections. They are not the same system, especially if your existing store uses nested categories.
For a small store with straightforward products, a CSV-based migration may be enough. Let's say your products use Size and Color as options, and there are no special product types or complicated custom fields. You can export product data from WooCommerce, prepare it in the format Shopify expects, import a small sample, and check the results before importing everything. Shopify also has a Store Migration app for WooCommerce product and customer CSVs. This does not mean you can upload any WooCommerce CSV unchanged into every Shopify importer; the method you choose determines the required format.
The situation is different with complex products. Shopify currently supports up to three options and 2,048 variants per product, with up to 250 media items per product. A WooCommerce product with four variation options cannot be moved into a standard Shopify product without changing its structure. The Shopify Store Migration app may import that product without its variants, so it is important to check the import report instead of assuming everything was transferred correctly.
You can sometimes move an option that doesn't define a separate sellable SKU, such as an engraving message, into a customization field or app. In other cases you may need to split products, redesign the option selection, or use a suitable Shopify app. Metafields can store extra product information, but they do not increase Shopify's three-option limit or its native media limit. A custom GraphQL import can give developers more control over data mapping, but it cannot remove Shopify's platform limits either.
Also check whether the theme and installed apps can display products with hundreds of variations. A product might import successfully while the frontend still fails to show all available options.
What to check before importing:
- Products with more than three variation options, unusually high variant counts, or large image galleries.
- Missing or duplicate SKUs, incorrect prices, and stock quantities.
- WooCommerce grouped, bundled, external, or other plugin-defined product types.
- Custom attributes that should become Shopify metafields rather than options.
- Category pages that need their own Shopify collections and navigation links.
Recommendation: Start with a small test import that includes your most complicated products, not just the simplest ones. Review product data and the customer-facing product page before choosing your final migration method.
2. Blogs and Other Important Pages
A WooCommerce store normally runs on WordPress, so it may have years of blog posts, buying guides, FAQ pages, and pages like Contact Us, About Us, and Shipping Policy. These pages are not included in a standard WooCommerce product export. You'll need to migrate or rebuild them separately.
You can copy a few simple pages manually. For a store with a large blog, a migration app or API-based approach can save work, but the content still needs to be checked. WordPress page builders may store layouts through shortcodes or special blocks that Shopify themes cannot display in the same way. Images embedded inside articles also need attention, especially if they are still hosted on the old WordPress server.
Do not judge this stage only by whether the page text appears on Shopify. Check the headings, internal links, images, tables, and important formatting. If a blog post currently gets search traffic, you should also preserve its topic, useful content, SEO metadata, and a suitable destination URL.
An old WordPress blog article might have a URL such as:
/blog/how-to-choose-running-shoes/
On Shopify, an article commonly uses a structure like:
/blogs/guides/how-to-choose-running-shoes
This path change needs to be included in your SEO redirect map. We will discuss that in more detail below.
3. Customer Accounts and Guest Customers
Customer migration is not just about importing names and email addresses. Your WooCommerce store can contain registered customers, guest purchasers, addresses, marketing preferences, and additional fields added by plugins. Some guest customers may exist only in historical order records and not as registered WordPress users.
The first thing to understand is that customer passwords cannot be imported directly into Shopify. Shopify uses its own customer authentication system. With Shopify's current passwordless customer accounts, customers can enter their email address and receive a one-time verification code to sign in. This removes the need to transfer their old WooCommerce password, but you should still explain the change to customers before launch.
Before importing customer data, validate email addresses, find duplicate profiles, and check address fields and country codes. Don't automatically merge two records simply because they have similar names. You also need to handle customer consent carefully; marketing permission should not be invented during the migration.
I recommend importing customer records before historical orders. Shopify's migration guidance also suggests this order. It gives the order migration process a better chance of connecting past purchases to the correct customer profiles. Still, the final result depends on the tool's matching logic, so test both registered customers and guest purchasers. Otherwise, imported orders may exist in the admin but not appear where customers expect to find them.
4. Historical Orders
Historical orders contain more information than a product and a price. They can include customer details, line items, tax, shipping, discounts, refunds, fulfillment status, and notes. This is one reason you should not treat order migration like a normal product CSV import.
Shopify's native CSV import workflow does not import historical orders. The 15 MB customer CSV limit sometimes mentioned in migration guides is not a historical order import limit. For existing orders, Shopify recommends a migration app. Developers can also evaluate the Shopify GraphQL Admin API, including the orderCreate mutation, when a custom import is needed.
A custom API import gives you more control, but it still comes with API limits and data-model restrictions. It is not an unlimited import method. Certain historical details may need special mapping, and imported orders may not behave exactly like orders originally placed through Shopify checkout. You should check the current API and the migration tool documentation before deciding which fields can be preserved.
Take care with customer notifications as well. Some migration workflows can trigger notifications or automated actions when old orders are created in the new store. Test this behavior on a small batch before importing thousands of past orders.
A useful validation step is to compare the source WooCommerce records against the imported Shopify records. Check order counts, customers, totals, taxes, discounts, and statuses. If some orders cannot be represented exactly, record those differences instead of silently treating the import as successful.
5. Subscriptions and Recurring Payments
If your WooCommerce store has active subscriptions, this stage needs separate planning. Moving customer profiles and products does not automatically move existing subscription agreements or saved payment methods.
WooCommerce subscription renewals depend on the subscription plugin and payment gateway you're using. Shopify subscriptions depend on compatible subscription apps and supported payment arrangements. In some cases, existing payment methods can be migrated through a supported remote gateway process. In other cases, customers may need to update their payment details or accept a new subscription arrangement.
This is where mistakes can affect recurring revenue. A customer may be unable to renew if the payment method is not connected properly. There is also a risk of duplicate charges if the old WooCommerce subscription system continues running scheduled renewals after the new Shopify subscription starts.
Before migrating subscriptions, make a record of active plans, next renewal dates, billing intervals, gateway types, and cancellation or pause states. Coordinate with the subscription app and payment provider, test renewals, and confirm when billing on the old store will stop. Don't turn off the old system blindly before confirming the new system can process renewals.
Recommendation: Treat subscription migration as its own project, even if the rest of your store can be moved with a standard migration app. Never promise that all saved payment methods will transfer without checking the actual gateway and app support.
6. WooCommerce Plugins, Shipping, Taxes and Checkout
A common mistake is assuming that every WooCommerce plugin has an equivalent Shopify app and that installing it will reproduce the same behavior. Many WooCommerce features depend on PHP hooks, custom database fields, or WordPress page templates. Shopify works differently, so some features may need to be redesigned rather than copied.
Make a list of your existing plugins and what each one actually does. A plugin used for a feature Shopify already supports might not need a replacement. A custom product configurator, wholesale pricing system, loyalty program, or ERP integration may need more work. The goal should be to preserve important business functions, not to rebuild the exact WordPress plugin list on Shopify.
Shipping and taxes also need to be configured and tested separately. WooCommerce shipping classes and custom rate formulas do not necessarily map directly to Shopify shipping profiles and rate rules. Check shipping by location, product type, weight, and order value. Test tax-inclusive and tax-exclusive pricing where relevant to the store.
Checkout customization can be another limitation. WooCommerce allows developers to change checkout behavior through plugins and PHP code. Shopify supports checkout customizations through its own settings, apps, and extension system, but the options depend on the feature and Shopify plan. Advanced changes on the information, shipping, and payment steps are generally more restricted and often require Shopify Plus.
You should test the actual checkout before launch, including payments, refunds, coupon codes, delivery methods, and order confirmation emails. A successful product import does not mean the store is ready to accept orders.
7. SEO Migration and URL Mapping
I would give SEO special attention during WooCommerce to Shopify migration because it is easy to lose search visibility when existing URLs and content are moved incorrectly. A store may have product and category pages ranking on Google, but blog posts, guides, and other WordPress pages can also bring a large share of organic traffic.
WooCommerce allows different permalink structures. Shopify uses more fixed URL patterns for its core resources:
| Page type | Example Shopify path |
|---|---|
| Product | /products/red-shoes |
| Collection | /collections/running-shoes |
| Blog article | /blogs/guides/shoe-sizing |
| Standard page | /pages/contact-us |
If your old WooCommerce URL is different from the new Shopify URL, you usually need a permanent redirect from the old page to the most relevant new page. A 301 redirect is the standard choice for a URL move. Google also supports 308 permanent redirects, although Shopify's built-in redirect system is designed around its supported URL redirect rules.
Suppose your old product URL is:
/product/red-running-shoes/
And the new Shopify product URL becomes:
/products/red-running-shoes
A redirect should take people and search engines from the old URL directly to the new one. Avoid redirecting all old URLs to your homepage. If a page no longer exists, choose a relevant replacement only when it really serves the same purpose.
Start SEO work before the migration, not after it. Export around 12 months of Google Search Console data, collect your current URLs, and identify the pages that receive clicks and impressions. A site crawl can help you record titles, meta descriptions, canonicals, internal links, and current redirect rules. Your existing WordPress SEO plugin may hold data that is not included in a normal product CSV.
Also remember the pages that are easy to miss: WordPress blog categories and tags, author pages, old landing pages, /shop/, and nested WooCommerce product categories. Some of these pages may already have rankings or backlinks. Shopify collections do not reproduce the WordPress category hierarchy automatically, so you may need to rebuild important navigation links and landing pages.
After launch, check that the redirects work, Shopify pages use the correct canonical URLs, internal links point to the final destinations, and the sitemap is accessible. Submit the new sitemap in Google Search Console and monitor indexing, 404 errors, and organic traffic.
Even if the URL structure is similar, there is no guarantee that traffic will remain unchanged. Google can take time to process a site migration, and ranking fluctuations are possible. The aim is to reduce avoidable losses, not to promise zero impact on SEO.
Mapping WooCommerce Plugins to Shopify Apps
Start with what each plugin does, then decide how that function should work on Shopify. Some features need an app, while others may already be covered by Shopify. Installing a replacement app does not automatically move the old plugin's data or settings.
| WooCommerce plugin | Possible Shopify replacement | What to check during migration |
|---|---|---|
| Yoast SEO | An SEO app such as Yoast SEO for Shopify | Map existing titles and meta descriptions, check canonical URLs and structured data, and prepare redirects. Do not assume the WordPress plugin settings transfer automatically. |
| WooCommerce Subscriptions | A subscription app such as Recharge | Check gateway compatibility, active plans, renewal dates, and saved payment method support. Confirm the migration process with the provider before switching billing. |
These are possible replacements, not exact copies of the WooCommerce plugins. Compare the features your store actually uses, test them on Shopify, and check the ongoing app cost before choosing a replacement.
Comparing WooCommerce to Shopify Migration Methods
There isn't one migration method that fits every store. The right choice depends on how much data you have and how complicated it is.
| Method | Suitable for | Main limitation |
|---|---|---|
| Manual CSV and Shopify import tools | Straightforward products and customer records | Requires careful mapping; not a full order, blog, or subscription migration |
| Dedicated migration apps | Stores with several data types to move | Support varies by app, Shopify plan, field and feature |
| Matrixify or another data-focused migration tool | Larger migrations needing field mapping and import review | Requires configuration and validation; not every special feature transfers |
| Custom GraphQL API process | Complex data, custom workflows or integrations | Requires development and must follow Shopify API limits and platform rules |
For many stores, a combination works best. You might migrate ordinary products through an app, rebuild a few complex pages manually, and use a specialized process for subscriptions. I wouldn't recommend writing a custom migration script for everything if a reliable supported tool already handles most of the work.
Before selecting any tool, confirm exactly which fields it supports and run a sample import. Marketing claims such as “complete migration” do not necessarily mean every WooCommerce plugin field or historical order detail will be preserved.
Matrixify, Cart2Cart and LitExtension
Matrixify, Cart2Cart, and LitExtension all offer WooCommerce-to-Shopify migration workflows. The important difference is what each tool can transfer for your particular store.
| Tool | What to evaluate |
|---|---|
| Matrixify | Review its WooCommerce migration workflow, field mapping, and import results. Check how your custom fields and order data will be represented in Shopify. |
| Cart2Cart | Check the data types and additional migration options supported for WooCommerce to Shopify. Run a sample migration and review the results before moving the full store. |
| LitExtension | Check which WooCommerce data types and migration options are supported. Use a demo migration to review the transferred data before starting the full migration. |
I would choose the tool after checking a sample of the store's actual data. Products importing correctly does not prove that historical orders, SEO data, or subscription billing will also transfer correctly. Keep those checks separate.
How Long Does WooCommerce to Shopify Migration Take, and What Does It Cost?
For a small store, plan for around 1 to 2 weeks, with migration pricing starting from ₹25,000. A larger store can take around 3 to 4 weeks, and the price can go up to ₹1,00,000.
| Store size | Estimated timeline | Estimated migration cost |
|---|---|---|
| Small store | 1 to 2 weeks | Starting from ₹25,000 |
| Large store | 3 to 4 weeks | Up to ₹1,00,000, depending on scope |
These are planning estimates, not a fixed quote or a guaranteed completion date. The final time and cost depend on the number of products, variants, collections, pages, customers, and historical orders. Custom plugin features, subscriptions, integrations, data cleanup, and SEO redirect mapping also affect the work involved.
For example, a store with a small catalog can still need more work if its products use a custom configurator or its subscriptions require a separate billing migration. I recommend auditing the existing store before confirming the price and launch date. Also confirm whether migration tool fees, Shopify plans, and ongoing app subscriptions are included in the quote.
Short WooCommerce to Shopify Migration Checklist
This is the process I would follow before launching the new store.
Phase 1: Audit and Prepare
- Back up the WordPress files, database, and uploaded media.
- Export the last 12 months of Search Console data and crawl important URLs.
- Identify products with more than three options, large variation counts, or over 250 media items.
- List active plugins, custom fields, subscriptions, shipping rules, and payment methods.
- Decide which data can use CSV or migration apps and which needs custom work.
Phase 2: Build and Test the Shopify Store
- Prepare products and collections, checking variants, prices, stock, and images.
- Migrate or rebuild blog posts, core pages, and important navigation.
- Configure Shopify shipping, taxes, payments, and necessary apps.
- Test a few complicated products and complete sample purchases.
Phase 3: Move Customers, Orders and Subscriptions
- Clean customer records, check emails, and import customers.
- Test guest orders and links between historical orders and customer profiles.
- Import historical orders using a supported app or API process.
- Migrate subscriptions separately and test renewal behavior before cutover.
Phase 4: Prepare SEO and Final Synchronization
- Match every important old URL to its final Shopify destination.
- Prepare redirects, metadata, internal links, and the sitemap.
- Check for any new orders, customers, or stock changes made during migration and synchronize them safely.
- Test redirects and the checkout on the final storefront.
Phase 5: Launch and Monitor
- Connect the domain and confirm HTTPS works.
- Check the homepage, products, collections, blog posts, and checkout on the live domain.
- Confirm the new sitemap and crawl settings, and submit the sitemap in Search Console.
- Monitor failed redirects, missing pages, orders, customer login issues, and payment errors.
- Keep the old store data available safely until the migration and any subscription cutover have been verified.
Final Recommendation
WooCommerce to Shopify migration can be simple for a store with standard products and limited custom features. But if your store has complex variations, years of blog content, custom plugins, active subscriptions, or good organic search traffic, you should plan the work in stages instead of treating it as one CSV import.
My recommendation is to audit the existing store first, test the migration on a small sample, and check each stage before launch. Pay particular attention to customers, historical orders, subscriptions, and SEO, because problems in these areas may not be visible when you only look at the new storefront design.
If your store has custom integrations or data that standard migration tools cannot handle, working with a developer can make sense. The important thing is to understand what can be migrated directly, what needs to be rebuilt, and what must be verified before switching the live store.
Sources and Further Reading
These sources support the technical points in this draft. Review the current documentation again before carrying out a migration, as Shopify features and plan limits may change.
- Shopify Help Center — Migrate from WooCommerce
- Shopify Help Center — Adding Product Variants
- Shopify Help Center — Customer Accounts
- Shopify Help Center — Customer CSV Imports
- Shopify GraphQL Admin API — orderCreate
- Shopify Help Center — Creating and Managing URL Redirects
- Google Search Central — Site Moves with URL Changes
- Shopify Help Center — Checkout Customizations
- Shopify Developer Docs — Remote Customer Payment Methods
- Matrixify — Migrating WooCommerce to Shopify
Frequently Asked Questions
ScaleFront Team
The ScaleFront engineering team designs and builds bespoke Shopify themes, apps, and headless architectures for scaling DTC brands.
Speak with an architect →Need Custom Shopify Architecture?
We engineer bespoke Shopify themes, private apps, and headless storefronts designed for speed and conversion.
Related Articles
Headless WooCommerce with Next.js: Architecture, Setup and Migration Guide
Learn how headless WooCommerce works with Next.js, including API choices, storefront setup, cart sessions, checkout, SEO, and migration planning.
Shopify SEO Guide 2026: How to Actually Rank on Google
Real Shopify SEO strategies that work in 2026. Technical optimization, speed fixes, content strategy, and what actually moves rankings. No fluff.
How to Hit 6-7% Conversion Rate on Shopify: CRO Tactics
Complete CRO playbook for Shopify stores. Increase conversion rate to 6-7% and AOV to $75+ with gender-specific landing pages, checkout optimization, and trust elements.