Shopify URL structure and redirects after migrating from WooCommerce (2026)
How to set up 301 redirects and handle URL structure changes when migrating from WooCommerce to Shopify — product URL differences, category to collection mapping, bulk redirect import, and preserving SEO rankings.
Changing URL structure during a platform migration is one of the highest-risk SEO events for an ecommerce store. WooCommerce and Shopify use different URL patterns for products, categories, and pages. Without 301 redirects, every indexed WooCommerce URL that receives organic traffic becomes a 404 after migration — and with it, the page authority accumulated by that URL over years.
WooCommerce vs Shopify URL patterns
| Content type | WooCommerce URL | Shopify URL |
|---|---|---|
| Product | /product/blue-widget/ | /products/blue-widget |
| Product in category | /product-category/widgets/blue-widget/ | /collections/widgets/products/blue-widget (not canonical) |
| Category | /product-category/widgets/ | /collections/widgets |
| Tag | /product-tag/blue/ | /collections/all?sort_by=...&filter.p.tag=blue (no dedicated page) |
| WordPress page | /about-us/ | /pages/about-us |
| Blog post | /2024/01/post-title/ | /blogs/news/post-title |
| Cart | /cart/ | /cart |
| Checkout | /checkout/ | /checkout |
Which URLs require redirects
Not all URLs need redirects. Prioritise based on organic search traffic and inbound links:
- Product pages: Highest priority. Each product URL with indexed rankings or backlinks must redirect.
- Category pages: High priority. Category pages often rank for broad category keywords and accumulate backlinks.
- Blog posts / articles: High priority if you have content that ranks or receives backlinks.
- Static pages: Medium priority (About, Contact, FAQ). Usually low organic traffic but handle carefully if they have backlinks.
- Tag pages, search pages, archive pages: Low priority. Typically noindex'd in WooCommerce. Redirect to collection or homepage.
Setting up redirects in Shopify
Individual redirects
Shopify Admin → Online Store → Navigation → URL Redirects → Add URL redirect. Enter the old path (e.g. /product/blue-widget/) and the new destination (e.g. /products/blue-widget).
Bulk redirect import
Shopify supports bulk redirect import via CSV. Format: two columns — Redirect from and Redirect to.
Redirect from,Redirect to
/product/blue-widget/,/products/blue-widget
/product-category/widgets/,/collections/widgets
/product-category/gadgets/,/collections/gadgets
/about-us/,/pages/about-us
/contact/,/pages/contact
Import via: Shopify Admin → Online Store → Navigation → URL Redirects → Import.
Building the redirect mapping
To build your redirect CSV efficiently:
- Crawl the old site before going live: use Screaming Frog or Sitebulb to crawl your WooCommerce site and export all URLs. Filter to 200 status code URLs only.
- Export Shopify URLs: From Shopify Admin → Products → Export, get all product handles. Same for collections, pages, and blog posts.
- Map old to new: For products, the mapping is typically
/product/{slug}/→/products/{slug}(same slug, different path prefix). A spreadsheet formula can generate this automatically for products where the slug is preserved. - Handle slug changes: Products where the handle changed during migration need manual mapping.
- Category to collection: Map
/product-category/{slug}/→/collections/{slug}for each category. If WooCommerce categories were hierarchical (e.g./product-category/widgets/blue-widgets/), map to the equivalent flat Shopify collection.
Product URLs in WooCommerce permalink structures
WooCommerce allows several permalink structures for products:
- Default:
/product/{slug}/ - With shop base:
/shop/{slug}/ - With category:
/shop/{category}/{slug}/ - Custom: set by the user
Check your WooCommerce permalink settings (Settings → Permalinks → Product permalinks) before building your redirect map — the old URL pattern depends on this setting.
Shopify's handle matching
k-sync preserves the WooCommerce product slug as the Shopify handle where possible. If your WooCommerce permalink is /product/blue-widget/ and the Shopify handle is blue-widget, the redirect is simple:
/product/blue-widget/ → /products/blue-widget
No redirect is needed if the path structure changes but both URLs resolve — Shopify's /collections/{collection}/products/{handle} URL is a valid URL but is not the canonical. The canonical is always /products/{handle}, so redirect the old /product/ prefix URLs to /products/.
Post-migration redirect checklist
- Screaming Frog crawl of WooCommerce site completed and URL list exported before go-live
- Redirect CSV built: all products, categories, pages, and blog posts mapped
- Redirects uploaded to Shopify via bulk import before DNS cutover
- Test sample redirects: visit old WooCommerce URLs on the new Shopify domain and confirm 301 redirect to correct Shopify URL
- Google Search Console: submit Shopify sitemap after go-live
- Monitor GSC for crawl errors in the 2–4 weeks post-migration (404s indicate missed redirects)
- Ahrefs / Semrush: check for 404 errors on pages with inbound backlinks — add missing redirects
- Product URLs with category prefix: map to Shopify canonical (
/products/{handle}), not the collection-prefixed version
Migrate your store with k-sync
Connect your WooCommerce store, validate your products, and push to Shopify in minutes. Free for up to 50 products.
Get started freeRelated reading
Migrating a luggage and travel accessories store from WooCommerce to Shopify (2026)
How to migrate a luggage, travel bags, or travel accessories WooCommerce store to Shopify — luggage specifications, airline compliance, TSA lock, warranty and durability claims, and luggage retail Shopify setup.
Migrating a motorcycle accessories store from WooCommerce to Shopify (2026)
How to migrate a motorcycle accessories, biker gear, or motorbike parts WooCommerce store to Shopify — helmet safety standards, CE-rated protective clothing, type approval for parts, fitment compatibility, and motorcycle retail Shopify setup.