Skip to content
metryn

Product pages that search and AI systems can read

What Google's own documentation asks of a product page: required markup, one product per page, the price rules, and why markup belongs in the initial HTML.

By Metryn · Updated 16 October 2026 · 4 min read

A product page has two audiences that behave differently. A shopper looks at the photo and the price. A crawler needs the same facts in a form it can parse without guessing. When those drift apart, you get listings with the wrong price, missing availability, or no listing at all.

Snippets versus merchant listings

Google separates two kinds of Product markup. Product snippets are for pages where people can't buy directly, like reviews. Merchant listings are for pages where they can, and they allow more detail such as shipping and return information. Its documentation also says that marking up the required merchant listing properties can make a page eligible for snippets too.

What a merchant listing needs

PropertyStatus in Google's docsRule worth knowing
nameRequiredThe product name
imageRequiredMust be crawlable and indexable
offers.priceRequiredMust be greater than zero for merchant listings
offers.priceCurrencyRequiredThree-letter ISO 4217 code
offers.availabilityRecommendedKeep it in step with the real stock status
gtin, brand, skuRecommendedUse the most specific GTIN that applies; one brand name
shippingDetails, hasMerchantReturnPolicyRecommendedGoogle suggests a site-wide return policy under Organization

Two details catch stores out. First, the merchant has to be the seller: pages that send the shopper to another seller aren't eligible for merchant listings. Second, a past priceValidUntil date can stop the listing from showing, which is easy to trigger with a sale that someone forgot to remove.

One product per page

Google says Product rich results support pages that focus on a single product, or variants of the same product. A category page that lists forty products isn't a good place for Product markup on each of them. Put the markup on the product pages, and let the category page be a normal, well-linked list.

Put the markup in the first response

Google's merchant listing documentation recommends including Product markup in the initial HTML, and notes that markup generated with JavaScript can make shopping crawls less frequent and less reliable. If your theme or app injects JSON-LD after load, it's worth checking whether it's present in the raw HTML response. View source, not the inspector, is the quick test.

Keep markup and page honest with each other

Google's AI features documentation repeats a point that applies here: structured data should match the visible text of the page. A price in the markup that doesn't match the price on screen is worse than no markup. If you also use a Merchant Center feed, Google says combining page markup and a feed maximizes eligibility, so keep both sources telling the same story.

Questions people ask

Do I need a Merchant Center feed as well as markup?

Google says that using both page markup and a Merchant Center feed maximizes eligibility, and that some experiences combine data from both. If you only have one, markup on the page is the one that also helps everything else that reads the page.

What if my price changes often?

Then the markup has to change with it. A price in the markup that doesn't match the visible price is worse than no markup, and an expired priceValidUntil can stop a listing from showing.

Can I mark up a product I don't sell myself?

Not for merchant listings. Google says the merchant has to be the seller of the product, and that pages that link to other sellers aren't eligible. Those pages can still use product snippets.

Do category pages need Product markup?

Google says Product results support pages focused on a single product or its variants, and that category and listing pages aren't suitable for it.

What to do this week

  • View the source of your best-selling product page and find the JSON-LD.
  • Check price, currency and availability against the visible page.
  • Add gtin and brand where you have them.
  • Add a site-wide return policy under Organization.

Check your own site

Paste your address below. The free scan looks at robots.txt, your sitemap, access for the main AI crawlers and structured data, and shows what it found in seconds. It tells you what a machine can fetch and read. It doesn't predict rankings or citations.

Free scan · No account needed · Results in seconds

Sources

Running a store? See Metryn for online stores for what the scan checks and the other guides written for store owners.

Want to check one file yourself? Try the free AI crawler robots.txt checker or the llms.txt validator, or read how the score is built.