Real run

Schema Markup Gap Checker

Sample 1 · 2026-10-29 · Grok Bot executor subagent (model family not disclosed)

Bot page

Parse result

  • The JSON-LD parses: yes (checked by script). No syntax errors.
  • @context https://schema.org, @type Product. This matches the page type you gave.
  • Property list sources: Google Search Central, "Product snippet structured data", https://developers.google.com/search/docs/appearance/structured-data/product-snippet, and "Review snippet structured data", https://developers.google.com/search/docs/appearance/structured-data/review-snippet, both opened 2026-10-29.
  • Review stars check: this is a Product page with a nested aggregateRating, so the self-serving rule for LocalBusiness and Organization pages does not apply. The rating must be visible on the page, and it is (4.6 from 212 reviews).

Property check table

Status per the doc: Product requires name, plus one of review, aggregateRating or offers. Inside Offer, price is required, while availability, priceCurrency and priceValidUntil are recommended. The doc says priceCurrency is required for merchant listing experiences and is best always provided. Inside AggregateRating, the review snippet doc requires ratingValue plus at least one of ratingCount or reviewCount; bestRating is recommended and defaults to 5.

Property Doc status In markup Markup value Visible on page Match
name Required Present Titanium Pot 900 ml Titanium Pot 900 ml Yes
aggregateRating / offers (one of) Required Both present n/a n/a Yes
aggregateRating.ratingValue Required (review snippet doc) Present 4.6 4.6 Yes
aggregateRating.reviewCount Required: ratingCount or reviewCount (review snippet doc) Present 198 212 reviews No
offers.price Required in Offer Present 49.00 $54.00 No
offers.priceCurrency Recommended (required for merchant listings) Missing none USD Missing
offers.availability Recommended Present https://schema.org/InStock In stock Yes
offers.priceValidUntil Recommended, "if applicable" Missing none Not shown Left out: no visible date
aggregateRating.bestRating Recommended, 5 assumed if left out Missing none Scale not shown Left out: 5 point default fits 4.6
sku Not listed in the product snippet doc Present TK-900 TK-900 Yes
brand Not listed in the product snippet doc Present Trail Kettle Trail Kettle Yes

Markup versus page mismatches

  1. offers.price: the markup says 49.00, but the page shows $54.00. The visible price wins, so the corrected block uses 54.00. If $49 is a sale price shown somewhere on the page, tell me and I will reflect it instead.
  2. aggregateRating.reviewCount: the markup says 198, but the page shows 212 reviews. The corrected block uses 212. If the count comes from a review app feed, the feed and the page template should read from the same source so they stop drifting apart.
  3. offers.priceCurrency: missing. The page shows USD, so the corrected block adds "USD". This value comes from your visible facts, not a guess.

Corrected JSON-LD

Parses: yes (checked by script).

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Titanium Pot 900 ml",
  "sku": "TK-900",
  "brand": {"@type": "Brand", "name": "Trail Kettle"},
  "aggregateRating": {"@type": "AggregateRating", "ratingValue": "4.6", "reviewCount": "212"},
  "offers": {
    "@type": "Offer",
    "price": "54.00",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock"
  }
}

Not added: priceValidUntil, image, description and review. None of these values were in your visible facts. If the page shows a product image or description, send them and I will add them.

Test steps

  1. Paste the corrected block, or the updated URL https://trailkettle.example/products/ti-pot-900, into https://search.google.com/test/rich-results and fix any critical errors it reports.
  2. Check Schema.org syntax at https://validator.schema.org/.
  3. Deploy, then use URL Inspection in Google Search Console on the live URL and request indexing.
  4. Watch the Merchant listings and Product snippets reports in Search Console for this URL. Valid markup makes the page eligible for a rich result. It does not mean one will be shown.

Needs your decision

  • Approve the corrected block before it is deployed.
  • Confirm $54.00 is the current price and 212 is the current review count shown on the page.