Free tool
WooCommerce to Shopify redirect map
When you move from WooCommerce to Shopify, most of your URLs change: /product/blue-hoodie/ becomes /products/blue-hoodie. Enter your store’s address and this tool reads its XML sitemaps, counts your products, product categories, product tags, posts and pages, and builds a CSV of redirects in the format Shopify’s URL redirect import accepts. Anything it cannot map is listed for you to handle by hand, never dropped.
Build your redirect map
What we found
| Type | Found |
|---|---|
| Products | |
| Product categories | |
| Product tags | |
| Blog posts | |
| Pages | |
| Other URLs |
Your redirect CSV
Blog posts redirect to /blogs/your-handle/post-handle. Shopify’s default blog is News, at /blogs/news.
To import it in Shopify, go to Content > Menus > URL redirects > Import.
We found nothing to redirect, so there’s no CSV to download.
The first rows of the CSV
| WooCommerce address | Shopify address |
|---|
Rows to check
These rows are in the CSV, but someone should look at them before you import it.
URLs to map by hand
We couldn’t work out a Shopify address for these, so they are not in the CSV. Add the ones that matter, such as pages with traffic or links from other sites.
Before you import
- The map assumes each Shopify handle matches its WooCommerce slug. If your import changed any, edit the Redirect to column. (Shopify developer docs: handles)
- We use WooCommerce’s default URL patterns only when a sitemap’s name doesn’t say what it lists. If you changed WordPress’s permalink settings, check those rows. (WooCommerce source code: default permalink bases)
- Shopify holds up to 100,000 URL redirects per store (more on Shopify Plus). (Shopify Help: URL redirects)
- Shopify only redirects an address that is broken on the new store. A page that still loads is never redirected. (Shopify Help: URL redirects)
- We leave off the trailing slash, as Shopify does when it saves a redirect. Test both forms. (Shopify Community: redirects with a trailing slash)
- After you import the file, open a sample of old addresses and check each lands on the right page, as Shopify advises. (Shopify Help: migrating from WooCommerce)
Sources, checked 8 November 2026
- Shopify’s sample URL redirect import file
- Shopify Help: URL redirects
- Shopify Help: migrating from WooCommerce
- Shopify developer docs: handles
- Shopify Help: the /collections/all page
- Shopify Help: adding a blog
- Shopify developer docs: filter collections by tag
- Shopify developer docs: the routes object (/account, /cart)
- Shopify Community: redirects with a trailing slash
- WooCommerce source code: default permalink bases
- WooCommerce source code: the pages it creates
- WordPress source code: core sitemap addresses
- Yoast SEO source code: sitemap addresses
- Rank Math: configuring sitemaps
- SEOPress: enabling XML sitemaps
How the redirect map works
The tool looks for your sitemaps in your robots.txt first. If it lists none, it tries WordPress’s own sitemap at /wp-sitemap.xml, the Yoast SEO and Rank Math index at /sitemap_index.xml, the SEOPress index at /sitemaps.xml, then /sitemap.xml. It sorts each URL by the sitemap it came from, so a custom product base such as /shop/ still maps. Only when a sitemap’s name does not say what it lists does it fall back to WooCommerce’s default URL patterns.
Each Shopify handle is the last part of the WooCommerce address, in lowercase:
| On WooCommerce | On Shopify | Notes |
|---|---|---|
/product/blue-hoodie/ |
/products/blue-hoodie |
A product |
/product-category/clothing/hoodies/ |
/collections/hoodies |
Nested categories use the last part, and are flagged for a check |
/product-tag/summer/ |
/collections/all/summer |
Shopify’s tag filter on the page that lists every product |
/2026/11/care-guide/ |
/blogs/news/care-guide |
A post. Shopify’s default blog is News; you can change the blog handle in the tool |
/about/ |
/pages/about |
A page. Nested pages use the last part, and are flagged |
/shop/ |
/collections/all |
WooCommerce’s shop page |
/my-account/ |
/account |
WooCommerce’s account page |
/, /cart/, /checkout/ |
No redirect | Shopify has its own page at the same address |
The tool knows WooCommerce’s shop, cart, checkout and account pages by the English slugs WooCommerce gives them. If yours have other slugs, for example because WooCommerce was set up in another language, change those rows in the CSV.
Blog categories, author pages, other content types and addresses with a query string, such as /?p=123 from WordPress’s plain permalinks, go on a separate list for you to map by hand. The tool reads up to 50 sitemap files and 20,000 URLs in about 7 seconds, and says on the results when it reaches a limit. The sources for every rule, and the date we checked them, are listed under the tool.
What to check before you import it
- Handles. The map assumes each product, collection, page and post keeps its WooCommerce slug as its Shopify handle. Shopify generates handles from titles in lowercase with hyphens, but its documentation does not say what it does with letters such as æ, ø or å. The tool flags those slugs, so check them in your Shopify admin after the import.
- Permalink settings. If you changed the product, category or tag base in WordPress under Settings > Permalinks and your sitemaps come from a plugin the tool does not recognise, those URLs land on the list to map by hand. Check it.
- Addresses that are not in your sitemaps. Sitemaps list what your store wants indexed. Products you deleted, filtered category pages and pages set to noindex are not there. Check Google Search Console or your analytics for other old addresses that still get visits or links.
- Shopify’s rules. A Shopify store holds up to 100,000 URL redirects (20 million on Shopify Plus), and Shopify only redirects an address that is broken on the new store: a page that still loads is never redirected. Shopify also says addresses with a query string may not redirect as expected. All three are on Shopify’s URL redirects help page.
- Trailing slashes. Merchants in the Shopify Community report that Shopify drops the trailing slash when it saves a redirect, so the CSV leaves it off. After import, test an old address with and without it.
- Testing. Import the file in your Shopify admin under Content > Menus > URL redirects. Then open a sample of old addresses and check each lands on the right page, as Shopify advises in its guide to migrating from WooCommerce.
What a migration involves beyond redirects
Redirects keep the search traffic and links your old addresses have earned. They are one part of a move. A migration also covers your data, your theme, your integrations and a cutover that keeps your store open while it moves.
Our WooCommerce to Shopify migration covers all of that, redirects included. It costs from £8,000, ex VAT. That is the starting point: we scope your store, then agree a fixed price before work starts. For how we run a move from planning to go-live, and the brands we have moved, see our Shopify migration page.
Questions
Frequently asked questions
Do you store my store’s address or the results?
No. Our server fetches your robots.txt, home page and sitemaps, shows you what it found and keeps nothing. Your browser builds the CSV files, and the address you enter never goes into the address of this page.
Why does it read my sitemaps instead of crawling the whole store?
Your sitemaps list the URLs your store asks search engines to index, which are the ones most worth redirecting, and reading them takes seconds. Addresses that are not in them, such as products you deleted, are not in the map. Check Google Search Console or your analytics for those.
What if my Shopify handles differ from my WooCommerce slugs?
The map assumes each Shopify handle matches its WooCommerce slug. If your import changed some, edit the Redirect to column before you import the file. The tool flags slugs that Shopify may write differently, such as ones with æ, ø or å.
Why are some URLs listed for me to map by hand?
Shopify has no direct equivalent for blog categories, author pages or most custom content types, and Shopify says addresses with a query string may not redirect as expected. Choose a target for the ones that get traffic or links, and leave out the rest.
Does it work with my SEO plugin?
It reads any sitemap your robots.txt lists, WordPress’s own sitemaps, and the sitemap names Yoast SEO and Rank Math use. For sitemaps whose names it does not recognise, it falls back to WooCommerce’s default URL patterns, so check the URLs it lists for you to map by hand.
Can you set the redirects up for us?
Yes. Mapping your old URLs to the new ones is part of every WooCommerce migration we run. A WooCommerce migration costs from £8,000, ex VAT, and we agree a fixed price after scoping your store.
Want us to check your redirect map?
Send us your store’s address and the review list, and we’ll tell you which rows need attention before you import. Talk to us about your migration, or compare our fixed-price Shopify projects.

