How variant handling works
A variant is a version of the same product that differs in one attribute — size, colour, capacity, length — while remaining the same thing to buy. Variant handling is the set of decisions about how those versions are represented: whether each gets its own URL, which page search engines should treat as the main one, and how the shopping feed describes them.
Platforms behave differently. Some produce a single product page with selectors, some generate a separate address for every combination, and some do both, appending a parameter when a shopper picks a colour. The choice matters because a product offered in several sizes across several colours can multiply into a large number of near-identical addresses from one item.
Why variant handling matters
Duplication is the direct cost. Pages that differ by one word compete with each other for the same searches, split the links and reviews the product earns, and consume crawl effort better spent on pages that are actually different. On a large catalogue this is often the single biggest source of index bloat.
There is a revenue cost too. If sizes live on separate pages, a shopper who lands on the sold-out one may conclude the whole product is unavailable rather than switching. And the feed follows a different rule from the website: Google generally expects each purchasable variant to be submitted as its own item, so site structure and feed structure are answering two different questions.
Where variant handling goes wrong
The commonest error is treating every variant as a separate product on the site — separate URLs, separate near-identical descriptions, no canonical relationship, each page weaker than the one it was split from. The mirror-image error is collapsing genuinely distinct products into one page because they share a name, so a shopper cannot link to or find the version they wanted.
Canonical tags are where the theory usually breaks. A variant canonicalised to the main product page while still being submitted separately in the feed, or every variant canonicalised to a category, produces conflicting signals. Blocking variant parameters in robots.txt causes a different problem: the crawler can no longer read the canonical tag it was meant to obey.
Getting it right
Start from the shopper. If people search for the attribute — a distinctive colour of a popular model, a particular capacity — that version deserves its own indexable page with its own images and copy. If they do not, keep one page, make the attribute a selector on it, and point the variant URLs back to the main page by canonical.
Whichever you choose, apply it consistently across the catalogue, keep the selected variant’s price and availability visible without a page reload, and submit each buyable variant in the feed with its own identifier. Write the site and feed rules down once and apply them by template, alongside the decisions about which filtered URLs may be indexed. Both sit inside the same ecommerce SEO groundwork.