WooCommerce to Shopify migration steps
- Define the scope. List the catalog, customers, history, WordPress content, plugins and connected tools; decide what to transfer or archive.
- Choose transfer methods. Assign a suitable import method to each dataset and back up the source before transforming anything.
- Run a representative trial. Import sample products and customers, then the selected history, including variants, discounts and exceptions.
- Prepare the new store. Rebuild navigation, sales functions, payments, shipping and connections to the team's tools.
- Validate journeys and URLs. Test a complete order and the important old addresses, with a relevant destination for each one.
- Plan the switch and follow-up. Capture changes since the trial, reconcile inventory and orders, then launch and monitor errors.
The official Shopify WooCommerce migration procedure covers imports and store settings. The sequence above organizes the decisions and acceptance checks around those operations.
What data can you move from WooCommerce to Shopify?
| Item | Transfer to prepare | Useful check |
|---|---|---|
| Products and variants | WooCommerce export adapted to the chosen import format | SKUs, options, prices and images across varied cases |
| Customers | Profile import; plan account access separately | Identity, contact details and duplicate checks |
| Historical orders | Method separate from the customer CSV | Customer relationships, totals and statuses |
| Reviews | Export and import specific to the tools involved | Product association and review content |
| Subscriptions | Assessment with the providers involved | Demonstrated renewal and payment continuity |
| WordPress posts and pages | Transfer separate from WooCommerce exports | Content, images, links and URLs |
| Theme and plugins | Rebuild the design and required functions | Complete journeys in Shopify |
A WooCommerce export is not automatically ready for Shopify. Keep the original file and adapt a copy to the selected method.
CSV, migration app or expert help: which approach fits?
CSV works when the required fields can be mapped to the expected format and the team can check the data. An app may support a broader transfer; verify its coverage with a trial before entrusting it with the full history. Expert help is useful when decisions extend beyond imports: pricing rules, subscriptions, inconsistent data, an ERP or business continuity.
Compare the data actually transferred, the exceptions handled and the effort needed for validation. The tool's price alone is not the project cost. Custom development is justified only when existing options cannot meet an identified constraint.
Identify the functions behind your plugins
List active plugins alongside theme changes, custom development and connections to external software. For each item, establish the task it performs and who relies on it. A deactivated plugin may also have left useful data behind: check its current use before discarding it.
Do not immediately look for a Shopify app with the same name. A function may be covered by native features, an app, a targeted customization or an agreed decision to retire it. Equivalence needs to cover actual cases, beyond a vendor's feature list.
Create a decision record for each function
This grid is a proposed planning method, not a report of a client migration. Add your own rules and assign an owner to approve each row.
| Current function | Data to preserve | Decision required | Evidence required before switching |
|---|---|---|---|
| Product option with an extra charge | Selection, charge, linked reference | Variant, app or customization depending on constraints | Same selection and total, with the option readable in the order |
| Conditional discount | Conditions, exclusions, permitted combinations | Reproduce the rule or explicitly simplify it | Eligible and excluded carts produce the agreed outcomes |
| Personalized order | Text or file, linked to the purchased line | Define storage, access and transfer | Team can retrieve the correct item against the correct line |
| Active subscription | Contract, next renewal, entitlements and associated payment | Separate assessment with the providers involved | Demonstrated transition process; no assumed renewal continuity |
| Accounting or logistics connection | Identifiers, statuses, transmitted fields | Reconnect the flow and assign the source of truth | Test order reconciled through to the receiving system |
A row without a destination or evidence remains unresolved. If it blocks a sale or order preparation, the store cannot be considered ready.
Separate the catalog, customers and history
The WooCommerce product CSV export provides a starting point for the catalog. Also check custom fields and plugin data: appearing in an export does not guarantee a working destination.
Shopify documents product CSV imports and recommends a backup and a small trial before a large import. Map each useful column to a destination, then compare references, variants, prices and images on a sample that includes exceptions.
The Shopify customer CSV does not import order history. Importing a profile alone therefore does not restore the context customer support needs.
The Shopify WooCommerce migration guide distinguishes historical orders, which cannot be transferred through the native CSV import and for which the guide suggests a migration app, reviews outside product exports and passwords that cannot be transferred. Plan future account access and decide how to handle each dataset separately.
Test a complete rule: a fictional scenario
Imagine a WooCommerce store selling an engraved product. One plugin adds text and an extra charge; another tool forwards the information to the workshop. This scenario is fictional and does not describe a Codezilla project.
An import may recreate the product without recreating that behavior. The proposed test follows the whole chain:
- Select a variant and enter permitted text; check the agreed extra charge.
- Try missing or overlong text; confirm the defined behavior.
- Find the text and charge against the correct test order line.
- Check their receipt in the workshop's tool.
- Simulate a cancellation in the test environment and check the instruction received.
The deliverable is an acceptance record with inputs, expected outcome, observed outcome and evidence. A technical “success” status does not replace a check by the person preparing the product. If the text disappears after the cart, migration of that function has not passed.
Decide what stays in the old store
Agree where open orders, refunds and customer support cases will be handled during the transition. Do not import an old status without defining its operational meaning in the destination. Keep a mapping of source and destination identifiers so a case can be traced.
For URLs, map old addresses to equivalent content and check Shopify redirect limitations. Sending everything to the homepage does not demonstrate continuity of the customer journey.
Finally, set a reference time for the export and a method for changes made afterward. If rollback becomes necessary, orders received in Shopify must also be reconciled: pointing the domain back to WooCommerce is insufficient.
How do you protect SEO during the migration?
Inventory pages that receive visits or links before changing the structure. Map old URLs to Shopify destinations and preserve useful content and metadata. Test redirects on the public domain after switching, rather than considering an import file sufficient evidence. Redirects reduce broken journeys; they do not guarantee unchanged rankings.
What determines migration cost and timeline?
The estimate depends on the catalog, selected history, plugins to replace, design and connected tools. Separate data preparation, imports, rebuilding functions, acceptance testing and launch. Include any app subscriptions and recurring store costs.
For comparable quotes, provide the WooCommerce URL, product, customer and order counts, plugin list, languages and launch constraints. Ask what is included, who approves trials and how errors will be handled. A dependable schedule also requires data access and time from your team for acceptance testing.
Checklist before switching the domain
- Reconcile expected and imported data, keeping exceptions separate.
- Test a mobile order: variants, discount, shipping, payment and confirmation.
- Find the information needed in fulfillment and support tools.
- Prepare redirects, the final update of recent changes and criteria for postponing launch.
- After switching, check old URLs, new orders and errors in Search Console.
If you are comparing source platforms, our PrestaShop to Shopify migration guide explains the specific catalog, module and history considerations for PrestaShop.
When can you decide to migrate?
The project is scoped when every essential function has a destination, identified data, an owner and an accepted test. Defer the decision if an active subscription, pricing rule or handoff to the team is only assumed to be compatible.
To plan a Shopify store build or redesign, gather your plugin list, representative orders and completed grid. You can discuss your project with Codezilla, identifying functions to preserve and unresolved decisions.