URL structure
Base: /products/red-cotton-tshirt. Variant: /products/red-cotton-tshirt?variant=12345. Both work; behavior differs by canonical setting.
Default: canonical to base
Shopify auto-canonicals variant URLs to base. Prevents duplicate content. Recommended for 90% of stores.
When to index variants
- High search volume for specific variant ('red cotton t-shirt small' has 5,000 searches/mo)
- Variant sold separately (in different marketplaces)
- Variant has distinct product page copy
How to allow variant indexing
Remove canonical or set canonical to variant URL. Advanced — requires theme edit.
Frequently asked questions
Do Shopify variants have unique URLs?
Yes — ?variant=id parameter. Canonicalized to base product by default.
Should variants be indexed?
Usually no — canonical to base. Index only if variant has significant search volume + distinct content.
How to change canonical for variants?
Theme edit — set canonical URL to variant URL. Advanced move; verify with SEO audit.
Does variant URL affect ranking?
Minimal directly. Canonical concentrates ranking on base product URL.
Can I have SEO-friendly variant URLs?
Shopify uses ?variant=id. Not slug-based. Third-party apps can add slug rewriting.
How to prevent variant URL indexing?
Default Shopify canonical to base. Or robots meta noindex on variant URLs.
Do URLs work for private/hidden variants?
Hidden variants (removed from availability) don't have public URLs.
Best practice for variant URL sharing?
Share the base product URL. Selected variant highlights via query param.
Related reading
Try it free on Shopify
Print It My Way's permanent Free plan includes live preview, custom options, and Cart Transform pricing.
Install Print It My Way