This site participates in affiliate programs. If you sign up through a link on this page, we may earn a commission at no extra cost to you.
Quick answer
Migrating from Shopify to WooCommerce moves your products and your variants. Basic customer records come along too, because both platforms publish CSV import and export paths. It moves less than most people expect, though. Customer passwords cannot be transferred. Order payment details are excluded by default, and saved card data does not come with the order file. Your theme and your Shopify apps do not transfer, and neither does your URL structure. You rebuild the first two and redirect the third. I’d treat the whole move as a bet on control and long-run fee structure, not on a cheaper first month.
Table of contents
- Two routes, two sets of limits
- What moves, what gets lost, what you rebuild
- The image trap
- Customer accounts and order history
- SEO: URLs and redirects
- Cost lines after the move
- Scale-triggered fees
- The risk list
- Our verdict
- How we researched this
- Sources
What “migration” actually means here
WooCommerce publishes a step-by-step guide for moving a Shopify store. It gives you two routes. Export Shopify data to CSV and import it into WordPress yourself, or use a migration extension that pulls data over the Shopify API. Both sets of exports are documented field by field, including the fields that get dropped.
What no CSV export covers is everything downstream of the data: your URLs, your rankings, your payment setup, your subscriptions. The theme too. That gap is why a migration takes weeks rather than an afternoon.
If you are still choosing between platforms rather than executing a move, start with our full Shopify vs WooCommerce vs BigCommerce pricing comparison first.
What moves, what gets lost, what you rebuild
Read this table first. Every cell in it comes from vendor documentation published on 2026-09-22.
| Data type | Moves to WooCommerce? | Where the limitation comes from |
|---|---|---|
| Product catalog (titles, descriptions, SKUs, prices, stock, tags) | Yes, via CSV | WooCommerce’s guide maps Shopify’s Handle, Title, Body (HTML), vendor, type, variant price, and SKU onto WooCommerce product fields |
| Product variants | Yes, if attributes are rebuilt | Shopify exports one row per variant with Option columns (Size, Color); WooCommerce expects parent products with attributes feeding variations |
| Categories | With restructuring | Shopify’s Product Type maps to WooCommerce categories, which WooCommerce says “may need to be restructured” |
| Product images | Only while the old store stays reachable | Shopify: images are not embedded in the CSV and are generated on import “only if they remain viewable on a publicly accessible website” |
| SEO title and description | Only if you customized them | Shopify notes these columns are blank unless manually edited; blank means auto-generated |
| Customer records (email, name, addresses, opt-ins) | Yes, via CSV | Shopify exports email, phone, address, and Accepts Email/SMS/WhatsApp Marketing columns |
| Customer passwords | No, on every documented path | Shopify: passwords are encrypted outside Shopify. WooCommerce’s extension docs: “Users passwords will not be imported as Shopify APIs do not provide password data for security reasons” |
| Customer lifetime totals | No | Shopify’s customer CSV: the Total Spent column isn’t imported with customer details |
| Order records (line items, status, dates, totals) | Partially | Shopify exports orders as CSV, one line per line item; transaction history covers captured payments only |
| Order↔customer relationships | At risk | WooCommerce: relationships “may break if customer IDs are mismatched or missing” |
| Payment details (transaction IDs, gateway) | No | WooCommerce: payment information is not transferred “due to privacy and security restrictions” |
| Shipping methods, tax details, coupons | Partially | WooCommerce: these “might not map accurately or may be omitted” on CSV imports |
| Refunded or variant-heavy line items | At risk | WooCommerce: such line items “might import inaccurately or be dropped altogether” |
| Gift card codes and balances | [DATA NOT VERIFIED: no documentation we fetched describes moving gift-card codes or balances off Shopify] | — |
| Theme and design | No | Shopify themes use Liquid, its templating language; WooCommerce instead walks you through choosing a WordPress theme |
| Apps and integrations | No | Shopify apps are ecosystem-specific; WooCommerce substitutes its own extension catalog |
| Custom fields and metafields | Only with a WooCommerce equivalent | Shopify’s Product Vendor maps to a custom attribute or brand field; the same pattern applies elsewhere |
Two of those rows deserve more than a table cell. Images and customer accounts.
The image trap: why your old store has to stay online
The single most common way this move goes wrong is shutting the Shopify store down too early.
Shopify’s product export documentation is blunt about it: when you export products, “the images associated with each product aren’t included in the CSV file.” The CSV holds image URLs, and WooCommerce fetches them from wherever they point on import. Shopify’s guidance is to leave the original store and its listings intact until the import finishes.
So the sequencing is not negotiable. You cannot cancel Shopify on day one, and you cannot let the old catalog expire mid-import. The same documentation warns that sorting the CSV in a spreadsheet can disassociate variants from their image URLs, which overwrites products with bad data on re-import. Large media library? Plan a separate download step.
Customer accounts and order history: the two biggest gaps
WooCommerce’s migration guide lists the limitations of CSV-based customer and order imports, and they are unambiguous:
- Customer passwords are not migrated; customers must reset their passwords after the move.
- User roles and metadata may not match.
- Emails must be unique, or the import fails or overwrites records.
- Account creation dates and purchase histories are not retained.
- Order payment information, including transaction IDs and methods, is not transferred.
- Shipping methods, tax details, and coupon data may not map or may be omitted.
- Line items with variations, custom options, or refunds may import inaccurately or be dropped.
The paid route does not fix the password problem either. WooCommerce’s documentation for its Migrate & Import Shopify to WooCommerce extension states that user passwords will not be imported because the Shopify APIs do not expose password data. Whatever tool you choose, your customers will be re-invited to set credentials. I’d budget for that email sequence, and expect a share of customers to ignore it.
Order history is the other soft spot. WooCommerce’s CSV importer documentation warns you to be careful with user IDs and order IDs when importing into a site that already holds data. An ID collision can renumber or overwrite records. Verify how your chosen tool handles ID ranges before importing, and use the importer’s dry-run mode first.
SEO after the move: URLs, redirects, and the Change of Address myth
Search performance is the part of a migration that people underestimate most.
Start with the structural problem. Shopify’s product export includes a Handle column, and WooCommerce’s mapping guide maps Handle → Product Slug, noting that the handle forms a product’s URL. On the WooCommerce side, the URL shape depends on your permalink settings. WooCommerce documents a plain shop base (example.com/shop/hoodie-with-logo), or one with a category segment, or a custom base. The default product category base is product-category (example.com/product-category/accessories).
So your product and category URLs change shape unless you deliberately configure a base matching what you had. WooCommerce’s permalink documentation warns that changing permalink structures updates existing product URLs, and previously shared links or indexed URLs will return 404 errors unless redirects are set up.
Google’s site-move documentation is the authority here:
| Question | What Google’s documentation says |
|---|---|
| Which redirect type? | Use server-side permanent redirects (301 or 308) if technically possible |
| Can redirects chain? | Googlebot follows up to 10 hops, but Google advises redirecting to the final destination and keeping chains “no more than 3 and fewer than 5” |
| How long do redirects stay? | “Keep the redirects for as long as possible, generally at least 1 year,” so signals transfer and Google recrawls |
| Does Change of Address apply? | Only for domain or subdomain changes: “You don’t need it for HTTP to HTTPS moves, switching between www and non-www on the same domain, or moving paths within the same domain” |
| What about deleted content? | URLs for content you are not moving should return HTTP 404 or 410, not redirects to an unrelated page |
| Is a traffic dip normal, and how long does it last? | Yes: “the visibility of your content in Search may fluctuate temporarily during the move.” “A small to medium-sized website can take a few weeks for most pages to move”; larger sites take longer |
| Move all at once? | Small and medium sites: move all URLs simultaneously. Larger sites can move in sections |
That fourth row is the one people get wrong. Because a Shopify-to-WooCommerce move usually keeps the same domain, the Change of Address tool does not apply. There is no shortcut that tells Google “we swapped platforms.” Your 301 mapping is the entire signal, which is why the redirect map has to exist before launch. Google also says to verify both properties in Search Console, confirm canonical annotations on the new site use the new URLs, and submit the new sitemap once redirects are live.
For what else you might move to instead, see our rundown of the main Shopify alternatives. The SEO mechanics above apply to any platform change.
What the move does to your cost lines
A migration replaces one cost structure with a different one. These are US list prices published on 2026-09-22.
| Cost line | On Shopify (US, 2026-09-22) | On WooCommerce (published 2026-09-22) |
|---|---|---|
| Platform subscription and hosting | Basic $29/mo yearly or $39/mo monthly; Grow $79/$105; Advanced $299/$399; Plus from $2,300/mo — hosting included | $0 platform fee; hosting billed separately at $25–$350/month for most stores |
| Card processing | From 2.9% + 30¢ (Basic) and 2.7% + 30¢ (Grow) to 2.5% + 30¢ (Advanced) and 2.25% + 30¢ (Plus) with Shopify Payments | ~2.50–2.90% + 30¢ per transaction with WooPayments |
| Third-party payment surcharge | Shopify’s FAQ: a fee may apply when you don’t use Shopify Payments; WooCommerce’s table lists 2% per transaction (Basic), 0.6% (Advanced), 0.2% (Plus) | None listed |
| Apps and extensions | Not published as a range on the pricing page; set per app | $29–$299/year per extension, à la carte |
| Extra markets | Basic includes 3 markets, cannot add more; $59/month per market after the first 3 (Advanced) or first 50 (Plus) | $0, unlimited markets |
| Revenue share | None listed for Basic or Advanced; 0.25% on monthly sales over $800k listed for Plus | None listed |
The shape of the change is what matters. Shopify bundles hosting into a subscription and keeps marginal cost low until you add markets or a third-party payment provider. WooCommerce removes the subscription and the revenue share, then hands you hosting, extension, and maintenance costs directly. At small scale the WooCommerce line items can exceed a Basic plan. At scale, the absence of a percentage on every order is where the savings come from.
Scale-triggered fees that hit after you move
Two usage-based charges scale with success rather than plan tier.
The first is payment-provider surcharges. Shopify’s pricing FAQ states that third-party transaction fees may apply when you use a provider other than Shopify Payments, with the rate depending on your plan. If you want to keep a specific gateway, price that surcharge in.
The second is market expansion. WooCommerce’s comparison table lists Shopify Basic as including 3 markets with no way to add more, plus a per-market monthly fee on higher plans. That ceiling is real if you sell internationally.
On the WooCommerce side, the variable costs are hosting tier and extension licenses. Developer time is the one nobody prices up front. WooCommerce publishes hosting at $25–$350/month “for most stores” and extensions at $29–$299/year each, but no maintenance cost. You own it.
Migration tooling itself has a price. The Customer/Order/Coupon CSV Import Suite is listed at $79/year (1-year plan) for importing customers and orders from CSV, and the Product CSV Import Suite at $59/year (1-year plan). The dedicated Migrate & Import Shopify to WooCommerce extension page we fetched on 2026-09-22 displayed no price or purchase control: [DATA NOT VERIFIED: the WooCommerce product page for Migrate & Import Shopify to WooCommerce showed no price when fetched on 2026-09-22].
The realistic risk list
Ranked by how often they turn a migration into an outage:
- Cancelling Shopify too early. Product images resolve from live Shopify URLs; the old store stays reachable until the import completes.
- No redirect map at launch. WooCommerce’s documentation says old URLs will 404 without redirects, and Google advises keeping redirects in place for at least a year.
- Assuming Change of Address covers it. It does not apply to path changes within the same domain, which is what most Shopify-to-WooCommerce moves are.
- Customer password expectations. Neither the CSV route nor WooCommerce’s migration extension can move passwords. Every customer must be re-invited.
- Subscription continuity. Shopify relies on app-based subscription billing; WooCommerce’s comparison table lists Shopify-side subscription processing fees of roughly 1–3% depending on the app. Whether a stored payment mandate can carry over is [DATA NOT VERIFIED: no vendor documentation we fetched describes transferring stored payment mandates or active subscription agreements between Shopify and WooCommerce].
- Order ID collisions. WooCommerce’s CSV importer documentation warns about user IDs and order IDs when importing into a site that already holds data.
- Order export logistics. Shopify emails order CSVs when you select more than 51 orders or export by date, and says an export with fewer than 100,000 items might finish in under an hour while 400,000 items can take around four hours.
- Contradictory sequencing advice. Google recommends small and medium sites move all URLs at once, while WooCommerce recommends test runs with customers, then coupons, then orders. Reconcile those into one plan.
Also easy to overlook: any workflow or report reading the Shopify Admin API needs a replacement, since WooCommerce does not consume that API.
Our verdict
Migrate if your cost structure has outgrown a subscription model: you pay for multiple markets, you use a third-party payment provider, or a platform percentage stacked on subscription tiers is capping your margin at volume. Then the arithmetic starts to look different. A $0 platform fee, hosting in the $25–$350/month band, extension licenses at $29–$299/year each. And you own your data outright.
Do not migrate if your store is small and stable and leaning on apps you would have to replace. The move preserves almost none of it. Your theme, your apps, your customer passwords, your payment records, your URLs: every one of those is a rebuild. A modest-volume store can spend more on that rebuild plus the first year of hosting and extensions than it saves against a $29–$39/month Basic plan.
Either way, three things are not optional. Keep Shopify live until the images are in. Build the redirect map before launch. Tell your customers their passwords are changing. Those steps prevent most of the damage documented above.
How we researched this
- We have not performed this migration ourselves. Everything here comes from the vendors’ published documentation, which we link and date. Every figure comes from a page in Sources, fetched 2026-09-22 through a US exit IP with
Accept-Language: en-US, so the prices shown are US list prices rather than region-localized ones. - We read both vendors’ migration documentation in the direction of the move: WooCommerce’s “How to migrate from Shopify” guide and the Migrate & Import extension docs, plus Shopify’s export help pages for products, customers, and orders.
- We read the pricing pages directly rather than third-party summaries, and we separate what each vendor’s page states from what WooCommerce’s comparison table claims about its competitors. Where a cell is WooCommerce’s claim about Shopify, we attribute it that way.
- For SEO we used Google Search Central’s site-move documentation, because redirect rules and change-of-address eligibility come from the search engine, not either platform.
- Where a claim could not be verified from a fetched page (stored payment mandates, gift-card balances, the migration extension’s price), we marked it instead of estimating it. Read more in how we research.
Sources
All URLs fetched 2026-09-22.
- https://www.shopify.com/pricing
- https://woocommerce.com/pricing/
- https://woocommerce.com/document/how-to-migrate-from-shopify/
- https://woocommerce.com/documentation/woocommerce/migrating-to-woocommerce/
- https://woocommerce.com/document/migrate-import-shopify-to-woocommerce/
- https://woocommerce.com/products/migrate-import-shopify-to-woocommerce/
- https://woocommerce.com/document/customer-order-csv-import-suite/
- https://woocommerce.com/products/customerorder-csv-import-suite/
- https://woocommerce.com/document/product-csv-import-suite/
- https://woocommerce.com/products/product-csv-import-suite/
- https://woocommerce.com/document/shopify-migration-for-woocommerce/
- https://woocommerce.com/document/permalinks/
- https://woocommerce.com/document/managing-products/
- https://help.shopify.com/en/manual/migrating-to-shopify
- https://help.shopify.com/en/manual/products/import-export/export-products
- https://help.shopify.com/en/manual/customers/import-export-customers
- https://help.shopify.com/en/manual/orders/export-orders
- https://help.shopify.com/en/manual/online-store/themes
- https://shopify.dev/docs/storefronts/themes
- https://shopify.dev/docs/api/admin-rest
- https://shopify.dev/docs/api/admin-graphql
- https://developers.google.com/search/docs/crawling-indexing/site-move-with-url-changes
- https://developer.wordpress.org/advanced-administration/wordpress/import/