- Platform & Business Strategy
- Sep 11, 2026
- 8 min read
Shopify to WooCommerce Migration: Cost, Timeline and Keeping Your SEO
A Shopify to WooCommerce migration costs anywhere from under $100 for a self-serve tool to several thousand dollars for a managed project, depending on catalog size, apps and theme work. A small store with a standard theme usually takes 1-3 weeks; a large store with custom features and integrations takes 6-12 weeks. Your SEO survives if every old Shopify URL gets a 301 redirect to its new WooCommerce address on launch day.
Below is how we price, plan and run these projects, including the parts that tool vendors tend to skip.
How much does a Shopify to WooCommerce migration cost?
The data transfer itself is the cheap part. Most of the budget goes to rebuilding the theme, replacing Shopify apps and testing. Here are the four realistic routes:
| Route | Typical cost | What you get | Best for |
|---|---|---|---|
| Manual CSV export and import | Free, plus your time | Products and customers, with a lot of column mapping | Very small catalogs, test runs |
| Automated migration service | LitExtension starts at $59, priced by number of products, orders and customers | Data transfer, free demo run, paid add-ons | Simple stores, owner with technical confidence |
| Marketplace extension | Migrate & Import Shopify to WooCommerce is $79 per year | Products, customers, orders, pages, blogs and coupons | Owners who want to run the import inside WordPress |
| Managed migration by an agency | Ours starts from $1,500 for up to 1,000 products on a standard theme | Data, theme, app replacements, redirects, QA, launch | Stores where downtime or lost rankings cost real money |
The tool prices only cover moving records. Budget separately for:
- Theme. Shopify Liquid themes do not run on WordPress. You either adapt a WooCommerce theme or build a custom one.
- App replacements. Every Shopify app (reviews, filters, bundles, subscriptions, loyalty) needs a plugin or custom code on the other side. Some are free, many are annual licences.
- Redirects and SEO checks. A few hours for a small store, several days for a large catalog with filters and markets.
- Hosting and maintenance. WooCommerce has no platform fee, but you pay for hosting, premium plugins and updates.
Keep the savings side in mind too. On Shopify, using a payment provider other than Shopify Payments adds a platform transaction fee of 2% on Basic, 1% on Grow and 0.6% on Advanced. WooCommerce itself takes no cut of your sales.
How long does the migration take?
Timelines depend less on product count and more on how much custom behaviour lives in apps and theme code. These are typical ranges:
| Store profile | Typical timeline |
|---|---|
| Up to about 1,000 products, standard theme, few apps | 1-3 weeks |
| Several thousand products, variants, custom fields, 5-10 apps | 3-6 weeks |
| Large catalog, custom theme, ERP or CRM link, several markets | 6-12 weeks |
The live Shopify store keeps selling the whole time. Work happens on a staging site, and a final "delta" import moves the orders and customers created since the first test run, right before the switch.
What migrates easily, and what does not?
Most structured data moves cleanly. Business logic and anything Shopify hides for security does not.
| Data | Migrates? | What to watch |
|---|---|---|
| Products and variants | Yes | Shopify allows up to 3 options and 2,048 variants per product. They become WooCommerce attributes and variations. |
| Manual collections | Yes | Become product categories. |
| Smart (automated) collections | Partly | The rules do not migrate. Rebuild them with tags, attributes or a rule-based plugin. |
| Customers and addresses | Yes | Passwords do not move (see below). |
| Order history | Yes | Imported as history. Old orders cannot be refunded through the new gateway. |
| Pages and blog posts | Yes | Content moves; Shopify theme sections inside them do not. |
| Metafields | With mapping | Map each one to a WooCommerce custom field or attribute before import. |
| Product reviews | Usually | Export from your review app, then import into WooCommerce reviews or the new review plugin. |
| Discount codes | Partly | Recreate rules and check that they behave the same. |
| Gift cards | No | Shopify's export shows only the last 4 characters of each code. You issue new codes for open balances. |
| Apps and theme | No | Replace with plugins or custom development. |
Why customer passwords cannot be migrated
Passwords are stored as one-way hashes, and Shopify does not hand them over. WooCommerce's own guide says it plainly: customers will need to reset their passwords. Shopify's help centre states the same limit for imports into Shopify, because passwords are encrypted outside of Shopify.
In practice this matters less than it used to. With Shopify's current customer accounts, shoppers sign in with a one-time 6-digit code, so many of your customers never had a password at all. We plan a short launch email that explains the new account, or we add passwordless login to WooCommerce so the experience feels the same.
Why "apps" is the real scope question
Before quoting, list every installed Shopify app and write down what it does for the business. Some are one-click equivalents in WooCommerce. Others, like subscription billing or B2B pricing, need careful planning because saved payment methods usually stay with the payment provider. Ask your provider early whether card tokens can be transferred.
How do you keep your SEO when leaving Shopify?
Shopify forces fixed URL prefixes, and WooCommerce uses different defaults. Without redirects, every ranked product, collection and blog post turns into a 404 on launch day.
Shopify URL patterns and where they should go
| Shopify URL | WooCommerce default | Notes |
|---|---|---|
| /products/blue-shirt | /product/blue-shirt/ | Or keep /products/ as a custom product base |
| /collections/shirts | /product-category/shirts/ | Or set the category base to "collections" |
| /collections/shirts/products/blue-shirt | /product/blue-shirt/ | Shopify's collection-scoped product paths |
| /pages/about-us | /about-us/ | WordPress pages sit at the root |
| /blogs/news/post-handle | /blog/post-handle/ | "News" is Shopify's default blog |
| /products/blue-shirt?variant=123 | /product/blue-shirt/ | Redirect on the path, ignore the query |
| /en-ca/products/... | Language or market URLs | Only if you used Shopify Markets subfolders |
A useful trick: WooCommerce lets you set a custom product base and category base under Settings > Permalinks. If you set them to "products" and "collections", most product and category URLs stay almost identical, and you need far fewer redirects. We decide this case by case, because the cleaner WooCommerce structure is sometimes worth the extra redirects.
Also note the Shopify paths that were never real content: /collections/all, /collections/vendors, /collections/types and tag-filtered collection URLs are reserved or fixed paths in Shopify. Redirect the ones that have traffic or links to the closest category, and let the rest go.
Redirect map checklist
- Crawl the live Shopify store and export every indexable URL.
- Export top pages from Google Search Console and top linked pages from your backlink tool.
- Map each old URL to one new URL. Avoid redirect chains and never send everything to the home page.
- Carry over meta titles, descriptions, image alt text and product copy unchanged for launch. Rewrite later, not during the move.
- Load the map into a server rule set or the Redirection plugin, which supports CSV import, regular expressions and 404 logging.
- Test the full list on staging with a crawler before DNS changes.
- After launch, submit the new sitemap and watch 404 logs daily for the first two weeks.
- Keep redirects in place. Google advises at least 1 year, and we simply never remove them.
Expect some movement anyway. Google notes that a medium-sized site can take a few weeks or more before new URLs fully replace the old ones. With a complete map, traffic usually settles back rather than dropping for good.
Should you use a migration tool or a managed migration?
A tool is enough when the store is simple: a standard theme, a handful of apps, and someone who can check the result carefully. Run the free demo first and inspect variants, images, customer addresses and SEO fields before paying.
Be careful with older guides. WooCommerce's own Shopify Migration extension has been retired and no longer receives updates, and the official migrator-cli project is described as experimental.
A managed migration makes sense when:
- The store makes enough per day that a broken checkout or lost rankings would cost more than the project.
- Shopify apps hold important logic, such as bundles, subscriptions, wholesale pricing or custom product builders.
- You need a new theme anyway, or want better speed and accessibility than your current Shopify theme.
- There are integrations to reconnect: ERP, warehouse, marketplaces, email marketing.
- Nobody on the team has time to test thousands of records.
A step-by-step migration plan
- Audit. List data volumes, apps, metafields, integrations and all indexed URLs.
- Decide the URL structure. Pick product and category bases, then draft the redirect map.
- Set up WooCommerce on staging. Install the theme and plugins that replace your apps.
- Run a test import. Check products, variations, prices, taxes, customers and orders against Shopify.
- Rebuild and test the storefront. Design, checkout, shipping rules, emails, payment gateways.
- Freeze and run the delta import. Move new orders and customers created since the test run.
- Launch. Switch DNS, enable redirects, test checkout with real payments.
- Monitor. Watch 404s, Search Console coverage, conversion rate and order emails for 2-4 weeks.
When to get help
If your store is simple, a tool plus a careful weekend of checks can work. If apps, custom data or organic traffic carry real revenue, get a fixed scope before you start. Our Shopify to WooCommerce migration service includes the audit, redirect map and staging tests, and you can compare other routes on our WooCommerce migration page or check the pricing.