Every variant in Shopify can be opened directly with a ?variant= link, which is handy for ads, emails and social posts. Whether Google should index those URLs as separate pages is a different question, and for almost every store the answer is no. Here's how the URLs work, what Shopify does by default, and the rare cases where you'd want something else.
URL structure
A product lives at its handle: /products/red-cotton-tshirt. Each variant adds its ID as a query parameter: /products/red-cotton-tshirt?variant=12345. Open that link and the product page loads with that size and color already selected, with the right price and image.
Shopify doesn't create slug-style variant URLs like /products/red-cotton-tshirt/large. The query parameter is the only built-in way to point at a specific variant.
Default: canonical to base
On every variant URL, Shopify's canonical tag points back to the plain product URL. Google treats the variant links as versions of one page and gathers ranking signals there. Shopify's sitemap lists the product URL, not each variant, which tells Google the same thing.
That's the right setup for most stores. A size or color change doesn't make a different page worth ranking on its own, and splitting signals across 40 near-identical URLs would weaken the main one. Our guide to duplicate content from variants explains why this protects you.
When to index variants
There are a few situations where a variant may deserve its own search presence:
- People search for that exact variant in meaningful numbers, separately from the product, and you can see it in keyword research or Search Console.
- The variant is sold as its own thing elsewhere, for example a specific edition with its own name.
- You can write distinct content for it: its own title, description and photos. A different color word in the title isn't enough.
If those apply, the cleaner fix is usually to make it a separate product with its own handle, rather than forcing a variant URL into the index. A separate product gets its own title tag, meta description, sitemap entry and canonical, with no theme hacking.
How to allow variant indexing
If you still want variant URLs indexed, a developer has to change the canonical tag in theme.liquid so it outputs the variant URL for chosen products, and ideally change the title and description per variant too. Without unique content, Google will often ignore your canonical and pick the main product anyway.
Test on a duplicate theme, then watch Search Console for a few weeks. If you go this way, our guide to meta descriptions per variant covers the content side.
Where variant links are useful
Variant URLs are still valuable, just not for organic search:
- Ads and social posts. An ad showing the green hoodie should land on the green hoodie, already selected.
- Email campaigns. Link a restock email straight to the size that came back.
- Shopping feeds. Google Merchant Center expects one item per variant, each with its own variant URL. Our Google Shopping variant feed guide covers that setup.
- Support replies. Send a customer the exact variant they asked about.
A worked example
Say you sell a tote bag in natural, black and olive. Shoppers search "canvas tote bag", and a few search "olive tote bag". All three colors share one handle, /products/canvas-tote, which ranks for the main term. The olive search is better served by mentioning olive in the description and image alt text than by indexing ?variant= for olive.
Now say you launch a limited "Artist edition" tote with a printed design, its own story and its own photos. That's no longer a color. Make it a separate product, link it from the main tote page, and it can rank for its own name.
How to check your setup
- Open a variant URL and view the page source. Find
rel="canonical"and confirm it points to the plain product URL. - Check there's only one canonical tag. SEO apps sometimes add a second.
- In Search Console, inspect a variant URL and compare the declared and Google-selected canonicals.
- Open
/sitemap.xmland confirm product URLs appear without variant parameters. Our note on variants in the sitemap explains what to expect.
Personalization doesn't add URLs
Some stores worry that personalization options will multiply URLs. They don't. With Print It My Way, a customer's name, font choice or uploaded photo is saved on the order as a line-item property, not as a variant, so it never creates a new ?variant= URL or a new page for Google to crawl.
Frequently asked questions
Do Shopify variants have unique URLs?
Yes. Each variant can be opened with a ?variant= parameter on the product URL. By default those URLs canonicalize to the main product page.
Should variants be indexed?
Usually not. Index a variant only if it has its own search demand and genuinely distinct content, and even then a separate product is often the cleaner choice.
How to change canonical for variants?
A developer edits the canonical tag in theme.liquid to output the variant URL for chosen products. It's an advanced change, so test it on a duplicate theme and run a full SEO check afterwards.
Does variant URL affect ranking?
Not directly. The canonical tag sends ranking signals from variant URLs to the main product URL, which is where the page ranks.
Can I have SEO-friendly variant URLs?
Not natively. Shopify only supports the ?variant= parameter. If a variant needs a keyword-rich URL, make it a separate product with its own handle.
How to prevent variant URL indexing?
Shopify's default canonical tag already handles it. Make sure no theme edit or app has changed that tag and that only one canonical appears on the page.
Best practice for variant URL sharing?
Share the variant URL in ads, emails and support replies so the right option is preselected. For general links and internal navigation, use the plain product URL.
Related reading
Sources & further reading
Primary sources referenced in this article. We link to official platform documentation and standards bodies rather than secondary summaries so you can verify claims directly.
- Shopify Help Center: Product variants
- Shopify.dev: Product variant limits
- Shopify Help Center: Line item properties (customization)
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