Skip to content

Answer

Should product variants have separate URLs?

By CartKernel ยท Last reviewed

In short

Only when the variant is something people search for by name and can carry a page of its own. Sizes and colours of a fashion item rarely qualify, so one product page with a variant selector is the better structure. Model numbers, capacities, device fitments and anything with its own photography, price band and review history often do qualify, and those deserve indexable pages. Whichever you choose on the storefront, every purchasable variant still needs its own row in the product feed, grouped by item group ID.

The deciding question is whether anyone searches for the variant

Look at how demand is actually expressed in your category. Nobody types the name of a dress followed by the exact shade the brand invented for it, so eleven colour URLs for one dress create eleven near-identical pages competing for the same query. By contrast, people absolutely search for a phone case by device model, a mattress by size, a filter by part number and a running shoe by width, because the variant is the thing they need rather than a preference.

A second test follows from the first: can the page stand up on its own? A variant with its own photography, its own price, its own specification table and its own reviews has enough substance to be worth indexing. A variant that differs only by a swatch does not, and publishing it produces pages a crawler has to process and a shopper has no reason to land on.

The third consideration is inventory volatility. Variants that sell out and return constantly are easier to manage on a single page with availability shown per option, because you are not creating and retiring URLs every season.

What each platform gives you, and what it decides for you

Shopify keeps one product URL and appends a variant parameter, so selecting an option produces an address such as the product handle followed by a variant query string, and the canonical tag points back at the clean product URL. That is a sensible default, and it means the usual Shopify question is not whether to split but whether to build separate products for variants that deserve their own page. Splitting on Shopify means creating distinct product records, which changes inventory management and reporting, so it is a merchandising decision as much as an SEO one.

WooCommerce handles variations inside a single variable product and does not create indexable URLs for them by default, though selections can be reflected in query parameters and some extensions add rewritten variation URLs. If you use one of those, confirm what canonical tag the variation page emits before letting it into the index.

BigCommerce works from a single product page with option selection, with SKU-level addressing available through parameters. On a headless build you decide entirely, which means the discipline has to come from your routing rules rather than the platform.

Separate URLs only pay off when each one is genuinely different

The cost of splitting is dilution. Links, reviews and internal signals that would have accumulated on one page get spread across many, and each individual page is weaker than the single page would have been. On a catalogue with thousands of products that also means a crawl budget problem, because a crawler spends its time on near-duplicates instead of on the pages you want seen.

So if you split, make each page earn it. Unique title tag naming the variant attribute, unique meta description, an opening paragraph that mentions what makes this version the right one, images of that version, and a specification block with the values that differ. Cross-link the variants to each other so a shopper who landed on the wrong one can move sideways in a click.

If you do not split, canonicalise properly. Parameterised variant addresses should carry a canonical tag pointing to the main product URL, the on-page content should update when an option is selected, and the selected variant should be reflected in the title and price for anyone arriving on a deep link.

The product feed answers to a different rule

Merchant Center wants every purchasable variant as its own item, regardless of how the storefront is built. Each variant row needs its own ID, its own GTIN where one exists, and a shared item group ID that ties the family together so Google can present them as options of the same product. Colour, size, material, pattern, age group and gender go in their own attributes rather than being buried in the title.

The link attribute should take the shopper to the page with that variant already selected. On Shopify that is normally the product URL with the variant parameter, which is exactly the address you canonicalise away for search, and that is fine: the two systems are being asked different questions. Where the destination differs from the page you want indexed, the canonical link attribute exists to tell Merchant Center which URL is the canonical one.

Getting this wrong is a common source of trouble. If every variant links to the same generic product page, a shopper who clicks an advertised size lands on whatever the default option is, price and availability may not match what the ad showed, and mismatches lead to disapprovals. Check a handful of variant items by clicking their links from the diagnostics view and confirming the page opens with the right option preselected.

When to split, judged product by product

Cotton shirt in eight colours
One page, colour selector, one feed group
Phone case, forty device fitments
Page per device, since the model number is the query
Mattress in four sizes
Page per size, since size carries the search and the price
Coffee bag, 250g and 1kg
One page, size selector, both sizes in the feed
Printer cartridge by yield
Page per part number, since people search the code

Illustrative decisions, not a rule set. The pattern to copy is asking whether the variant attribute is what a shopper types, and whether the resulting page would have anything of its own to say.

Related questions

Does the Shopify variant parameter create a duplicate content problem?

Not on its own. Those addresses carry a canonical tag pointing at the clean product URL, so Google is told which version to keep. Problems appear when a theme or app strips or rewrites that canonical, or when marketing links spread parameterised addresses widely enough that they become the version people link to.

Should each size of a clothing item have its own page?

Usually not. Shoppers search for the garment and then choose a size, so separate size pages compete with each other for the same query and split the reviews. The exception is a range where size defines the product for the buyer, such as plus or wide fittings marketed as their own line with distinct photography and copy.

How do variant URLs affect AI shopping answers?

Assistants and shopping surfaces work from product records and the page they resolve to, so the important thing is that identifiers, availability and price for a specific variant are unambiguous. Whether the storefront uses one URL or many matters less than whether the feed grouping is correct and the destination page shows the exact option being described.

Find the leak.

A free Growth Analysis ranks what your store should fix first, by revenue at stake.