WooCommerce to Shopify Migration Without Losing Your SEO
A practical plan for a WooCommerce to Shopify migration that protects SEO: URL mapping, 301 redirects, metadata, a launch checklist and monitoring.
In this guide
Key takeaways
- Search traffic survives a platform move when every old URL that earns traffic lands on a matching new page and the new page keeps the content that earned the ranking.
- Shopify fixes its URL prefixes (/products/, /collections/, /pages/, /blogs/), so almost every WooCommerce URL changes and needs its own 301 redirect.
- Passwords, subscriptions and some SEO settings do not migrate by themselves. Plan for them before launch day.
- Expect rankings to move for a few weeks. Watch Search Console daily at first and fix 404s as they appear.
You can move from WooCommerce to Shopify without a lasting drop in search traffic, but only if every old URL that earns traffic lands on a matching new page, and the new pages keep the content that earned the rankings. That takes a URL map, 301 redirects and a launch-day check. Expect some ranking movement for a few weeks either way. This is the order I would work in.
Decide what is worth keeping before you move anything
A migration is a good moment to stop carrying dead weight, and a bad moment to guess. Build an inventory first:
- Crawl the WooCommerce site with a crawler such as Screaming Frog. You want every indexable URL, with its title, H1 and status code.
- Export what earns traffic. In Search Console, open Performance, switch to Pages and export a year of data. In GA4, export landing pages with sessions and revenue.
- Export what earns links. Search Console’s Links report shows which of your pages other sites link to. A page with no traffic but strong links still deserves a redirect.
- Mark each URL as keep, merge or retire. Thin tag archives and dead pages can go. Everything else needs a destination.
When a page is retired, send it to the closest relevant collection or page, not to the home page. Google specifically warns against sending many old URLs to an unrelated page.
Know what changes with Shopify URLs
Shopify fixes the first part of most URLs. You choose the handle (the last part), not the prefix:
| WooCommerce (typical) | Shopify |
|---|---|
/product/blue-widget/ |
/products/blue-widget |
/product-category/widgets/ |
/collections/widgets |
/product-category/widgets/page/2/ |
/collections/widgets?page=2 |
/shop/ |
/collections/all |
/about-us/ |
/pages/about-us |
/blog/my-post-title/ |
/blogs/news/my-post-title |
Your WooCommerce permalinks may differ, because the product and category bases are settings. Check them under Settings, then Permalinks, before you build the map.
Two habits make the map simple. Reuse the old last segment as the new handle wherever you can, so blue-widget stays blue-widget. And decide early where the blog will live. If it stays on WordPress, that is a separate decision with its own URL and hosting consequences, so settle it before launch, not after.
Build the redirect map
Shopify’s redirect tool matches exact paths and has no wildcard rules, so every old URL gets its own row. Shopify’s help page describes the CSV import, and there is a sample file to use as your template. In the admin it lives under Content, then Menus, then URL redirects.
A workable process:
- Put the old URLs from your inventory in a spreadsheet, as paths only (
/product/blue-widget/, without the domain). - Add the new path next to each one. Use formulas for the patterns in the table above, then fix the exceptions by hand.
- Check for chains. An old URL should redirect once, straight to the final page, never through another redirect.
- Save in Shopify’s CSV format and import it.
A few limits to know. A store can hold up to 100,000 redirects (more on Plus). Shopify only lets you redirect a path that currently returns a 404, which is the case for old WooCommerce paths, and it blocks a few reserved paths such as /cart and /products themselves. Keep the file. It is also your test list after launch.
Carry over what ranks
Redirects move the address. The page still has to deserve the ranking when it arrives. Check these before launch:
- Titles and meta descriptions. Export them from Yoast or Rank Math and load them into Shopify’s SEO title and SEO description fields. The standard product CSV has columns for both.
- Headings and body copy. WooCommerce category descriptions often hold real SEO copy. Make sure your Shopify theme displays collection descriptions, and where.
- Image file names and alt text. They carry image search traffic, and they are easy to lose in an import.
- Rewrites. Move the copy on pages that earn traffic as it is, so any change in rankings has one cause. Rewrite weak pages after launch. If you will use AI for that, AI product descriptions for Shopify without hurting SEO covers a safe process.
- Internal links inside content. Update links in blog posts and pages to the new URLs. Redirects still work, but links that go through a redirect waste crawl effort.
- Structured data. Most Shopify themes output product data already. Apps can add a second copy. Test your key templates in the Rich Results Test and remove duplicates.
- Canonical tags, robots.txt and the sitemap. Confirm the theme outputs canonical tags. Shopify generates
/sitemap.xmlfor you, and you can adjustrobots.txtthrough therobots.txt.liquidtemplate.
Plan for what does not migrate by itself
Some things do not come across in a product import, and they cause the most launch-week surprises:
- Customer passwords. Shopify’s customer import does not take them. Customers need an account invitation or a password reset. Write that email now.
- Subscriptions. Recurring payment details usually have to be moved with the help of your payment processor, and the new subscription app must support them. Start this early.
- Order history. You can import it for reference. Decide whether you need it in Shopify or only in an archive.
- Plugin features. Every WooCommerce plugin on the old site either has a Shopify app, becomes theme code, or gets dropped. List them and decide for each.
- Custom fields. Fields from ACF or similar become metafields. Map them before you import, not after.
- Tracking. Your GA4 and Tag Manager setup does not follow you. Rebuild it and test it. The GA4 tracking audit for Shopify shows what to check.
Launch day checklist
- The storefront password is off, and no page carries a noindex tag.
- The redirect CSV is imported and a sample of fifty or so URLs has been spot-checked by hand.
- DNS time-to-live was lowered a day before the switch.
- A final sync of new orders and customers from WooCommerce is done.
- The domain points to Shopify and the SSL certificate is active.
- A crawl of the old URL list in list mode shows 301 followed by 200 for every row.
- Titles, canonicals and structured data look right on the home, collection, product and blog templates.
- The new sitemap is submitted in Search Console.
- GA4 records one purchase per test order, with the right revenue.
- A real checkout, with a real payment method and a refund, works on desktop and mobile.
Do the crawl twice: once right after the switch, and again a day later when caches have cleared. Anything that returns a 404 gets a redirect that day.
Monitor the first month
Google says Googlebot has to visit every old and new URL at least once, and that it can take a few weeks or more for a medium-sized site to settle, with ranking fluctuations along the way. Do not read a bad day as a failure.
Watch these:
- Search Console, Pages report. New URLs should move into Indexed, and old URLs should drop out.
- Sitemaps report. The new sitemap’s discovered URLs should rise.
- Performance report. Compare the same date range before and after, by page group, not just in total.
- Not found (404) errors. Each one is a missed redirect or a broken internal link.
- GA4 landing pages. Your top organic landing pages from before should be back among the top ones.
If the domain changes as well, the picture changes. Search Console’s Change of Address tool applies when you move between domains or subdomains, not when you switch platforms on the same domain.
When a migration is worth getting help with
A small catalog with simple URLs is a manageable weekend project. Get help when the store has thousands of URLs, subscriptions, wholesale pricing, custom plugins, or a deadline tied to a sale. If you are weighing the move itself, Shopify vs WooCommerce: how to choose covers the decision. If you are hiring someone for it, how to hire a Shopify developer covers how to vet and brief them.
Migrations, staging, DNS and SSL are part of my hosting and support work, and I wrote the audit and rebuild plan for a large WooCommerce site, HotTub.com. If you are planning a move, send me the current store address and what you want from the new one. I will reply with what I would do first and whether I am the right person for the job.
Common questions
Will I lose rankings when I move from WooCommerce to Shopify?
Some movement is normal. Google says rankings can fluctuate during a site move and that a medium-sized site can take a few weeks or more to settle. Clean one-to-one redirects and carrying over titles, headings and content keep the loss small.
Does Shopify support wildcard redirects?
Not in the built-in redirect tool. Each old path gets its own row, usually imported from a CSV file. That is why the URL map is the most important document in the project.
Do customer passwords carry over to Shopify?
No. Shopify's customer import does not take passwords, so customers need an account invitation or a password reset after launch. Plan the email before you switch.
How long should I keep the redirects?
Google recommends keeping them for as long as possible, and generally at least a year. In practice, leave them in place permanently. They cost nothing once loaded.