k-sync
Back to blog

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.

·By k-sync
3 min read · 655 words

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 typeWooCommerce URLShopify 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:

  1. Product pages: Highest priority. Each product URL with indexed rankings or backlinks must redirect.
  2. Category pages: High priority. Category pages often rank for broad category keywords and accumulate backlinks.
  3. Blog posts / articles: High priority if you have content that ranks or receives backlinks.
  4. Static pages: Medium priority (About, Contact, FAQ). Usually low organic traffic but handle carefully if they have backlinks.
  5. 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:

  1. 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.
  2. Export Shopify URLs: From Shopify Admin → Products → Export, get all product handles. Same for collections, pages, and blog posts.
  3. 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.
  4. Handle slug changes: Products where the handle changed during migration need manual mapping.
  5. 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:

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

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 free

Related reading

Browse all migration guides