LIVE|PRODUCT SCHEMA|v.1

Rich Result & AI Citation Eligibility

Get Rich-Result Eligible for Product

Always-on monitoring of your Product schema. Sentry catches missing required properties, recommended gaps, and validation errors before they cost you the Product rich result, Google Shopping eligibility, and citations from Rufus and Perplexity. Cortex handles the fix.

sentry.product-schema.live● 10/14 propertiesJSON-LD
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Pilates Reformer M1",
"image": "4 images",
"description": "214 chars",
"brand": "Brand object",
"offers": {
"price": 1899.00,
"priceCurrency": "USD",
"availability": "InStock",
"itemCondition": "...",!required for Merchant
"hasMerchantReturnPolicy": "..."!required for Merchant rich result
},
"aggregateRating": "...",!recommended for stars
"sku": ""required by Merchant Center
}
Schema Optimization

Continuous Product Schema Monitoring

Continuous audits of your Product schema against the 14 things that decide Product rich-result eligibility, Google Merchant Listing inclusion, and Rufus / Perplexity citation depth. Each rule maps to a primary Google Search Central spec for Product Snippets and Merchant Listings. Sentry catches what fails. Cortex fixes it.

RULE · 1

name_present

Product `name` set

The Product `name` property is present and non-empty. Per Google: the only strictly required Product property; missing `name` disqualifies the page from any Product rich result.

RULE · 2

offer_or_rating_or_review

At least one of offers / aggregateRating / review

Per Google verbatim: 'Product snippets require either review or aggregateRating or offers.' Sentry confirms at least one of these blocks is present at the Product top level.

RULE · 3

offer_has_price

Offer has price

If `offers` is present, the nested `Offer.price` (or `priceSpecification.price`) is a valid number. AggregateOffer requires `lowPrice` instead. Missing price disqualifies the Offer from rich-result snippets.

RULE · 4

priceCurrency_iso4217

priceCurrency in ISO 4217

`priceCurrency` is a 3-letter ISO 4217 code (USD, EUR, GBP, JPY, etc.). Required strictly by AggregateOffer and Merchant Listings; recommended by Product Snippets. Without it, price display is suppressed in many markets.

RULE · 5

page_type_eligible

Page is single-product

Per Google: 'Currently, product rich results only support pages that focus on a single product (or multiple variants of the same product).' Listing and category pages are explicitly not eligible.

RULE · 6

product_identifier

Product identifier present (sku / gtin / mpn)

At least one of `sku`, `gtin` (`gtin8` / `gtin12` / `gtin13` / `gtin14`), or `mpn` is present. Per Google: 'we strongly recommend providing one of these.' Required for Google Merchant Center; used by Rufus and Perplexity for cross-site product matching.

RULE · 7

aggregaterating_complete

AggregateRating has ratingValue + reviewCount

If `aggregateRating` is present, it includes both `ratingValue` AND `reviewCount`. Missing either suppresses star-rating display in SERPs.

RULE · 8

review_complete

Review has rating + author

If `review` is present, it includes `reviewRating.ratingValue` AND `author` (Person or Organization) with a valid name. Per Google: 'the reviewer's name must be a valid name.'

RULE · 9

image_array

image[] with high-quality URLs

Product `image` field contains at least one absolute URL pointing to a high-resolution image of the product. Required for Merchant Listings; strongly recommended for Product Snippets.

RULE · 10

description_present

description is substantive

Product `description` field is present with substantive text describing what the product is and what makes it different. Used by AI engines and Rufus to compose answer summaries.

RULE · 11

brand_present

brand with name

Product `brand` field is present and includes at least a `name`. Required for Merchant Listings; strongly recommended for entity recognition and brand SERP enrichment.

RULE · 12

availability_set

availability set to ItemAvailability

`offers.availability` is set to a valid ItemAvailability enum (e.g., `InStock`, `OutOfStock`, `PreOrder`, `Discontinued`). Drives the 'In stock' / 'Out of stock' badge in SERP; required for Merchant Listings.

RULE · 13

itemCondition_set

itemCondition set

`offers.itemCondition` is set to a valid OfferItemCondition enum (`NewCondition`, `UsedCondition`, `RefurbishedCondition`, or `DamagedCondition`). Required for Google Merchant Center; missing implies New but blocks the richest Merchant appearance.

RULE · 14

hasMerchantReturnPolicy

hasMerchantReturnPolicy set

`offers.hasMerchantReturnPolicy` is a `MerchantReturnPolicy` with at least `applicableCountry`, `returnPolicyCategory`, and `merchantReturnDays` (when applicable). Made required by Google in 2024 for Merchant rich-result eligibility.

Schema Markup Accessibility

Free Product Schema Checker

Paste your product-page URL. Sentry fetches the page, parses the JSON-LD, validates against Google's Product Snippet and Merchant Listing specs, and ships a per-rule report. No signup, instant results, always free.

Comprehensive auditInstant resultsCompletely free
Instant

Audit in under a minute

Sentry fetches your page, parses the product schema markup, runs every rule, and renders the full result page before your next sip of coffee.

Actionable

Every failure gets a fix

Each failed rule ships with a prescription paragraph. Hand it to engineering and the gap is closed before lunch.

Ongoing

Locked in for the long haul

Add your site to the daily Sentry sweep with one click. New regressions get caught the next morning.

14 rules in the PRODUCT SCHEMA Sentry. Daily 3:30 AM ET sweep.

Optimize for Rich Results

Stop Guessing. Start Seeing. Get Cortex.

One brain. Thirty-six pairs of eyes. Sentries monitor every visibility signal that decides whether search engines, AI engines, and ad platforms show you. Cortex reads what they see, weighs it against a unified corpus of platform documentation, and acts. Every move follows a defined decision protocol: action stated, reason given, impact named.

250
Ranking signals
30
Sentries
60
Platforms
Daily
Always-on
llms.txtai-citationsai-crawlersbrand-pulsetitle-tagsmeta-descstructuredsitemapcore-vitalspage-speedaccessibilitydomain-agehttpsaboutauthorsbacklinksmentionsreviewsinternalgbpnapyelptrusthelpfultopicalfirst-handcronavboostfreshnesshreflangimage-seopage-qualitycanniballlm-outputtrackingssl-tlsCORTEXdecision engine