Validate product structured data with Google’s Rich Results Test and URL Inspection

Run the Rich Results Test and Search Console’s URL Inspection (live test) to confirm your product page is eligible and fetchable, map exact errors to the Product spec, and re-test after fixes.

If you’ve added Product structured data but don’t see rich features in search, don’t assume the markup is the problem — check two things first: (1) whether the structured data is eligible according to Google’s schema rules, and (2) whether Googlebot can fetch and parse the updated page. Start with the Rich Results Test and follow up with Search Console’s URL Inspection live test. That sequence finds the exact messages you need to fix and confirms Googlebot can read your changes.

Contents

1. Run the Rich Results Test on a representative product page

Open Google’s Rich Results Test and paste the product page URL or use the Test Live URL option to evaluate what Google currently sees. The tool reports parsed structured data items and lists any Errors or Warnings. Save or copy the exact messages the tool shows — they’re your troubleshooting checklist. Google’s documentation explains when to use the Rich Results Test and how it differs from other validators: Structured Data testing tools.

2. Understand errors vs warnings (act on errors first)

Google treats errors as blockers for eligibility for that rich result type; warnings flag missing recommended or optional fields that don’t block eligibility. For Product rich results, confirm which properties are required for eligibility on Google’s Product guidance page — for example, Product markup generally needs a name and at least one of certain supporting items (offers/review/aggregateRating) depending on the specific snippet type. Read the Product guidance: Product structured data.

3. Map each Rich Results Test message to the Product markup spec

Take every exact error or warning text from the Rich Results Test and look it up in the Product docs (or the general structured-data page) to identify which JSON‑LD property or format is missing or invalid. Common examples you’ll see and where to check:

Rich Results Test message What it usually means
Missing field “offers” The Product item needs an offers block (or another supported property). Check Product documentation for required formats (price, currency, availability).
Invalid value for price Price must be a number or correctly formatted string in the offers object; confirm currency and numeric format per the examples in Google’s guide.
Missing recommended field “image” (warning) Image is recommended and helps eligibility for some rich features; it won’t block eligibility but you should add it where possible.

Use Google’s structured-data reference to confirm the exact property names and example JSON‑LD shapes: Structured Data docs and the Product page above.

4. Edit the page and re-run the live tests

Make server-side edits (don’t rely on client-side injection unless the HTML served to Googlebot contains the markup). After you deploy, use the Rich Results Test’s Test Live URL or the Rich Results Test with the live option to confirm the new output. That checks the actual HTML that Googlebot would fetch right now. Google advises using the testing tool alongside Search Console for confirmation: Product snippet testing advice.

Quick copyable audit note (paste into your bug tracker or support ticket)
URL: https://example.com/product/sku-123
Date: 2026-09-25
Rich Results Test messages (exact copy):
- Error: Missing field "offers"
- Warning: Missing recommended field "image"
Action taken: Added offers block with price, currency, availability; uploaded 2 product images and added image URLs to JSON‑LD
Retest: (fill after running Test Live URL)

5. Use Search Console’s URL Inspection to check fetchability & request indexing

After the live test looks correct, open Search Console’s URL Inspection for that exact page. The tool shows whether Google can fetch the page, the last crawl status, and whether structured data was detected in the crawl. Use the Test Live URL within URL Inspection to check how Googlebot fetches the page right now and whether the structured data is visible to Googlebot. Only request indexing after the Test Live URL confirms the page is fetchable and the structured data appears as expected. See Google’s URL Inspection documentation: URL Inspection tool.

6. Use Search Console structured-data reports to find patterns

Search Console’s Rich results / Structured data report can highlight site-wide issues and sample item counts, but treat it as a sampled view — it won’t necessarily list every page or every problem. Use the report to find recurring errors, then inspect representative pages with the URL Inspection tool. Google explains these reports and their sampling nature here: Structured data and rich results report.

7. Sampling, a worked example and next actions

Imagine one product page shows an error: Missing field “offers”. You check your template and discover the offers block is only output when a product has a visible price; a few products without price (e.g., request-quote items) thus omitted the offers JSON‑LD. The fix is to ensure the template always emits a minimal offers object (price or priceSpecification, currency, availability) when the product is intended to be eligible — or to avoid marking pages as Product when they’re not for sale.

An observable check you can run right away:

  1. Run Rich Results Test (live mode) and copy the exact messages.
  2. Map each message to the Product docs and update your template or JSON‑LD accordingly (see the Product doc above).
  3. Deploy the change to a test URL or your live page and run Test Live URL in the Rich Results Test.
  4. Open Search Console → URL Inspection → Test Live URL. Confirm the page is fetchable, structured data is detected, and no blocking server errors occur. Then request indexing if everything looks correct.

Keep a short log of the page URLs you tested, the exact messages you saw, what you changed, and the retest outcome. Repeat this on a sample of products (best: representative SKUs with different templates or sale states) rather than one page only.

Cautions: Passing the Rich Results Test or having structured data detected in Search Console makes a page eligible for rich results; it does not guarantee Google will show a rich snippet or when that will happen. Also remember Search Console reports are sampled and not a complete inventory — inspect representative pages individually.

Practical next action: choose three representative product pages (one regular product, one product with variations, one product without a visible price). Run the Rich Results Test (live) for each, copy exact error messages into the audit note above, fix the template or markup, then use URL Inspection’s Test Live URL to confirm fetchability before requesting indexing.

Related guides: Add the product structured data search engines expect (WooCommerce) and AI search readiness: what small shops should check first.