Shopify's Fixed URL Architecture
Shopify uses a standardized URL structure that you cannot change. Every Shopify store uses the same URL patterns. Understanding this upfront prevents frustration during migration.
Your current platform may allow flexible URL structures. Shopify does not. Plan for this reality.
Shopify URL Patterns
Shopify enforces these URL patterns:
Products
/products/{handle}
The handle is the URL-friendly version of the product title. You can customize the handle, but it always lives under /products/.
Collections
/collections/{handle}
Collections are Shopify's equivalent of categories. The handle is customizable but the /collections/ prefix is fixed.
Products within collections
/collections/{collection-handle}/products/{product-handle}
When accessing a product from a collection page, Shopify uses this longer URL. Both URLs work for the same product. Shopify handles canonical tags to avoid duplicate content.
Pages
/pages/{handle}
Static pages live under /pages/. No subdirectories, no nested paths.
Blog posts
/blogs/{blog-handle}/{post-handle}
Blog posts require a blog to live in. You cannot have date-based URLs like /blog/2024/01/post-title.
Account pages
/account, /account/login, /account/orders
Customer account URLs are fixed.
Common Migration Scenarios
Different source platforms create different mapping challenges.
Magento
Magento typically uses:
-
/product-name.html→/products/product-name -
/category/subcategory.html→/collections/subcategory -
/category/product-name.html→/products/product-name
Remove .html extensions and map category paths to flat collection URLs.
WooCommerce
WooCommerce often uses:
-
/product/product-name→/products/product-name -
/product-category/category-name→/collections/category-name -
/shop/→/collections/all
Similar patterns with different prefixes.
Custom platforms
Custom platforms vary widely:
/shop/category/subcategory/product/catalog/product-id/product-name/items/sku-number
Every pattern needs mapping. Document your current structure systematically.
Date-based blog URLs
Many platforms use date-based blog URLs:
/blog/2024/01/15/post-title/news/2024-01-post-title
Shopify does not support dates in URLs. Redirect to /blogs/blog-name/post-handle.
Handle Best Practices
Handles are the customizable part of Shopify URLs. Use them wisely.
Keep handles readable
Use descriptive, lowercase handles with hyphens:
- Good:
/products/blue-cotton-t-shirt - Bad:
/products/prod_12345 - Bad:
/products/Blue_Cotton_TShirt
Match old URLs when possible
If your old product URL was /widget-pro-2000, use widget-pro-2000 as the Shopify handle. This keeps redirects simple and may preserve some link equity even without redirects (though always implement redirects).
Avoid redundancy
Since /products/ is already in the URL, do not repeat it in the handle:
- Good:
/products/widget - Bad:
/products/product-widget
Redirect Implementation
Every URL change requires a redirect. No exceptions for URLs with traffic, rankings, or backlinks.
Bulk redirect import
For large sites, export your URL inventory and create a mapping spreadsheet:
- Column A: Old URL path
- Column B: New Shopify URL path
Import via Shopify's CSV redirect feature or an app.
Pattern-based redirects
Some apps support wildcard or regex redirects:
- Redirect all
/product/*.htmlto/products/* - Redirect all
/category/*to/collections/*
This reduces redirect count but requires careful testing.
SEO Considerations
URL changes do not inherently hurt SEO if handled correctly.
301 redirects preserve value
Properly implemented 301 redirects pass ranking signals from old URLs to new URLs. The URL itself is less important than the redirect implementation.
Avoid redirect chains
If your old site already had redirects, ensure migration redirects go to final destinations, not through intermediate URLs.
Update internal links
After migration, update any hardcoded internal links in your content to use new URLs directly rather than relying on redirects.
For comprehensive redirect planning, see Shopify migration.
Working with LiftKit Digital
URL structure changes are a standard part of every migration we handle. LiftKit Digital maps URL patterns, implements redirects, and monitors for issues post-launch.
To discuss your migration, get in touch.