WooCommerce to Shopify migration: what moves, what breaks and how to keep your rankings
What actually moves when you leave WooCommerce for Shopify, what has to be rebuilt, and how to map your old URLs so you keep the search traffic you already have.
A WooCommerce to Shopify migration moves your products and customers fairly easily. Orders, reviews, blog posts, coupons and plugin features need extra tools or a rebuild, and customer passwords do not move at all. Your rankings survive if every old URL has a permanent redirect to its new Shopify address on launch day.
This guide covers the parts that are specific to WooCommerce. For the full step-by-step plan for any platform, see our Shopify migration checklist.
What moves across from WooCommerce, and what doesn't?
Shopify's own WooCommerce guide splits the data into two groups: things a CSV file can carry, and things that need an app or manual work.
Moves with a CSV file
- Products. Export them with WooCommerce's product CSV exporter, then import them with Shopify's free Store Migration app or the product import page. Shopify adds imported products as drafts, so nothing goes live by accident.
- Customers. WooCommerce's built-in export does not include full addresses. Shopify suggests a customer export plugin if you need them.
Needs an app, a partner or manual work
- Historical orders. Shopify says these cannot be imported by CSV. It lists third-party apps such as LitExtension, Matrixify and Ablestar.
- Reviews. They are not in the product export. Use a reviews app that can import them.
- Blog posts and pages. WooCommerce exports do not include them. Copy them by hand or use an app.
- Coupons. Recreate them as Shopify discounts.
Watch for these on the way in
- Categories. WooCommerce categories don't map straight across. Shopify's product CSV has a "Product category" column, but it uses Shopify's own standard product taxonomy, not your store's categories. Shopify's WooCommerce guide suggests putting your category names in product tags, then building collections from those tags.
- Variations. Products with four or more variation attributes import without variants. Plan to restructure them first.
- Sale prices. Only a sale running at export time comes across. Scheduled sale dates do not.
- Images. Shopify downloads product images from the URLs in your CSV. Keep the WooCommerce site online until the import is finished.
Import in order: products, then customers, then orders. Shopify recommends this so orders link to the right products and people. Turn off staff order notifications first, or you will get an email for every old order you import.
How do WooCommerce URLs map to Shopify?
This is where most of the SEO risk sits. WooCommerce lets you shape your permalinks. Shopify does not. Product URLs always start with /products/ and collections with /collections/. Shopify lists these as fixed paths you cannot redirect.
So almost every URL on your store will change. Here is how a typical WooCommerce store maps across.
/product/blue-hoodie/→/products/blue-hoodie/product-category/hoodies/→/collections/hoodies/product-category/clothing/hoodies/(nested) →/collections/hoodies/product-tag/sale/→/collections/sale(if you build one) or the closest collection/shop/→/collections/all/2024/05/how-to-wash-wool/or/how-to-wash-wool/→/blogs/news/how-to-wash-wool/about-us/→/pages/about-us
A few notes on the mapping:
/product/and/product-category/are WooCommerce's default bases. Check your own settings under Settings > Permalinks in WordPress, because many stores change them.- Shopify's default blog is called News, which is why posts land under
/blogs/news/. You can create other blogs if you want separate sections. - Shopify has no nested collections in the URL. A deep category path becomes one flat collection URL.
- Keep the same slug where you can. If
blue-hoodiestaysblue-hoodie, the redirect list is easier to build and check.
Setting up the redirects in Shopify
Redirects live in the Shopify admin under Content > Menus > URL redirects. You can add them one at a time or import a CSV. Shopify's sample template has two columns: Redirect from and Redirect to.
Three rules from Shopify's help docs matter here:
- A redirect only works if the old URL is broken. If a page still loads at that address, the redirect is ignored.
- A standard store can hold up to 100,000 redirects. Plus stores can hold far more.
- Some paths cannot be redirected, including anything starting with
/cart,/appsor/shop. A WooCommerce/shop/page is a common casualty. Link to/collections/allfrom your navigation instead.
What happens to customer passwords, subscriptions, reviews and plugins?
Passwords. Customer passwords cannot be migrated. That is true for every platform, not just WooCommerce. With Shopify's current customer accounts, customers sign in with their email address and a one-time code, so there is no password to reset. Stores still on legacy customer accounts have to invite customers to set a new password. Tell customers before launch so the change does not look like a problem.
Subscriptions. If you sell subscriptions through a WooCommerce plugin, treat this as its own project. The Shopify Subscriptions app can import contracts from a third-party subscriptions app using a CSV file. Moving the saved payment details behind those contracts is a separate question. Ask your payment provider and your subscriptions app how they handle it before you set a date.
Reviews. Export them and import them with a Shopify reviews app. Check that star ratings show on product pages and that any review markup is valid.
Plugins. None of your WordPress plugins come with you. List every active plugin and decide one of three things for each:
- Shopify does this already, so drop it.
- A Shopify app does it, so install and configure that.
- It is custom, so it needs building.
Pay special attention to SEO plugins. Redirects stored in a WordPress redirect plugin need to be added to your new redirect map, chained to their final Shopify URL.
How do you keep your Google rankings?
Google's site move guidance is clear on the basics. Use permanent server-side redirects. Keep them for at least a year, and longer if you can. Expect rankings to wobble for a while as Google recrawls the site.
Because your domain stays the same, you do not use Search Console's Change of Address tool. That tool is for moving to a new domain. What you do need:
- A full list of old URLs. Crawl the WooCommerce site and export your existing sitemap. Add your top landing pages from Search Console and analytics, plus any URLs with backlinks.
- A one-to-one map. Send each old URL to its closest new page, not to the homepage.
- Metadata carried over. Move page titles, meta descriptions and image alt text, or rewrite them on purpose.
- The new sitemap submitted. Shopify generates
sitemap.xmlat the root of your domain. Submit it in Search Console under Indexing > Sitemaps. - A check after launch. Crawl the old URL list again. Every row should return a 301 that leads to a live page.
How long does it take and what does it cost to plan for?
There is no fair single number. The time and cost depend on a few things you can count before you ask for quotes:
- the number of products, and how many have complex variations
- whether you need order history, reviews and subscriptions moved
- how many plugins need a replacement app or custom build
- the size of your redirect list
- whether you want a new design or a close copy of your current one
Budget for running costs as well as the move itself: your Shopify plan, paid apps that replace free plugins, and a theme if you buy one. Also allow time for testing on a password-protected store before you switch the domain.
If you want help scoping it, our Shopify migration service starts with an audit of your current store and a written plan.
When should you not migrate?
Timing matters as much as the method. Hold off when:
- You are close to peak season. Do not launch a new store in the run-up to Black Friday or your busiest weeks. Freeze changes, sell, and migrate in a quiet month.
- A big promotion is booked. Launch after it ends, not during.
- You have no redirect map yet. Launching without one is the fastest way to lose traffic.
- A key feature has no Shopify answer. If a custom WooCommerce feature is central to how you sell, solve that first.
Sources
Shopify Help Center
- Migrate from WooCommerce
- Transferring data to Shopify
- URL redirects
- Importing URL redirects
- Sample URL redirect CSV template
- Customer accounts
- Adding a blog
- Finding and submitting your sitemap
- Importing and exporting subscription contracts
WooCommerce
Google Search Central
Questions we hear often.
Can I move my WooCommerce store to Shopify without losing SEO?
Usually, yes, as long as you redirect every old URL to the right new page and carry over your metadata. Some movement in rankings is normal while Google recrawls. Large drops tend to come from missing redirects or redirects that all point to the homepage.
Will my customers need new passwords?
Passwords cannot be moved to Shopify. With Shopify's current customer accounts, customers sign in with their email and a one-time code instead. On legacy accounts, you send invites so customers can set a new password.
Can I keep my /product/ URLs on Shopify?
No. Shopify product URLs always use /products/, and collections use /collections/. You can keep the same slug after the prefix, then redirect the old WooCommerce address to the new one.
Do I need to keep WooCommerce running during the move?
Yes, until the import is complete. Shopify pulls product images from the image URLs in your CSV file, so the old site must stay online while that happens.
More guides.
How much does AI agent development cost? What you actually pay for
What drives the cost of building and running an AI agent: discovery, integrations, model API fees, testing, monitoring and upkeep, with a worked example of monthly running costs and ways to keep them down.
Read the guide →Guide · GlobalNode2Shell (CVE-2026-111497): what Node.js teams need to patch
Node2Shell (CVE-2026-111497) is a Brotli flaw in Node.js that can lead to code execution. Fixed versions, who is exposed and how to patch.
Read the guide →Guide · GlobalPHP2Shell explained: how to check and patch CVE-2026-109618 and CVE-2026-109619
PHP2Shell (CVE-2026-109618 and CVE-2026-109619) lets attackers run code on unpatched PHP servers. Check your PHP version and patch it today.
Read the guide →