The short version
For most mid-market stores, the one-time WooCommerce to Shopify migration lands between $1,500 and $15,000, on top of a Shopify subscription most merchants size between Basic at $39 a month and Advanced at $399 a month. Keep Stripe or PayPal instead of Shopify Payments and Shopify adds its own 0.2–2% third-party transaction fee, depending on plan, on top of the processor's.
The project runs in eight phases — audit, development store, app mapping, dry-run import, redirect map, payments and tax, testing, DNS cutover — and a typical store ships in 4–8 weeks; load the complete 301 redirect map before cutover, or old URLs start returning 404s the moment DNS flips. Customer passwords never transfer, so on a store opened today customers sign in with the same email and a one-time code, and active WooCommerce Subscriptions need a planned payment-method migration — tokens can move on any Shopify plan through your subscriptions app developer, while card-number migration needs Plus or Enterprise.
What's New Since Publication: Updated since publication · 3 changes
- Shopify is moving shipping setup to shipping options by marketShopify is replacing shipping profiles, location groups and shipping zones with shipping options set per market. The rollout starts October 1, 2026, and every store will be on it by July 1, 2027. The playbook's shipping step now names both setups, so it holds whichever one your new store lands on.
- Shopify now publishes the Plus online card rateShopify's pricing comparison now prints 2.25% + 30¢ as the Plus online standard card rate, in the same row as Basic, Grow and Advanced; until mid-September 2026 that cell showed no figure for Plus. The payment fees table in this article now shows the published rate instead of a negotiated estimate.
- Shopify moved URL Redirects into Content → MenusShopify moved the URL redirect tool out of Online Store → Navigation, where this article originally pointed readers, to Content → Menus → View URL Redirects. Both single-entry edits and the CSV bulk import are still on that screen, so the redirect map in the SEO section and the migration playbook is built and uploaded the same way; the menu path in those sections has been rewritten to match. This entry is dated to the day we re-read the Help Center page, not to the day Shopify made the change.
Should You Actually Migrate?
Key takeaway
Before you scope a project, sanity-check whether Shopify is the right answer at all. The quiz below maps five readiness signals — your structural reason to move, ops appetite, custom-code dependency, in-house skills, and team capacity — to one of three verdicts. Answer honestly; it takes about a minute.
Still deciding whether to leave at all? Our Shopify vs WooCommerce comparison weighs the two platforms side by side, and why Shopify beats WordPress for e-commerce covers the self-hosting trade-off. Coming from a hosted builder instead of WooCommerce? Our Wix to Shopify migration guide covers that source platform specifically.
WooCommerce → Shopify Readiness Quiz5 questions • ~60 seconds • personalised recommendationStart the quiz
What Actually Changes When You Switch
Key takeaway
The temptation when scoping a migration is to compare features one-to-one — does Shopify have this plugin, does it support that field. That's the wrong frame. The real shift is in who owns the operational stack. Four things change immediately:
Shopify takes the opposite stance: the platform absorbs the operational work and you pay for that as a subscription. All stores powered by Shopify are PCI compliant by default, which removes the entire compliance posture you assembled on Woo from host, WAF and security plugins. That trade is the structural decision; everything else in this article is downstream of it.
Theme & Design: You're Rebuilding, Not Porting
Key takeaway
Many merchants assume a migration tool will preserve their store's look. It won't. A WooCommerce theme is PHP, Gutenberg blocks and CSS bound to WordPress; a Shopify theme is Liquid templates, JSON sections and CSS bound to Shopify. There is no cross-platform theme. You have three honest paths.
The Honest Cost of Switching
Key takeaway
The cost question has two layers. The first is the one-time migration project — tooling, theme, app re-subscriptions, custom rebuild and SEO work. The second is the ongoing Shopify subscription, which most merchants size between Basic ($39/mo) and Advanced ($399/mo). The calculator below sizes the first layer based on your actual inputs.
WooCommerce → Shopify Migration Cost Calculator
One-time project cost to move off WooCommerce. Excludes the ongoing Shopify subscription and payment-processing fees. Planning model built on our own assumptions, not a quote.
Each plugin above 10 needs an audit + Shopify-side replacement decision.
Simple = stock catalog. Complex = subscriptions, B2B, custom checkout.
* Estimates exclude the ongoing Shopify subscription ($39–$2,300+/mo) and payment-processing fees, which apply on either platform. Real merchant projects vary; treat the output as a planning anchor, not a quote.
Two honest reads from the calculator. The data-migration tool is the cheapest line by a wide margin — under $300 for most stores. The custom rebuild is the line that varies most: a stock catalog rebuild on a free Shopify theme can ship for under $2,000, while a Woo store with 30 plugins, a custom checkout and subscriptions can clear $25,000 once an agency is involved. For deeper plan math, see our Shopify billing plans breakdown and the hidden-fees guide.
The 3-year view is where the migration decision usually resolves itself. Shopify's subscription looks expensive on a monthly invoice; spread across hosting, SSL, plugin renewals and the developer hours WooCommerce quietly absorbs, the cumulative gap typically lands in Shopify's favour by Year 2 — even after a $3k–$8k migration project in Year 1. The merchants for whom it doesn't are the ones running a stripped-down Woo install on cheap hosting with zero paid plugins and zero dev help; if that's you, the math stays close and you should stay put.
Payment Processing: The Fee Trap Most Migrants Miss
Key takeaway
This is the single financial surprise that catches the most WooCommerce merchants on the way over. On WooCommerce, Stripe or PayPal fees are pure pass-through — you pay the processor directly. On Shopify, if you accept payments through a third-party payment provider instead of Shopify Payments (their own gateway, powered by Stripe under the hood), Shopify adds a platform surcharge on top of the processor fee. The official surcharge schedule is 2% on Basic, 1% on Grow, 0.6% on Advanced and 0.2% on Plus; it shrinks on higher plans but never reaches zero.
Shopify Payment Fees by Plan (2026)
| Plan | Shopify Payments rate | Third-party gateway surcharge | What it means |
|---|---|---|---|
| Shopify Basic ($39/mo) | 2.9% + 30¢ online | +2.0% surcharge | Worst case for Stripe/PayPal users — adds 2% on top of processor fee |
| Shopify Grow ($105/mo) | 2.7% + 30¢ online | +1.0% surcharge | Surcharge halves; Shopify Payments rate also drops |
| Shopify Advanced ($399/mo) | 2.5% + 30¢ online | +0.6% surcharge | Surcharge shrinks substantially for high-volume merchants |
| Shopify Plus (from $2,300/mo) | 2.25% + 30¢ online | +0.2% surcharge | Surcharge smallest of the four plans; lowest online card rate |
Run the math on your own GMV. A store doing $500,000/year in GMV on Shopify Basic with a third-party gateway hands Shopify $10,000 extra per year in surcharge alone — enough to fund the entire migration project, twice over.
The cure is one of three: use Shopify Payments where eligible (most US, UK, EU and major markets), upgrade to Advanced or Plus where the surcharge nearly vanishes, or accept the surcharge as a structural cost of staying on your preferred processor. When you use Shopify Payments, you aren't charged third-party transaction fees on orders paid through Shopify Payments, Shop Pay, Shop Pay Installments or PayPal Express Checkout, which is why it's the default recommendation for migrating merchants.
The exception on stores created on or after May 12, 2025: the part of an order paid with store credit or gift cards is still charged that fee, unless you're on Plus with Shopify Payments as your only provider.
What Moves Cleanly — and What Doesn’t
Key takeaway
Use this matrix as your scope document. Every row needs an owner and a deadline. The two rows that catch merchants off-guard are customer passwords (Shopify imports customer records, not credentials — plan the email that explains the new sign-in) and WooCommerce Subscriptions, where keeping active billing means a planned payment-method migration — tokens on any plan through your subscriptions app developer, card numbers only on Plus or Enterprise. For the Shopify-side equivalent, see our Shopify Subscriptions guide.
WooCommerce → Shopify Data Transfer Matrix
| Data type | Transfers? | How to handle it |
|---|---|---|
| Products + variants | Yes — clean | Free via Shopify's Store Migration app (early access, certain stores, desktop only) or the product CSV import, or paid via LitExtension / Cart2Cart / Matrixify. Validate SKUs, variant axes (Shopify caps at 3 option types and 2,048 variants per product, raised from 100 in October 2025 — but some third-party themes, app extensions and sales channels still cap at 100, so validate against your own stack too) and inventory after import. |
| Product images | Yes — clean | Migration tools fetch from your WordPress media library and re-host on Shopify CDN. Run a broken-image crawl on 30 random PDPs before declaring success. |
| Product categories → Collections | Partial | WooCommerce product categories import as Shopify manual collections. Any plugin-driven dynamic queries (FacetWP filters, attribute-based grouping) must be rebuilt as Shopify smart collections or apps. |
| Customers | Yes — CSV (no passwords) | Export from /wp-admin/users.php or via WP All Export, import via Shopify admin or migration app. Passwords are excluded by security design, not platform limitation. |
| Customer passwords | Never | Different hash schemes. On a store opened today, customers sign in with the same email and a one-time code — no password to set. Order history stays intact. |
| Orders (historical) | Yes — third-party tool | Order history is a separate, optional migration step; Shopify's WooCommerce guide names LitExtension, Matrixify and Ablestar WooCommerce Importer for it. Imported orders can still trigger staff emails: Shopify says any staff member set to receive new order notifications gets a new order email for each imported order, so turn those notifications off before the import. |
| Coupons / discount codes | Partial | Active percentage- and fixed-amount coupons migrate. Complex Woo coupon rules (BOGO with conditions, role-restricted, URL-triggered) often need recreation as Shopify discount types or Functions. |
| Blog posts & pages | Yes — but lossy | Migration tools move post content. Shopify's blog engine is intentionally simpler than WordPress — taxonomies, custom post types and many Gutenberg block layouts won't round-trip; expect manual cleanup on each post. |
| Product reviews | App-dependent | Shopify's WooCommerce guide says reviews can't be exported or migrated from WooCommerce directly and points to Judge.me, Loox and Yotpo for importing them manually. |
| Subscriptions | Gated — plan the route | Active contracts don't move on their own. Shopify documents a route: migrating payment tokens is available on all Shopify plans with support from your subscriptions app developer, while migrating card numbers (PANs) requires Plus or Enterprise and Shopify Professional Services. The secondary-gateway slow-drip method supports Stripe, Braintree, PayPal Express and Authorize.net and can take months or even years. |
| URL redirects | Manual — critical | Build a CSV mapping every old Woo URL to its new Shopify path; load via Shopify admin URL Redirects. This is the single most important non-data deliverable of the migration. |
| Custom plugin behaviour | Never automatically | Bespoke PHP, custom post types, ACF fields wired into a plugin, and functions.php tweaks all need a Shopify-side equivalent (app, Liquid, metaobject or Function) decided one-by-one. |
Migration Methods Compared
Key takeaway
Pick a method against three axes: catalog size, data complexity, and how much hand-holding you want. The trap is over-engineering — agencies and Matrixify are powerful, but a sub-1,000-SKU store with stock data can usually ship with the free Shopify Store Migration app (or the product CSV import, where the app isn't available yet) plus one paid tool for reviews and metafields. Match the route to the store, not the other way around.
WooCommerce → Shopify Migration Methods
| Method | Cost | Downtime | Data fidelity | Best for |
|---|---|---|---|---|
| Shopify Store Migration app (free, early access) | $0 | None — runs on staging | Products (customers via the customer CSV import) | Stores under 1,000 SKUs with no custom data, if the app is available to your store |
| LitExtension | From $59 one-off (priced by entity count, as of September 2026) | None | Products, variants, customers, orders, categories, coupons; reviews depend on your review plugin | Most mid-market stores — best fidelity / cost balance |
| Cart2Cart | Priced per migration (estimator); free demo | None | Similar to LitExtension; slightly different defaults | Merchants who want a guided wizard interface |
| Matrixify (formerly Excelify) | $20–$200/mo (plan-based, as of September 2026) | None | Excel-based — total control over every field, including metafields | Stores with heavy metafield / custom-field usage |
| Manual CSV | $0 | None | Products + customers only; no orders, no reviews | Tiny catalogs (<100 SKUs) where one person can babysit the import |
| Shopify Plus / partner agency | $5,000–$50,000+ (our estimate) | None | Anything you scope, including subscriptions and custom checkout | $1M+ GMV with custom Woo logic, B2B, or migration deadline pressure |
For most projects, LitExtension is the practical default: cloud-based, no install on your Woo site, supports a free demo migration, and handles products, customers and orders; whether reviews come across depends on your review plugin.
Shopify's own Store Migration app is the right starting point if you only need products and want to spend nothing — it is in early access, available only for certain stores and only on desktop, and customers move through a separate customer CSV import either way. Matrixify earns its keep when metafields, custom fields, or unusual Woo data shapes need to land in specific Shopify locations. If you'd rather outsource the rebuild, our guide to hiring a Shopify developer or Partner covers scoping, rates and red flags.
Your Plugin Stack on Shopify
Key takeaway
By our estimate, a typical WooCommerce store runs 15–30 active plugins, and on Shopify the same functional stack usually compresses to 5–10 apps because the platform itself absorbs hosting, caching, security and PCI work that needed dedicated plugins on Woo.
The trade is that some apps are paid monthly where the Woo equivalent was a one-time licence — model the ongoing app cost into your year-1 budget alongside the plan fee and payment surcharge above. For the three categories that change shape most on Shopify, see our dedicated guides: Shopify Subscriptions, Shopify Markets (multi-currency, multi-region) and B2B on Shopify Plus.
WooCommerce Plugins → Shopify App Equivalents
| WooCommerce plugin | Shopify equivalent | Notes |
|---|---|---|
| Yoast SEO / Rank Math | Shopify native SEO fields + Yoast SEO app | Per-page meta titles, descriptions, redirects. Shopify auto-generates product/article schema; Yoast app adds richer controls. |
| WooCommerce Subscriptions | Shopify Subscriptions (free) or Recharge (from $25/mo as of September 2026) | Active contracts don't move by themselves — payment tokens can be migrated on any plan with your subscriptions app developer; card-number (PAN) migration needs Plus or Enterprise. Recharge handles complex billing logic; Shopify Subscriptions is simpler and bundled. |
| Mailchimp for WooCommerce | Klaviyo, Shopify Messaging or Omnisend | Klaviyo is the de-facto default for Shopify; deep event integration out of the box. |
| WooCommerce Bookings / Appointments | BTA Appointment Booking, Tipo or Sesami | No native Shopify equivalent; pick one and run a 30-day trial before commitment. |
| WPML (multilingual) | Shopify Markets + Translate & Adapt (native) | Markets handles currency, language, duties, and per-region domains/subfolders — broader scope than WPML. |
| Aelia Currency Switcher | Shopify Markets (native) | Folded into Markets; no separate app needed. |
| Yotpo / Reviews.io / WP product reviews | Judge.me, Loox, Yotpo (Shopify version) | Shopify's WooCommerce guide names all three for importing reviews manually. Judge.me is the cheapest credible default. |
| WooCommerce Memberships | Bold's Memberships & Loyalty Rewards, Recharge or Locksmith | Splits across two needs: gated content (Locksmith) and recurring membership billing (Bold/Recharge). |
| WPForms / Gravity Forms | Shopify Forms (native), Form Builder by Powr | Native Forms covers email capture and lead gen; Powr for complex multi-step forms. |
| WooCommerce Wholesale / Wholesale Suite | Shopify B2B (native on Basic, Grow, Advanced and Plus) or B2B Wholesale Hub app | Below Plus, native B2B allows up to 3 active B2B catalogs and needs new Shopify Markets; direct-to-company catalog assignment and deposits are Plus-only. Wholesale Hub (formerly Wholesale Club) adds tag-based wholesale pricing. |
| WP Rocket / W3 Total Cache | Not needed | Shopify CDN and edge cache are built in — no caching plugin layer to manage. |
| Wordfence / Sucuri | Not needed | Shopify handles WAF, malware scanning and DDoS protection at the platform level. |
| UpdraftPlus / BackWPup | Rewind Backups (from $19/mo as of September 2026) or Matrixify exports | Shopify backs up the platform; merchants are responsible for store data backups via Rewind or scheduled Matrixify exports. |
| FacetWP / WooCommerce Product Filters | Boost AI Search & Filter, Searchanise | Shopify's Search & Discovery filters cover availability, category, price, product type, tags and vendor plus product options and metafields, up to 25 filters per store; collections over 5,000 products show no filters. Install a search-and-filter app if your catalog runs past those limits. |
| Custom shipping (Flexible Shipping) | Native shipping rates (shipping zones, or shipping options per market once your store moves over) + Shopify Shipping, Advanced Shipping Manager | Native shipping handles most rules; advanced conditional logic needs an app or a Shopify Function. |
Two practical filters when picking apps. First, prefer native Shopify features over apps where the gap is small — every app is a subscription, an upgrade risk and a checkout-speed cost. Second, install every app on staging before the data migration runs, so any data the app touches (reviews, subscriptions, metafields) lands in its correct shape on first import rather than needing a backfill after launch.
SEO: The Part That Quietly Breaks Revenue
Key takeaway
The SEO failure mode is mechanical, not mysterious. WooCommerce uses /product/{slug}/, /product-category/{slug}/ and WordPress permalinks for blog posts. Shopify uses /products/{handle}, /collections/{handle} and /blogs/{blog}/{handle}. Without an explicit redirect for every URL pattern, every indexed page becomes a 404 the moment DNS flips.
If you need to change the URL of a page as it is shown in search engine results, we recommend that you use a permanent server-side redirect whenever possible. This is the best way to ensure that Google Search and people are directed to the correct page. The 301 and 308 status codes mean that a page has permanently moved to a new location.
URL Structure & 301 Redirects
Key takeaway
The mapping itself is mostly mechanical — a spreadsheet formula handles the bulk transform — but the audit of which URLs to map is where most projects stumble. Start with a Screaming Frog crawl of your live Woo store so the list is comprehensive, not just what you remember publishing. Submit the new sitemap and monitor coverage daily in Google Search Console for the first month after cutover.
WooCommerce → Shopify URL Mapping Cheatsheet
| URL type | WooCommerce pattern | Shopify target |
|---|---|---|
| Product | /product/{slug}/ | /products/{handle} |
| Category | /product-category/{slug}/ | /collections/{handle} |
| Product tag | /product-tag/{slug}/ | /collections/{handle} (tag-driven smart collection) |
| Blog post | /{year}/{month}/{slug}/ or /{slug}/ | /blogs/news/{handle} |
| Blog index | /blog/ | /blogs/news |
| CMS page | /{slug}/ | /pages/{handle} |
| Cart / Checkout | /cart/, /checkout/ | /cart, /checkout (built-in) |
/product/foo/ to /products/foo/ (with trailing slash) on Shopify will itself redirect again to /products/foo, creating a double-hop that Google tolerates but penalises in crawl budget. Normalise to Shopify's no-slash convention in the CSV.Preserving Titles, Descriptions & Schema
Page titles and meta descriptions carry most of your hard-won SEO equity. Most Woo stores run Yoast SEO or Rank Math, both of which expose meta titles and descriptions as exportable fields. Pull them via a CSV export, then either upload to Shopify via Matrixify (which has a metafield-aware importer) or paste manually in Shopify's per-product SEO fields.
Shopify's native Product/Article schema is auto-generated; you only need to add LD-JSON manually for non-standard schema types. Don't change URLs and meta in the same week.
Customer Passwords & Account Migration
Key takeaway
The account invite that older migration guides describe belongs to legacy customer accounts — Shopify's own comparison lists “accept an account invite” on that side only, and since February 2026 legacy is available exclusively to stores already running it. If you are moving into a brand-new store, the imported profile is already an account: the customer enters the same email, receives a one-time code, and their full order history is there.
Plan a day-3 reminder for anyone who missed your launch email, and expect a small first-week dip in returning-customer logins that, in our experience, recovers within a couple of weeks.
Because passwords are encrypted outside of Shopify, you can't migrate customer passwords from another online store using a CSV.
The Migration Playbook
Key takeaway
The playbook below is the same one Shopify Partners run for paid migrations, compressed into the steps a competent in-house team can execute. The order matters: skipping the audit or the dry-run is the most common way budget overruns appear in week six.
functions.php hooks, export a Screaming Frog crawl of every indexed URL, and tag any plugin that has no obvious Shopify equivalent. Freeze new feature work on Woo — every change here becomes rework on Shopify.old_url, new_url). Bulk-transform /product/{slug}/ → /products/{slug} and /product-category/{slug}/ → /collections/{slug}. Upload via Shopify admin → Content → Menus → View URL Redirects.What the audit phase misses most often is the operational half, because on WooCommerce it already works and feels settled. Several of those answers don't port — they have to be re-established on the new platform: which provider actually processes your payments and when payouts land, the tax settings for every region you sell into, how a refund is issued now, and who is watching the support inbox during cutover week.
Running a 76-step launch checklist against the Shopify setup rather than the old one puts those on the audit list in week one, which is where they are cheap.
The First Seven Days After Launch
Key takeaway
Cutover is not the finish line — it's the start of the highest-attention week of the project. Order confirmations going to spam, a missed redirect rule, or a pixel that didn't fire are all cheap to fix on day two and expensive to fix on day twenty.
Common Pitfalls
Key takeaway
The Bottom Line
Key takeaway
WooCommerce gives you total control and total responsibility. Shopify gives you a managed platform and a subscription. For merchants whose pain is operational — security patching, hosting, plugin conflicts, 2am outages — the Shopify subscription is buying back time that's measurably worth more than it costs. For merchants whose pain is structural — bespoke logic that no Shopify app or Function can match — the migration won't fix the underlying need.
Frequently Asked Questions
Front-end developer specializing in Shopify since 2017. Experienced in building custom Liquid themes, optimizing storefront performance, and integrating third-party apps. Directs the editorial process behind Shopify Ecom: sets each topic, and checks facts, links, and interactive elements before publication.
This article was written entirely by AI under human editorial direction. The editor sets the topic and structure, runs multi-stage validation on facts, links, and interactive elements, and verifies the output is useful from a business perspective. All claims are checked against official Shopify sources. Details may change — always confirm critical data at shopify.com.
Editorial PolicySome links in this article are affiliate links. If you sign up for a Shopify store through these links, we may earn a commission at no extra cost to you. Read our full advertising policy.
