Skip to content

Rich results requirements by type

The required and recommended properties Google documents for each rich result, the rules this validator enforces. "Required" means Google says the item is not eligible without it.

TypeRequiredRecommendedStatus
Article / NewsArticle / BlogPosting
Google docs · example
none listedheadlineimagedatePublisheddateModifiedauthoractive
Product (snippet)
Google docs · example
nameone of offersreviewaggregateRatingimagedescriptionbrandskuoffersaggregateRatingreviewactive
Product (merchant listing)
Google docs · example
nameimageoffersdescriptionbrandgtinskuaggregateRatingreviewactive
Offer
Google docs · example
one of pricepriceSpecificationpriceCurrencyavailabilityurlactive
Review
Google docs · example
authorreviewRatingreviewRating.ratingValuedatePublishedactive
AggregateRating
Google docs · example
ratingValueone of ratingCountreviewCount–active
Recipe
Google docs · example
nameimageauthordatePublisheddescriptionrecipeIngredientrecipeInstructionsrecipeYieldprepTimecookTimetotalTimerecipeCategoryrecipeCuisinekeywordsnutrition.caloriesaggregateRatingvideoactive
Event
Google docs · example
namestartDatelocationdescriptionendDateeventStatuseventAttendanceModeimageoffersorganizerperformeractive
LocalBusiness (and subtypes)
Google docs · example
nameaddressurltelephonegeoopeningHoursSpecificationpriceRangeimageactive
Organization
Google docs · example
none listednameurllogosameAsdescriptionaddresscontactPointtelephoneemaillegalNameactive
BreadcrumbList
Google docs · example
itemListElement–active
ListItem (in a breadcrumb)
Google docs · example
positionname–active
VideoObject
Google docs · example
namethumbnailUrluploadDatedescriptioncontentUrlembedUrldurationexpiresinteractionStatisticregionsAllowedactive
JobPosting
Google docs · example
titledescriptiondatePostedhiringOrganizationhiringOrganization.nameone of jobLocationjobLocationTypevalidThroughemploymentTypebaseSalaryidentifierdirectApplyactive
SoftwareApplication
Google docs
nameone of offers.priceoffers.priceSpecificationone of aggregateRatingreviewapplicationCategoryoperatingSystemactive
QAPage
Google docs
mainEntity–active
FAQPage
Google docs · example
mainEntity–retired
Question (in FAQPage)
Google docs · example
nameacceptedAnsweracceptedAnswer.text–retired

Merchant listing requirements also cover shipping and return details in Merchant Center; only the on-page properties are listed. Nested paths such as reviewRating.ratingValue are checked on the nested object.

Three tools, three questions

Google Rich Results TestSchema Markup ValidatorStructuredValidator
Question it answersCan this page earn a Google rich result?Is this valid schema.org?What is wrong, why, and how do I fix it?
Renders JavaScriptYes (Googlebot)Fetches URLNo (server HTML or pasted code)
Types coveredGoogle features onlyAll of schema.orgGoogle features plus common schema.org types
Explains fixesError namesError namesPlain-English fixes, line marks, optional AI rewrite
Final word on Google eligibilityYesNoNo

A practical order: fix syntax and obvious mistakes here while you edit, confirm in the Rich Results Test before publishing, then watch the enhancement reports in Search Console. The Schema Markup Validator is the one to use for types Google has no feature for.

Required isn't the finish line

Google's docs are explicit that meeting the requirements makes a page eligible, and that it does not guarantee a rich result. Markup must also describe content visible on the page and follow the general structured data guidelines: no marking up hidden content, no fake reviews, no misleading prices.

Required vs recommended: flip the properties

This runs the same engine as the validator. Switch properties on and see which rule fires.

Properties
errorProduct snippet: not eligibleMerchant listing: not eligible
  • error Product snippet needs one of: offers, review, aggregateRating
  • warning Product snippet: 7 recommended properties missing
  • warning Merchant listing: 1 recommended property missing
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Trailhead 28L Daypack"
}

Questions

What is the Rich Results Test?

Google's own tool at search.google.com/test/rich-results. It renders a URL or code with Googlebot and reports which Google rich results the page is eligible for. It is the authority for Google features; StructuredValidator is an independent checker that explains problems and tracks the same documented requirements.

Rich Results Test vs Schema Markup Validator: which should I use?

Both, for different questions. The Rich Results Test answers "can this earn a Google feature?". The Schema Markup Validator (validator.schema.org) answers "is this valid schema.org?" for every type, including ones Google ignores.

Why does the Rich Results Test show fewer items than my markup has?

It only reports types that map to a Google feature. An Organization or a WebPage entity is valid but may not appear in its list.

Where do these requirements come from?

Each row links to the Google Search Central documentation page it was taken from. Google updates these pages; the linked page wins if anything here disagrees.