×
Shopify agency background 1 Shopify agency background 2 Shopify agency background 3 Shopify agency background 4

How to Migrate from WooCommerce to Shopify: A Step-by-Step Guide

SHOPIFY E-COMMERCE
Blog image
Post Image

Ayo is the founder of Why Matters, a Shopify agency based in Brighton. With over 20 years of experience in ecommerce, digital marketing, and ROI-driven growth, he has helped hundreds of Shopify brands build, launch, and scale their online stores. Why Matters is a certified Shopify, Klaviyo, and Recharge partner.

SHARE

Moving from WooCommerce to Shopify can be a significant improvement for a growing ecommerce business, but it is not simply a case of exporting your products and importing them into a new platform.

A successful migration involves far more than product data. You need to account for your WordPress content, URL structure, customer and order records, plugins, integrations, SEO settings, redirects and analytics. Your products are only one part of what you are moving.

This guide explains how to migrate from WooCommerce to Shopify step by step: what to export, how to map your URLs, how to replace WordPress plugins with Shopify apps, how to preserve your organic search visibility, and what to do with the old WordPress installation afterwards.

It also covers one technical change that trips up more WooCommerce exports than anything else, and which most migration guides still do not mention.

Key Takeaways

  • Check which order storage mode the store uses before exporting anything. Since WooCommerce 8.2 in October 2023, new installations store orders in dedicated database tables rather than in WordPress posts, and export tools built for the old structure can return incomplete data or nothing at all
  • The URL redirect map is the single most important document in the migration. Of the 80 stores we have migrated, 75 arrived without one
  • WordPress permalink structures vary enormously between stores, so build the redirect map from an actual crawl rather than from assumed URL patterns
  • WooCommerce customer passwords cannot be transferred, because the two platforms authenticate differently
  • Yoast metadata needs moving into Shopify's own SEO fields, but Yoast focus keywords and readability scores do not need recreating
  • Your blog may be a more valuable SEO asset than your product catalogue, and is the thing most often left behind
  • Keep WordPress hosting live for 30 to 60 days after launch

Quick Answer

A WooCommerce to Shopify migration has ten stages: export your WooCommerce data, map your WordPress URL structure, decide how each plugin will be replaced, import products, import customers and orders, recreate WordPress content, configure SEO, implement redirects, test and launch, then decommission WordPress. Complexity depends on catalogue size, plugin dependencies, custom functionality and how much organic traffic is at stake. A straightforward store can take two to five weeks. A store with a large blog, subscriptions or several integrations takes considerably longer. The technical import is rarely the hard part. Protecting search visibility and rebuilding functionality is.

Table of Contents

Why Merchants Move from WooCommerce to Shopify

WooCommerce is a capable platform and plenty of businesses run on it successfully. The decision to move is usually commercial rather than technical.

As a store grows, the cost of maintaining the WordPress environment underneath it grows too. Hosting, security, WordPress core updates, WooCommerce updates, plugin updates and compatibility testing all need someone's attention, and that someone is usually either an in house developer or a retainer.

Plugin dependency compounds it. A store might rely on separate plugins for SEO, caching, security, subscriptions, product options, forms, backups and analytics. Each one is another component that can break when something else updates.

Shopify takes a managed approach: hosting, SSL, CDN, security and platform updates are handled for you. For many merchants the attraction is not that Shopify is better in the abstract. It is that the business spends less time maintaining infrastructure and more time selling.

That said, migration is the wrong call for some stores. If your site is genuinely content led with commerce as a secondary function, or if you depend on custom functionality that would be expensive to rebuild, staying put may be the better commercial decision. Our WooCommerce vs Shopify comparison covers that properly.

What Makes WooCommerce Migrations Different

Four things separate a WooCommerce migration from a move between two hosted platforms.

WooCommerce runs on WordPress. Your store is entangled with a content management system containing pages, posts, menus, widgets, media, custom post types and a plugin library. The ecommerce data is one part of a much larger website.

URL structures vary wildly. WordPress gives site owners near total control over permalinks, so two WooCommerce stores on identical software can have completely different URL patterns. One uses /product/name/, another uses /shop/name/, and a plugin may have introduced a third pattern nobody remembers approving.

Functionality hides in plugins. Something that looks like a native store feature may actually be four plugins and a snippet in functions.php. A product configurator might combine custom fields, an options plugin, a pricing plugin and bespoke development. Importing the product does not bring any of that with it.

And order data may not be where your export tool expects it. This is the one worth understanding before you touch anything.

Check Your Order Storage Mode First

WooCommerce historically stored orders as a WordPress custom post type, spread across the wp_posts and wp_postmeta tables. From WooCommerce 8.2, released in October 2023, High Performance Order Storage became the default for new installations. Under HPOS, order data lives in dedicated tables including wp_wc_orders, wp_wc_order_addresses, wp_wc_order_operational_data and wp_wc_orders_meta.

Three situations therefore exist, and they behave differently:

The store runs HPOS. Orders are in the new tables. An export plugin or migration script written against the old post schema will return partial data or nothing.

The store runs legacy WordPress posts storage. Orders remain in wp_posts and wp_postmeta. Newer tooling that assumes HPOS may miss them.

The store runs compatibility mode. WooCommerce synchronises order data across both structures. Exports can then produce duplicates or conflicts depending on which source the tool reads.

Check this before anything else, in WooCommerce, Settings, Advanced, Features. It takes a minute and it explains a large proportion of the order exports that come back looking wrong. Worth noting alongside this: the legacy WooCommerce REST API versions that depend on the post schema are being deprecated, so any ERP or CRM integration still using them needs assessing as part of the migration rather than after it.

Step 1: Export Your WooCommerce Data

Create a complete copy of everything you might need before you change anything on the existing store. Do not assume it can be recovered later.

Your inventory should cover products, variations, SKUs, prices, inventory, categories, tags, images, customers, historical orders, coupons, blog posts, pages, menus, media, SEO metadata, existing redirects, custom fields, reviews, subscription data, integration settings and analytics configuration.

WooCommerce includes a built in product CSV export at WooCommerce, Products, Export. Depending on configuration it covers titles, descriptions, SKUs, prices, categories, tags, variations, inventory and image URLs. Treat it as a starting point rather than a complete backup. Product reviews and data created by third party plugins are frequently absent, images are usually referenced as URLs rather than packaged, and custom fields created through tools such as Advanced Custom Fields need separate handling because Shopify stores that kind of information differently.

Customer records can be exported with an appropriate plugin, covering names, email addresses, billing and shipping addresses, telephone numbers, account information and marketing consent. Passwords are the exception and are covered in Step 5.

Order history usually needs an export plugin or migration tool rather than a native export, and the right tool depends on your order storage mode. Decide early what the business actually needs preserved: order numbers, dates, customer details, products, SKUs, quantities, prices, discounts, shipping, taxes, payment information, status and refunds.

Finally, remember the WordPress side. The built in WordPress exporter handles posts and pages. If the site has years of content with real organic traffic, this matters more than the product export does.

Step 2: Map Your WooCommerce URL Structure

SEO is the biggest commercial risk in the migration. Products can transfer perfectly and the new store can look excellent, but if valuable URLs disappear without redirects, the traffic goes with them.

Here is our own data on how seriously this gets taken. Of the 80 stores we have migrated, 75 arrived with no redirect map in place from the previous platform or agency. It is not an occasional oversight. It is the normal condition of an inbound migration.

Shopify uses a fixed URL structure for core content: /products/, /collections/, /blogs/news/, /pages/, /cart, /checkout and /account. WooCommerce allows far more variation. A typical mapping looks like this.

Page type Typical WooCommerce URL Shopify equivalent
Product /product/organic-coffee-beans/ /products/organic-coffee-beans
Category /product-category/coffee/ /collections/coffee
Shop index /shop/ /collections/all
Blog post /blog/brewing-guide/ or /2024/06/brewing-guide/ /blogs/news/brewing-guide
Page /about-us/ /pages/about-us
Product tag archive /product-tag/single-origin/ Closest relevant collection
Account /my-account/ /account

Those are common examples, not a substitute for looking at your actual site. Do not assume every product uses /product/, or that every category uses /product-category/, or that all blog posts share one permalink format. Crawl the site and export the real URLs, then identify which of them carry organic traffic, backlinks, conversions, indexation or internal links.

Note also that WooCommerce URLs normally carry a trailing slash and Shopify URLs do not. Your redirect map has to account for that or you will create redirect chains.

Some WordPress URL types have no Shopify equivalent at all: author archives, date archives, attachment pages, search pages, pagination such as /shop/page/2/, and archives generated by plugins. Not every one needs a redirect. If a URL has no traffic, no backlinks and no useful destination, letting it return a 404 is a reasonable decision. Where it does have value, send it somewhere genuinely relevant.

Our guide to migrating to Shopify without losing your SEO rankings sets out the redirect map format in full.

Step 3: Replace Your WordPress Plugins

A WooCommerce site might run dozens of plugins. Some are replaced by native Shopify functionality, some by apps, some by custom development, and some should simply go.

WordPress or WooCommerce plugin Shopify replacement
Yoast SEO Native Shopify SEO fields, plus a dedicated SEO app where needed
WooCommerce Subscriptions Recharge or Shopify Subscriptions
Mailchimp or Klaviyo for WooCommerce The equivalent Shopify integration, rebuilt rather than reconnected
Product add on and options plugins Shopify product options, an options app, or custom development
WPML or Polylang Shopify Markets with Translate and Adapt
Advanced Custom Fields Shopify metafields and metaobjects
Points and rewards plugins A Shopify loyalty app
Gravity Forms or Contact Form 7 Shopify Forms or a form app
Caching, security and backup plugins Not required, Shopify manages hosting, CDN and platform security

The common mistake is finding a Shopify app for every plugin, which recreates the same complexity in a different ecosystem. Ask instead what business problem each plugin was solving, then decide whether that problem is solved by native functionality, by an app, by custom development, or by dropping it. If three plugins handle caching, security and backups, you need zero Shopify replacements for them. Migration is a rare opportunity to shrink the stack rather than port it.

Step 4: Import Products into Shopify

There are four routes, and the right one depends on catalogue complexity.

Shopify's own Store Importer app handles WooCommerce as a supported source and is free, which makes it a sensible first option for a simple catalogue. Shopify's built in CSV importer also works, though WooCommerce exports do not use Shopify's column structure, so the data needs restructuring first.

For larger or more complex catalogues, dedicated migration tools such as Matrixify, LitExtension and Cart2Cart offer more control over products, variants, images, categories, customers and orders. Check what each supports for your WooCommerce version and, again, your order storage mode.

For heavily customised stores with unusual product structures, custom fields or integrations that no standard tool handles reliably, an API based migration gives full control over how data is transformed.

Whichever route you take, do not judge success by the number of products imported. Sample across the catalogue and check titles, descriptions, SKUs, prices, inventory, variants and their options, images and image ordering, categories, tags, product handles, metafields, availability, tax settings and shipping configuration.

WooCommerce variable products need to become Shopify products with variants, which gets awkward where the original variation structure was unusual. And WooCommerce categories are not the same concept as Shopify collections. A structure such as Men, then Shoes, then Trainers needs rethinking around Shopify navigation and collections rather than copying across verbatim. Use the migration to reconsider how customers actually browse.

Step 5: Import Customers and Orders

Customer passwords cannot transfer. WooCommerce authenticates through WordPress and Shopify uses its own customer account system, so existing password hashes are not portable. Customers will need to activate their new accounts or reset their passwords, and telling them clearly before launch prevents a large volume of support enquiries afterwards.

Marketing consent has a GDPR dimension. Holding someone's email address is not the same as holding permission to market to them. Consent status needs migrating accurately, which matters particularly if you are also moving email platforms.

Order history should be planned separately from customer records, and the export method depends on the storage mode from Step 1. Decide what the business genuinely needs inside Shopify. For some, several years of orders in the new platform is essential for customer service and reporting. For others, a secure archive is enough and keeps the new store cleaner. Either way, preserve enough identifiers to reconcile Shopify records against WooCommerce afterwards.

Step 6: Recreate Your WordPress Content

The easiest thing to lose in a WooCommerce migration is everything that is not a product.

For an established store, the most valuable SEO assets often are not product pages at all. They are buying guides, comparison articles, educational content, category guides and resource pages that have accumulated backlinks and years of search visibility. Treat them as migration assets, not disposable WordPress content.

Blog posts can be imported through available tools or recreated manually depending on volume. Every important article needs its URL, title, meta title, meta description, headings, images, internal links, canonical URL, structured data and embedded content checked.

Pages usually need more work than posts, because the editors differ. WordPress content built in Gutenberg blocks, the Classic Editor or a page builder will not reproduce accurately by copying text alone.

Media needs re uploading to Shopify with references updated. Do not rely on images continuing to serve from the old WordPress installation, because at some point it will be switched off.

Step 7: Configure SEO on Shopify

If the store uses Yoast SEO, you do not need to reproduce every Yoast feature. You do need to preserve the underlying SEO work.

Custom meta titles and descriptions should be transferred into Shopify's corresponding fields rather than left to generate automatically, particularly on your highest value pages. Yoast focus keywords and readability scores can be left behind entirely, because they are content analysis tools rather than ranking factors.

Check that Shopify's sitemap generates correctly and that important pages are discoverable. Verify canonical tags point at the new Shopify URLs rather than the old WooCommerce ones. Review any heavily customised robots.txt rules before migrating, since Shopify handles robots.txt differently. And check what structured data your Shopify theme outputs, because schema previously generated by a WordPress theme or plugin will not carry over.

Our Shopify SEO guide covers the ongoing work once the migration is stable.

Step 8: Implement Redirects

Shopify supports URL redirects through the admin and accepts them in bulk by CSV, which is why a properly prepared redirect map matters so much. You should arrive at launch with the file ready rather than discovering missing redirects after Google has recrawled.

Three WooCommerce specific points. Trailing slashes differ between the platforms, so test both forms. WordPress pagination such as /product-category/shoes/page/2/ has no direct equivalent and should be judged on its own SEO value. Attachment pages created for uploaded images usually have none, and rarely justify individual redirects.

The point that deserves the most emphasis: do not redirect everything to the homepage. Redirecting hundreds of unrelated URLs to the front page is not a migration strategy, it is a way of hiding 404s from a report. A replaced product should redirect to its replacement, an old category to the equivalent collection, a superseded article to the updated one. The closer the relevance, the better the outcome for users and search engines alike.

Step 9: Test and Launch

Never launch immediately after the final import. Test the store as a complete ecommerce system rather than as a set of pages.

Check product pages, variants, prices, images, inventory, product options, collections, search and filters. Place real test orders covering cart, checkout, payment processing, shipping rates, taxes, discounts, order confirmation and customer notifications. Recreate any WooCommerce coupon codes customers are still actively using, because they will not carry across. Confirm that migrated customers can actually activate or reset their accounts.

Reconnect integrations deliberately. WooCommerce integrations run through WordPress plugins, webhooks or APIs, and each needs a Shopify equivalent: email marketing, CRM, accounting, fulfilment, shipping, reviews, subscriptions, analytics, customer support, ERP and inventory management.

Replace WooCommerce transactional emails too. Order confirmations, shipping notifications, refunds, account creation, password resets and failed payment notices all need recreating through Shopify notifications and any connected apps.

Our complete Shopify migration checklist covers the full launch sequence and the post launch monitoring period.

Step 10: Decommission WordPress

Resist the urge to cancel WordPress hosting the moment Shopify goes live. Keep the installation available for 30 to 60 days so you can check redirects, recover forgotten content, investigate unexpected 404s, compare old and new URLs, confirm integrations and resolve missing images.

Keep a secure backup of the WordPress database and files before decommissioning anything, because the database frequently contains something you discover you need after launch. For some businesses a read only historical archive is worth keeping indefinitely.

Once the Shopify store is demonstrably stable, review what you are still paying for: WordPress hosting, premium plugins, security and backup services, caching services, maintenance retainers and theme subscriptions. Cancel them when they are genuinely no longer required, not on launch day.

Should You Migrate Yourself or Use an Agency?

You can do it yourself, and for some stores you should.

A DIY migration is reasonable where you have a few hundred products or fewer, straightforward product structures, limited custom functionality, few integrations, a small content library, limited organic search exposure, no subscription system, and the confidence to handle CSV files, redirects and Shopify configuration.

The risk rises with everything the business has accumulated. A store with substantial organic traffic has more to lose from mishandled URLs. A store with many plugins has more functionality to rebuild. A store with bespoke development has more that can break. A store with thousands of customers and years of orders has far more data to validate.

At that point professional support is less about making the migration possible and more about reducing the chance of an expensive mistake. The useful question is not what the migration costs. It is what it costs if something important is missed. A lost ranking, a broken integration or an incorrect consent record is usually more expensive than the difference between two quotes. Our Shopify migration cost guide breaks the pricing down.

Why Matters Perspective

A WooCommerce migration should not be treated as a website rebuild that happens to change platform.

The best ones start by auditing what already works, what creates unnecessary complexity, and what the business actually needs from the new platform. That usually means removing plugins rather than replacing them, simplifying the stack, and restructuring parts of the store where there is a clear commercial reason to do it. Arriving on Shopify with a faithful copy of a cluttered WordPress site is a wasted opportunity.

The part we would push hardest on is the order storage check in Step 1 and the redirect map in Step 2. Those two things account for most of the migrations we have had to repair after someone else ran them.

We scope migrations individually rather than applying a fixed package, and our proposals set out what is included, what needs rebuilding, and where complexity is likely to affect the project. Development projects carry a three month guarantee. Pricing is published on the site, retainer clients are billed one month in arrears, and there is no long contract, so you can judge the work before you commit to more of it.

If you want help, see our Shopify packages or our Shopify developers service. If we think a migration is the wrong move for your business, we will say so.

Frequently Asked Questions

Why does my WooCommerce order export come back empty or incomplete? Usually because the export tool is reading the wrong database location. Since WooCommerce 8.2 in October 2023, High Performance Order Storage has been the default for new installations, which moves order data out of the wp_posts and wp_postmeta tables into dedicated tables such as wp_wc_orders. A tool written for the older post based structure will find little or nothing on an HPOS store, and a newer tool may miss orders on a store still using legacy storage. Check which mode is active in WooCommerce, Settings, Advanced, Features before exporting anything.

Will my WooCommerce customer passwords transfer to Shopify? No. WooCommerce authenticates through WordPress and Shopify uses its own customer account system, so password hashes cannot be moved between them. Customers will need to activate their new Shopify accounts or reset their passwords, and communicating that clearly before launch prevents a spike in support enquiries.

Will my WooCommerce URLs stay the same on Shopify? Not usually. Shopify uses a fixed URL structure for products, collections, blogs and pages, so most WooCommerce URLs will change. WooCommerce also normally uses trailing slashes where Shopify does not. This is why a complete redirect map built from an actual crawl of the site, rather than from assumed URL patterns, is the most important document in the migration.

What happens to my Yoast SEO settings when I move to Shopify? Custom meta titles and descriptions should be transferred into Shopify's own SEO fields. Yoast focus keywords and readability analysis do not need recreating, because they are content analysis tools rather than ranking factors. You should also check structured data, canonical URLs, sitemap generation and robots directives, since those were previously handled by WordPress or by Yoast rather than by the platform.

Can I migrate WooCommerce subscriptions to Shopify? Subscriptions can be migrated, but active recurring subscriptions need specialist planning and cannot simply be copied across. Depending on the setup, the move usually involves Recharge or Shopify Subscriptions, and you need to decide in advance how existing subscribers, stored payment details and recurring order schedules will be handled. Treat it as its own workstream rather than as part of the customer import.

Do I need to keep my WordPress hosting after migrating to Shopify? Yes, temporarily. Keeping it live for 30 to 60 days gives you time to test redirects, recover content nobody remembered, investigate unexpected 404s and confirm integrations. Keep a secure backup of the WordPress database and files before decommissioning anything, because the database often contains something you only discover you need after launch.

Can I migrate WooCommerce to Shopify myself? Yes, for a simple store. Shopify's Store Importer app supports WooCommerce, and CSV exports plus migration tools cover most straightforward catalogues. An agency becomes worth the cost when the store has meaningful organic traffic, complex product structures, custom functionality, several integrations, subscriptions or a large WordPress content library, because the risk in those migrations sits in the things that are easy to miss rather than in the import itself.

Final Thoughts

A WooCommerce to Shopify migration is much more than moving products between platforms, and the most important work usually happens outside the product catalogue.

Understand how the existing WordPress site is actually built, including where its order data lives. Export the right things before changing anything. Map the real URLs rather than assumed ones. Replace plugins by business requirement rather than by name. Migrate the content that earns your organic traffic. Preserve the SEO work already done, reconnect the integrations the business runs on, and test the store as a system before launch.

For a simple store, a DIY migration is perfectly reasonable. For an established business, the value of professional support is in reducing risk rather than enabling the move.

The objective is not simply to arrive on Shopify. It is to arrive with a cleaner, more manageable and commercially stronger operation than the one you left.