Does each product variant need a directly selectable URL?

The Citead team, updated

In short. Each variant needs a directly selectable URL, while the single-page product group uses one base canonical URL.

Definition: A directly selectable product variant URL loads a single-page product with one variant already selected. For a store using one page for all variants, Google's product variant documentation requires a distinct URL that can preselect each variant.

Key facts

  • Google models a single-page store as one where variants are selectable without a page reload, usually through query parameters. Google's product variant documentation gives /coat?size=small&color=green as an example.
  • Each variant must be identifiable by a separate URL. Google recommends either a path segment such as /t-shirt/green or a query parameter such as /t-shirt?color=green. Google's ecommerce URL guide gives both forms.
  • A single-page ProductGroup has one distinct canonical URL, normally the base URL with no variant selected. Google's product variant documentation uses /winter_coat for that base URL.
  • Schema.org defines ProductGroup as a group of products that vary in described ways such as size, color, or material. The Schema.org definition describes the group as a template for products related to it through isVariantOf.

What does direct selection mean on a single-page store?

Google distinguishes a single-page design from a multi-page design. In the single-page design, the same document is returned for the base URL and for URLs with a preselected combination, such as these examples:

https://www.example.com/coat
https://www.example.com/coat?size=small&color=green
https://www.example.com/coat?size=small&color=lightblue

The shopper can then change the selection without a page reload. Google's example says that the image, price, and availability change dynamically, while the structured data markup on the page does not change as the shopper selects other variants. Direct selection therefore means that the URL itself carries enough information for the page to open in the requested state.

Which URL should be canonical?

Google's URL guidance says that each combination of product attributes is a product variant and should be identified by a separate URL. A path segment and a named query parameter are both documented patterns. A fragment such as #black is not a suitable variant selector for this purpose because Google does not use fragment identifiers in indexing, and /product/t-shirt#black and /product/t-shirt#white are treated as the same page.

When query parameters identify optional variants, Google recommends the URL without that parameter as the canonical URL. For a single-page product group, the product variant documentation specifies one distinct canonical URL for the overall ProductGroup, typically the base URL without a preselected variant. The same URL should appear in internal links, sitemap files, and the canonical link element.

<link rel="canonical" href="https://www.example.com/coat">

What must the page show for each URL?

The variant URL must do more than expose a different string. Google's technical guidance says that preselecting a variant includes showing its right image, price, and availability, and allowing the user to add that variant to the cart. The page can update those values dynamically after a selector change, but a crawler must be able to request a URL that opens with the variant selected.

The structured data still identifies the variants as members of one product group. Google's guidance requires a unique ID for each variant and a unique ID for the product group. Its product snippet documentation also describes product pages that focus on one product or multiple variants of that product, with each variant having a distinct URL. The Schema.org ProductGroup model supplies the shared group description, while hasVariant and isVariantOf connect the group and its products.

FAQ

Does every size and color combination need its own URL?

Yes. For a single-page store, each variant combination needs a distinct URL that opens with that combination selected. Query parameters are one documented way to represent the selection.

Can a fragment identify the selected variant?

Google's ecommerce URL guidance says that fragment identifiers are not used in indexing. Use a path segment or query parameter when the selected variant must be represented in a URL.

Must every variant be a separate HTML page?

No. Google's single-page example returns the same page for the base URL and for variant URLs. The selector can change the image, price, and availability without a page reload.

What URL is canonical for the product group?

Use one base URL without a variant selector as the canonical URL for the overall ProductGroup on a single-page store. Variant URLs can remain directly selectable URLs for the individual combinations.

Sources

  1. Google Search Central, "Product Variant Structured Data (ProductGroup, Product)", 2026-09-08
  2. Google Search Central, "Ecommerce URL Structure Best Practices", 2025-12-10
  3. Google Search Central, "How To Add Product Snippet Structured Data", 2026-09-08
  4. Schema.org, "ProductGroup", 2026-09-16

Check how a page reads to answer engines. Open the GEO score analyzer

Test a page and see what to fix first

The analysis usually takes less than 10 seconds and needs no account.

400,000+ pages scored in the public benchmark