A new online shop usually starts with products, photos and prices. Search comes later, when the product pages are already built. Google has a set of ecommerce guides and several structured data pages that apply directly to those pages, and they are specific about what a product page should contain, how its URL should behave and how its markup should relate to what the shopper sees.
This article sets out what that documentation says for the owner of a small shop selling clothing, accessories, home goods, coffee, skincare or subscription boxes. Where we give our own reading, we say so. We re-read every Google page cited here in November 2026.
Two kinds of product markup, and which one a shop needs
Google’s introduction to Product structured data describes two classes. Product snippets are for pages where people cannot directly buy the product, such as an editorial review. Merchant listings are for pages where customers can buy from you, and take more detail, such as apparel sizing, shipping and return policy. In general, adding the required merchant listing properties means a page can also be eligible for product snippets.
The merchant listing guide is stricter about who qualifies. Only pages where a shopper can purchase a product
are eligible, not pages linking to other sites that sell it, and Google may try to verify the data before showing it. Our reading: a shop selling its own goods should start from the merchant listing page.
What a product page has to contain in the markup
The merchant listing documentation lists three required properties on the Product: a name, an image and an offer. The offer needs a price greater than zero and a currency, and it must be an Offer rather than an AggregateOffer, because the merchant has to be the seller. For product snippets, the product snippet page requires a name plus at least one of review, aggregate rating or offers.
Availability, brand, description, colour, global identifiers such as a GTIN, and shipping and return information are recommended rather than required. Google’s introduction says enhancements are shown at the discretion of each experience and may change, so it advises providing as much product information as you have. Price drops, it adds, are computed by Google and are not guaranteed to be shown.
Product image URLs must be crawlable and indexable, and for best results Google asks for several high-resolution images in 16×9, 4×3 and 1×1 ratios. Our article on image SEO for a visual catalogue covers that side.
Both guides also say product rich results support pages that focus on a single product, or on multiple variants of it. Their example of a page that does not count is a general listing of shoes. They recommend marking up product pages rather than pages that list products or a category. Our reading: a category page earns its place through clear links to its products, covered below. If you sell in several currencies, Google says to use a distinct URL for each.
Variants: sizes, colours and the canonical product URL
The product variant documentation says to use a ProductGroup with the variesBy, hasVariant and productGroupID properties to tell Google which products are variations of one parent, in addition to the Product markup. Each variant needs a unique ID in the markup, such as a SKU or GTIN, and each group needs its own.
The URL side is in Google’s ecommerce URL guidance. Each variant should be identifiable by a separate URL, as a path segment such as /t-shirt/green or a query parameter such as /t-shirt?color=green. If optional query parameters identify variants, the URL without the parameter should be the canonical. For single-page shops, where the shopper switches variant without a reload, there must be one canonical URL for the whole group, usually the base URL, and each variant must be preselectable through its own URL. Fragments such as #black do not work, because Google does not use fragment identifiers in indexing. Our article on how Google picks a canonical URL explains why a canonical is a hint, not an instruction.
Keep the markup and the page telling the same story
The general structured data guidelines say not to mark up content that is not visible to readers of the page. Our reading, applied to a shop: the name, price and availability in the markup should be the ones a shopper sees on that page.
Google’s documentation sets no tolerance for price or stock differences between page and markup, and we claim none. It does say that dynamically generated Product markup can make Shopping crawls less frequent and less reliable, which matters for fast-changing price and availability, and recommends Product markup in the initial HTML. A Merchant Center feed is a second route: providing both markup and a feed maximises eligibility and helps Google verify your data, and product snippets may use feed pricing when the page markup lacks it.
Category pages, links and what the documentation does not promise
Google’s guide to ecommerce site structure says Google weighs links between pages, not URL structure, to judge relative importance. It suggests links from menus to categories, from categories to sub-categories and on to every product. If categories do not link to all products, Googlebot might not find them, since it generally does not use a search box. Use <a href> links, not JavaScript events, and a sitemap or Merchant Center feed where you cannot link to everything. Long category lists raise the pagination question, covered in our article on paginated hubs.
Two URL points: add descriptive words, as in /product/black-t-shirt-with-a-white-collar rather than /product/3243, and do not link internally to session IDs or tracking parameters. On limits: none of these pages makes a ranking claim for product markup, and we make none. Google says that if you use a CMS, a plugin integrated into it may be the easier route, so check what yours outputs. Our structured data article covers the general position.
A launch and review check for a small shop
A routine we would use, as our reading rather than a Google procedure: view the source of one product page; find the Product markup; compare name, price, currency and availability with the page; open a variant URL and a category page and check canonicals and links; then run a few pages through Google’s Rich Results Test and the Search Console URL Inspection tool. Our launch article covers the wider basics, and a script-built shop needs the titles, canonicals and status codes checked in the rendered page.
Where this fits at Cultured Digital: shops and structured data
Cultured Digital is an independent technical SEO consultancy, and ecommerce sites are among those we work with. Product markup sits under structured data and entities, which covers schema design and validation, and URLs and navigation under architecture. Our web development work puts logical, stable URLs and structured data designed with the content model into the build. We do not promise rankings; we set out the evidence and measure against it. See our technical SEO service, or the Learn guide on checking a product page for product structured data.
Further reading on product pages and shop structure
- Google Search Central: Introduction to Product structured data
- Google Search Central: Merchant listing structured data
- Google Search Central: Product snippet structured data
- Google Search Central: Product variant structured data
- Google Search Central: Designing a URL structure for ecommerce websites
- Google Search Central: General structured data guidelines
- Google Search Central: Help Google understand your ecommerce site structure
