Required vs recommended schema properties

Every Schema.org type has properties Google treats as mandatory, properties it merely prefers, and an expected format for each. Get one wrong and the rich result quietly never appears — the Rich Results Test says “valid”, and nothing shows up in search. This page lists all of them, in one place, with the reason each one exists.

15 schema types 48 required properties 38 recommended properties Last reviewed September 2026

How to read this. “Required” means Google will not generate the rich result without the property. “Recommended” means the result still works, but is plainer or less competitive. The format column is the one that catches people out — schema.org types like Date, Duration and Number are strictly specified, so a human-readable value is treated as a plain string and discarded.

JobPosting

5 required · 2 recommended · Google documentation

Property Status Why it matters Example
Job title title Required Just the role — do not put location, salary or company in the title field. Senior Backend Engineer
Job description description Required Must be the complete description, in HTML, matching what the page shows.
Date posted datePosted Required ISO 8601 date/time Google uses this to order and expire listings. 2026-03-14
Company name hiringOrganization.name Required The employer. Do not use a job board name here. Acme Ltd
Location or remote flag jobLocation[].address|jobLocationType Required Either a physical address or jobLocationType TELECOMMUTE for fully remote roles.
Valid through validThrough Recommended ISO 8601 date/time Without an expiry your listing can keep showing after the role closes. 2026-06-30
Salary baseSalary.value Recommended Salary is shown prominently and improves click-through where competitors omit it. 120000

Article

4 required · 2 recommended · Google documentation

Property Status Why it matters Example
Headline headline Required The title shown in the result. Keep it under 110 characters or Google may truncate it. How structured data works
Image URL image Required Absolute URL Article rich results need an image. Use at least 1200px wide, absolute URL. https://acme.com/post.jpg
Date published datePublished Required ISO 8601 date/time Google uses this to date the result and judge freshness. 2026-03-14
Author name author.name Required Author is required, and it must be a person or organization name, not a generic label like "Admin". Jane Doe
Date modified dateModified Recommended ISO 8601 date/time Signals the article is maintained. Only set it when the content genuinely changed. 2026-04-02
Publisher name publisher.name Recommended Identifies who published the article alongside the author. Acme Blog

LocalBusiness

4 required · 5 recommended · Google documentation

Property Status Why it matters Example
Business name name Required Must match the name on your storefront and Google Business Profile. Acme Cafe
Street address address.streetAddress Required A LocalBusiness needs a real postal address, not a single free-text line. 12 High Street
City / locality address.addressLocality Required Part of the required PostalAddress. London
Image URL image Required Absolute URL Local results are image-led. Without one you lose the rich presentation. https://acme.com/shop.jpg
Phone number telephone Recommended Strongly recommended, and it should match your Google Business Profile. +442071234567
Country code address.addressCountry Recommended Two-letter country code completes the address. GB
Opening hours openingHoursSpecification Recommended Enables the open/closed indicator. Use the Mon-Fri 09:00-18:00 format so it parses.
Geo coordinates geo.latitude Recommended Number Improves map placement, especially with several branches in one city. 51.5142
Price range priceRange Recommended Shown in local results as a $-$$$$ indicator. $$

Product

4 required · 4 recommended · Google documentation

Property Status Why it matters Example
Product name name Required The product title shown in the result. Acme Wireless Mouse
Image URL image Required Absolute URL Product results are image-led. Without one you get no rich result. https://acme.com/mouse.jpg
Price offers.price|offers.lowPrice Required Number A price is required for a product snippet with pricing. 29.99
Price currency offers.priceCurrency Required ISO 4217 code Price is meaningless without a currency. Use the ISO 4217 code. USD
Availability offers.availability Recommended Tells Google whether the item is buyable. Missing availability weakens merchant eligibility. InStock
Brand brand.name Recommended Helps Google match your product to the same product elsewhere. Acme
GTIN, SKU or MPN gtin8|gtin12|gtin13|gtin14|gtin|sku|mpn Recommended A unique identifier is what lets Google group offers for the same product across sites. 0614141999996
Rating or review aggregateRating.ratingValue|review[].reviewRating.ratingValue Recommended Star ratings are the main visual win for product results. Only mark up genuine reviews. 4.4

VideoObject

4 required · 2 recommended · Google documentation

Property Status Why it matters Example
Video title name Required The title of the video, not the page. How to add schema markup
Description description Required Describes the video. Do not reuse the page meta description verbatim.
Thumbnail URL thumbnailUrl Required Required. Must be a publicly crawlable image, at least 60x30px. https://acme.com/thumb.jpg
Upload date uploadDate Required ISO 8601 date/time ISO 8601, ideally with a timezone offset. 2026-03-14T10:00:00+00:00
Duration duration Recommended ISO 8601 duration ISO 8601 duration. Google shows it on the result. PT2M30S
Content or embed URL contentUrl|embedUrl Recommended Absolute URL Without one of these Google may be unable to fetch and index the video itself. https://acme.com/video.mp4

AggregateRating

3 required · 1 recommended · Google documentation

Property Status Why it matters Example
Item name name Required The thing being rated must be named. Acme Wireless Mouse
Rating value aggregateRating.ratingValue Required Number The average score across all ratings. 4.3
Rating or review count aggregateRating.ratingCount|aggregateRating.reviewCount Required Number Google needs the number of ratings behind the average. 128
Best rating aggregateRating.bestRating Recommended Number Defaults to 5. Set explicitly if you use another scale. 5

Course

3 required · 3 recommended · Google documentation

Property Status Why it matters Example
Course name name Required The course title, without your brand name appended. Technical SEO Fundamentals
Course description description Required Google requires a description for course results.
Provider name provider.name Required The institution or organization offering the course. Acme Academy
Course mode hasCourseInstance[].courseMode|hasCourseInstance.courseMode Recommended Online, Onsite or Blended. Needed for the course list experience. Online
Start date hasCourseInstance[].startDate|hasCourseInstance.startDate Recommended ISO 8601 date/time Lets Google show when the next session begins. 2026-06-01
Price offers.price|hasCourseInstance[].offers.price Recommended Number Include the price, or 0 for free courses. 199.00

Event

3 required · 4 recommended · Google documentation

Property Status Why it matters Example
Event name name Required The event title, without dates or location appended. Dubai Tech Summit 2026
Start date startDate Required ISO 8601 date/time ISO 8601. Include a timezone offset or the time is ambiguous. 2026-06-01T09:00:00+04:00
Location location Required Required for every event: a Place for physical events, a VirtualLocation with a URL for online ones.
End date endDate Recommended ISO 8601 date/time Lets Google show a date range and expire the event correctly. 2026-06-02T18:00:00+04:00
Image URL image Recommended Absolute URL Events with images get a noticeably richer presentation. https://acme.com/event.jpg
Ticket price offers.price|offers[].price Recommended Ticket information is shown directly in event results. 25.00
Description description Recommended Explains the event to users scanning results.

Review

3 required · 2 recommended · Google documentation

Property Status Why it matters Example
Reviewed item name itemReviewed.name Required Google needs to know what is being reviewed. Acme Wireless Mouse
Reviewer name author.name Required Must be a real person or organization. Generic names like "Admin" are rejected. Jane Doe
Rating value reviewRating.ratingValue Required Number The score given. Must sit inside worstRating and bestRating. 4
Best rating reviewRating.bestRating Recommended Number Defaults to 5 if omitted. Set it explicitly if your scale differs. 5
Date published datePublished Recommended ISO 8601 date/time Dates the review and helps Google judge freshness. 2026-03-14

SoftwareApplication

3 required · 4 recommended · Google documentation

Property Status Why it matters Example
App name name Required The application name as published. Acme Task Manager
Application category applicationCategory Required Required. Use a schema.org value such as BusinessApplication or GameApplication. BusinessApplication
Price offers.price Required Number Required — use 0 for a free app.
Price currency offers.priceCurrency Recommended ISO 4217 code Include whenever a price is present. USD
Rating value aggregateRating.ratingValue Recommended Number Software results lean on ratings. Only use genuine user ratings. 4.6
Rating count aggregateRating.ratingCount Recommended Number Required alongside a rating value. 312
Operating system operatingSystem Recommended Tells Google and users where the app runs. Web, iOS, Android

FAQPage

2 required · 0 recommended · Google documentation

Property Status Why it matters Example
At least one question mainEntity[].name Required A FAQPage with no Question entities cannot produce any result. How do I install it?
An answer for every question mainEntity[].acceptedAnswer.text Required Each Question needs an acceptedAnswer or Google drops the entire block. Download the installer and run it.

Organization

2 required · 4 recommended · Google documentation

Property Status Why it matters Example
Organization name name Required The entity name Google associates with your brand. Without it there is nothing to attach to the Knowledge Panel. Acme Ltd
Website URL url Required Absolute URL Identifies which site this organization is. Must be absolute. https://acme.com
Logo URL logo Recommended Required for a logo to appear in Google search features. Use a square image on a transparent or white background. https://acme.com/logo.png
Social profile links sameAs Recommended Confirms the entity by linking official profiles. Strengthens Knowledge Panel matching. https://x.com/acme
Postal address address Recommended Disambiguates organizations sharing a name. Use a PostalAddress, not a single string.
Contact phone contactPoint[].telephone Recommended Lets Google surface a support number and reinforces entity trust. +15551234567

Service

2 required · 4 recommended · Google documentation

Property Status Why it matters Example
Service name name Required What the service is called. Emergency Plumbing
Provider name provider.name Required Who delivers the service. Service markup is not eligible for rich results on its own, but the provider anchors it to your entity. Acme Plumbing
Description description Recommended Explains the service to both users and Google.
Area served areaServed Recommended Defines where you operate — important for local intent. London
Price offers.price Recommended Number Include when pricing is fixed and shown on the page. 99.00
Price currency offers.priceCurrency Recommended ISO 4217 code Required whenever a price is present. GBP

The four mistakes that account for most silent failures

In every one of these cases the JSON parses, the Rich Results Test may report no errors, and the rich result still never appears.

If Google is already reporting a problem with your markup, our companion page decodes every Rich Results Test error — what each message means, why it happens, and the exact fix.

Validity is not eligibility

The Rich Results Test answers one question: is this markup well-formed and complete enough to parse? It does not tell you whether Google will use it. Eligibility also depends on your page's content and quality, and on Google's own policies for the result type — self-serving reviews about your own business, for instance, are valid markup that Google will ignore by design.

Treat a clean validation as the floor, not the goal. Publish the page, confirm it is indexed, then watch the relevant report in Search Console: that is the only place that tells you whether Google actually accepted the markup on the live URL.

Common questions

What is the difference between a required and a recommended property?

A required property is one Google will not produce the rich result without — omit it and the markup is ignored entirely. A recommended property is optional, but its absence usually means a plainer result: no image, no price, no star rating, or a listing that expires late.

Does adding every property guarantee a rich result?

No. Valid markup makes a page eligible. Google still decides whether to show a rich result based on your page content, its quality, and its own policies. Markup that does not match the visible page can be ignored or penalised.

Why do dates and durations have to be in ISO 8601?

Schema.org defines those properties as Date, DateTime and Duration types, which are specified in ISO 8601. A human-readable value such as “2 minutes 30 seconds” is a plain string and fails type validation, so the property is discarded.

Do image and logo URLs have to be absolute?

Yes. Google crawls structured data independently of the page it appeared on, so a relative path like /images/photo.jpg cannot be resolved. Always use a full https:// URL.

How often does this reference change?

It is generated from the same rule set our generators validate against, so the page and the tools can never disagree. When Google changes a requirement we update the rules once and both update together.