Quick answer
Export your Shopify products, customers, plus orders (or use a migration tool via the Shopify API), import them into WooCommerce on your own hosting, rebuild the theme and checkout because neither one transfers, then 301-redirect every old Shopify URL. Test a live order on staging before switching DNS. Full step-by-step below.
Shopify is easy to start on. It is much harder to leave, because your store is not one thing — it is a catalog with variants, a customer list, years of order history, a checkout wired to a payment processor, plus a dozen apps quietly doing jobs you have forgotten about.
None of that makes the move risky by itself. What makes migrations go wrong is doing the steps out of order: rebuilding the design before the data lands, or switching the domain before checkout has taken a real test order. This guide walks the sequence that works.
Why Stores Leave Shopify
The reasons are consistent. Shopify charges a monthly plan fee, then adds a transaction fee on every order if you use anything other than Shopify Payments. On top of that sit app subscriptions — reviews, upsells, subscriptions, email — which quietly compound into a larger monthly bill than the plan itself.
Then there is control. The checkout is closed unless you are on Shopify Plus, the theme language is proprietary, plus your content structure is fixed to Shopify's URL patterns. WooCommerce inverts all of that: you own the install, the checkout is editable, the ongoing cost is hosting plus whatever extensions you actually need. The trade is that you now own maintenance too.
What Transfers, and What You Rebuild
Transfers cleanly:
- Products — titles, descriptions, SKUs, prices, inventory counts, images
- Collections, which become WooCommerce product categories
- Customers — names, emails, addresses, order counts
- Pages plus blog posts, with the right tool
- Order data, as records or as real orders depending on the route you pick
Does not transfer — budget rebuild time for these:
- Your theme. Shopify themes are written in Liquid. Nothing about them ports to WordPress. You are picking a new theme, then rebuilding your templates.
- Checkout plus payments. Shopify Payments does not follow you. You are setting up WooPayments, Stripe, or PayPal from scratch.
- Customer passwords. Shopify never exports password hashes. Every customer resets on first login — plan an email for it.
- Saved cards plus active subscriptions. These need a PCI-compliant card transfer between processors, arranged directly with your gateway, or customers re-enter payment details.
- Apps. Each one needs a WooCommerce equivalent found, installed, configured.
- Shipping zones, rates, tax configuration. Rebuilt manually. They are quick, but they are easy to forget until an order prices wrong.
Before You Start: Inventory Everything
Do this first, while the Shopify store is still fully live. You cannot rebuild a map of the old site after the domain has moved.
- Crawl your live URLs. Shopify auto-generates
/sitemap.xml. Pull it, or run a crawler like Screaming Frog, then save the full URL list to a spreadsheet. This becomes your redirect map. - Export your top pages from Search Console. Twelve months of clicks by page tells you which URLs actually earn traffic. Those are the redirects you cannot get wrong.
- List every installed app with its monthly cost plus what it does. You will match each to a plugin later.
- Screenshot your key templates — home, collection, product, cart, checkout. You are rebuilding these from reference.
- Note your Shopify renewal date so the timeline is yours, not a billing cycle's.
- Set up WooCommerce hosting with a staging environment. A store needs more headroom than a brochure site — see our WooCommerce hosting plans for sizing.
Moving Products, Customers, and Orders
There are two routes. Pick based on catalog size plus how much order history matters to you.
Route 1: CSV export and import (small, simple catalogs)
In Shopify admin, go to Products → Export and choose all products as CSV. Do the same under Customers and Orders. In WordPress, use the built-in WooCommerce product CSV importer, which lets you map incoming columns to WooCommerce fields.
The catch is variants. Shopify writes one row per variant with Option1 Name / Option1 Value columns, while WooCommerce expects a parent variable product with child variation rows. For a catalog of simple products this barely matters. For a store selling shirts in five sizes across four colours, the reformatting is the bulk of the work — and it is where a manual migration usually stalls.
Note that Shopify has no native blog export. For a handful of posts, open each one, click Show HTML in the editor, then copy the markup across manually. For a real content library, use an export app or a migration tool that handles blogs.
Route 2: A migration tool (most stores)
The free S2W – Import Shopify to WooCommerce plugin connects with your Shopify API keys, then pulls products plus collections directly, images included. Its paid version adds customers, orders, pages, blogs, coupons.
Paid services like Cart2Cart or LitExtension run the same job as a hosted migration, priced per entity — typically from around $79 depending on volume. They handle variants correctly, which is exactly the part CSV imports fumble.
Rule of thumb: under 100 simple products, CSV is fine. Variant-heavy catalogs, or any store that needs real order history in WooCommerce, justify a tool.
Rebuilding Design, Checkout, and Apps
Once the data has landed on staging, rebuild in this order:
Theme first. Pick a WooCommerce-ready block theme, then rebuild your product plus collection templates against those screenshots. Do not try to clone your Shopify theme pixel for pixel — match the structure, the brand, the flow. Chasing exact visual parity is where budgets disappear.
Payments next. Install your gateway, run test mode, then push a real transaction through with a live card. Refund it afterwards. A checkout that has never taken actual money is not a tested checkout.
Then apps to plugins. Work your app list top down. Reviews usually export to CSV (Judge.me does), email platforms reconnect via API, recurring billing moves to WooCommerce Subscriptions. Some apps have no equivalent — decide now whether you need them, because launch day is a bad time to discover a gap.
Finally shipping plus tax. Rebuild zones, rates, classes. Place test orders to several regions, then confirm the totals match what Shopify charged.
URL Mapping: The Part That Protects Your Rankings
This is the step that decides whether your traffic survives. The two platforms use different URL structures by default:
| Shopify | WooCommerce default |
|---|---|
/products/blue-widget | /product/blue-widget |
/collections/tools | /product-category/tools |
/pages/about | /about |
/blogs/news/post-title | /post-title |
You have a genuinely useful shortcut here. Under Settings → Permalinks in WordPress, set the product permalink base to products, then set the product category base to collections. Every product plus collection URL now matches its Shopify address one-to-one — which can eliminate thousands of redirects on a large catalog. Keep each Shopify handle as the WooCommerce slug during import so the match holds.
That leaves pages plus blog posts, which you redirect with the Redirection plugin or server-level rules. Map every URL from your crawl, prioritising the pages Search Console showed earning clicks.
One thing people miss: the moment your domain stops pointing at Shopify, Shopify serves nothing. Any redirect you set up inside Shopify admin dies with the move. Every rule has to live on the WordPress side.
Testing and Switching the Domain
Work through this on staging before touching DNS:
- Browse the catalog, filter a category, search for a product
- Add to cart, apply a discount code, complete a full checkout with a real card
- Confirm the order confirmation email actually sends
- Check inventory decremented correctly
- Refund the test order to verify the refund path works
- Test on a phone — most storefront traffic is mobile
If your domain was registered through Shopify, start the transfer to an independent registrar early. Shopify requires the domain unlocked, transfers can take several days, so it is the one step that will hold up your launch if you leave it late.
When everything passes, update your A record to the new host during your lowest-traffic hours. DNS propagates within a few hours for most visitors. Keep the Shopify subscription active for another few weeks — you may need order history for refunds, chargebacks, or customer questions.
Post-Migration Checklist
- Verify SSL on the live domain, with no mixed-content warnings.
- Submit your new sitemap to Google Search Console, then watch the Coverage report for a fortnight.
- Re-crawl the site to confirm every mapped redirect returns 301, not 404.
- Reinstall analytics plus ad pixels. GA4, Meta, Google Ads conversion tags — none of them carry over. Verify a test purchase fires the conversion event.
- Email your customer list explaining the password reset before they hit a login they cannot pass.
- Watch the 404 log for the first month, then redirect anything you missed.
- Cancel Shopify plus its apps once order history is archived locally.
Shopify to WooCommerce FAQ
How do I migrate a Shopify store to WooCommerce?
Export your Shopify products, customers, plus orders to CSV (or connect a migration tool through the Shopify API), import them into a WooCommerce store on your own hosting, rebuild the theme and checkout because neither transfers, then map every old Shopify URL to its new address with 301 redirects. Test a real order on staging before you point the domain at the new store.
Can you transfer Shopify products to WooCommerce automatically?
Yes, with a tool. The free S2W plugin pulls products plus collections across using your Shopify API keys, while paid services like Cart2Cart or LitExtension also carry customers, orders, pages, and coupons for a per-entity fee. Manual CSV import works too, but Shopify's variant format does not match WooCommerce's, so variable products need remapping by hand.
Will I lose my Google rankings moving from Shopify to WooCommerce?
Only if you change URLs without redirecting them. Rankings attach to addresses, not platforms. Shopify uses /products/ plus /collections/ paths while WooCommerce defaults to /product/ and /product-category/, so either match Shopify's structure in your WooCommerce permalink settings or 301-redirect every old URL. Once the domain leaves Shopify, Shopify serves nothing, so all redirects must live on WordPress.
Does Shopify order history transfer to WooCommerce?
Not through the free route. Shopify exports orders to CSV as a record, but importing them as real WooCommerce orders requires a paid migration tool or a custom import. Many stores migrate customers plus products, keep the Shopify CSV as an archive, then start fresh order numbering in WooCommerce.
How long does a Shopify to WooCommerce migration take?
A small catalog with simple products moves in two or three days, most of it spent rebuilding the theme plus testing checkout. A store with hundreds of variants, subscriptions, or a dozen apps takes two to four weeks. Keep Shopify running the whole time — the old store stays live until you switch DNS, so customers never see downtime.
Want the Store Moved Without the Risk?
A content site migration forgives mistakes. A store migration does not — a broken variant, a mispriced shipping zone, or a checkout that silently fails costs revenue from the first hour.
Our WooCommerce development team handles Shopify migrations end-to-end: catalog and customer transfer, a rebuilt checkout tested with live transactions, a complete redirect map built from your real ranking data, plus Search Console monitoring after launch. Book a free call and we will review your Shopify store to scope the move.
Related reading: How to Migrate from Squarespace to WordPress • WooCommerce Development Cost • WooCommerce Hosting • Vortex Media Migration Service