Adding Schema Markup to your Product pages will make them eligible for rich results in search, increasing visibility and engagement with the right users. Structured data markup helps eCommerce websites in two ways.
Firstly, Schema Markup creates the context for the content on your web pages so search engines can better understand and match your products with a user’s search intent. For example, if your eCommerce store sells vegan snacks and alternatives, your structured data markup informs Google that these snacks are products for sale and that it’s not, for example, a blog post about the best vegan alternatives to snack on.
Secondly, structured data markup enhances how your store and products appear in search engine page results. These enhancements are called rich results, formerly called rich snippets, and they can include star ratings, reviews, price, availability, and much more! You’re probably familiar with star ratings and reviews, as they really stand out in search results as they do in the following example for Keen Footwear.
Currently, product rich results only support pages that focus on a single product, which means that you can’t create product markup on a category level.
Before You Begin
Structured data has benefits that extend beyond achieving rich snippets for your products and services in search results. Through Schema Markup, you can define objects on your web pages as distinct entities with their own properties and relationships to other entities. Once defined, you can connect these entities to a search engine’s knowledge graph, which streamlines your content to be matched with a relevant search query.
Required and Recommended Properties for Product Schema Markup
Google maintains documentation explaining what is required for “Product” Schema Markup. We’ve captured the required and recommended fields below. You must populate the required properties in order for your content to be eligible for display as a rich result in search. Recommended properties add more information to your structured data, which can provide a better user experience.
Product
Schema Property | Priority | Mapping Notes |
image | Required | ImageObject or URL: A picture clearly showing the projecty. Must be in .jpg, .png, or. gif format. |
name | Required | Text: The name of the product. |
Either review or aggregateRating or offers | Required | Review, Aggregate Rating, or Offer: Once you include a review or aggregateRating or offers, the other two properties become recommended in the Rich Results Test. |
brand | Recommended | Brand or Organization: The brand of the product. |
description | Recommended | Text: The product description. |
gtin8 | gtin13 | gtin14 | mpn | isbn | Recommended | Text: Include all applicable global identifiers as described in schema.org/Product |
sku | Recommended | Text: The merchant-specific identifier for the product. |
It’s important to note that Product Schema Markup requires only one of the following properties:
- Review
- aggregateRating
- Offers
Once one of these has been fulfilled, the remaining properties will become recommended rather than required. That being said, it is always best to markup all three properties as they can provide more information in the rich result.
💡 TIP! Add Review, aggregateRating, and Offers properties to provide more information in the rich results.
We created the following visual to help conceptualize the structure of Product Schema Markup. With Product as the starting point, the required properties are used to connect to information in the form of text, URLs, or other data items containing their own properties.
The required and recommended properties for the Review, AggregateRating, and Offer data items are as follows:
Review
Schema Property | Priority | Mapping Notes |
author | Required | Person/Organization: The author of the review. The reviewer’s name must be a valid name. |
reviewRating | Required | Rating: The rating given in this review. |
reviewRating, ratingValue | Required | Number/Text: a numerical quality rating for the item, either a number, fraction, or percentage. |
datePublished | Recommended | The date that the review was published, in ISO 8601 date format. |
reviewRating, bestRating** | Recommended | Number: the highest value allowed in this rating system. |
reviewRating, worstRating** | Recommended | Number: The lowest value allowed in this rating system. |
AggregateRating
https://schema.org/AggregateRating
Schema Property | Priority | Mapping Notes |
ratingCount* | Required | Number: Specifies the number of people who provided a review with or without an accompanying rating. |
reviewCount* | Required | Number: Specifies the number of people who provided a review with or without an accompanying rating. |
ratingValue | Required | Number/Text: a numerical quality rating for the item, either a number, fraction, or percentage. |
bestRating** | Recommended | Number: the highest value allowed in this rating system. |
worstRating** | Recommended | Number: The lowest value allowed in this rating system. |
*Note: at least one of ratingCount or reviewCount is required.
**Note: only required if the rating system is not a 5-point scale (1 = worst rating, 5 = best rating)
Offer
Schema Property | Priority | Mapping Notes |
availability | Required | ItemAvailability: The possible product availability options. This should be expressed using the URL of an ItemAvailability enumeration from schema.org, for example https://schema.org/InStock or https://schema.org/OutOfStock. |
price | Required | Number: The offer price of a product. Utilize a period to indicate a decimal point, and ensure no ambiguous symbols are used, such as “$”. |
priceCurrency | Required | Text: The currency used to describe the product price, in three-letter ISO 4217 format (e.g. USD for US Dollars). |
priceValidUntil | Recommended | Text: Date: The date (in ISO 8601 date format) after which the price will no longer be available. |
💡 TIP! While itemReviewed is required for standalone Review and AggregateRating data items, these should not be used when embedded within the Product template.
FYI: For the most current guidelines on required and recommended fields, reference the Google Developers Reference Guide.
How to Create Product Structured Data
There are two types of pages where you would typically create Product Schema Markup: a product page listing a single product, and a shopping aggregate page listing a single product with information from other sellers offering that product. Learn more in Google’s Product structured data documentation.
To help you get started, we put together the fundamental steps for creating Product Schema Markup:
Step One: Add Required Properties for Product Structured Data
Add the required schema.org properties for Product structured data markup using our reference above. We recommend our own tools, the Schema App Editor and Schema App Highlighter, but there are many different options out there.
Step Two: Review your Product Structured Data to ensure it follows Google’s Structured Data Guidelines
Check that your markup follows Google’s structured data guidelines.
Step Three: Deploy your Product Structured Data to the relevant pages
Deploy your markup. Google recommends using JSON-LD, which is also our favourite format for deployment!
Step Four: Validate your pages to make sure the Structured Data is working
Test that your Schema Markup is working using Google’s Rich Results Testing Tool and the Schema Markup Validator, which has officially replaced Google’s Structured Data Testing Tool. Read more about this change in our news post.
This short video demonstrates the basics of creating a Product template.
For detailed step-by-step tutorial for creating Product Schema Markup using the Schema App Highlighter, see our Knowledge Base article.
How to Test Product Schema Markup
Using the Schema Markup Validator
The Schema Markup Validator (SMV) was modelled after and has officially replaced Google’s Structured Data Testing Tool (SDTT). Many SEOs still prefer the SDTT, as the SMV only validates your schema.org syntax and does not show your eligibility for rich results.
Using the Rich Results Testing Tool
Google’s Rich Results Testing Tool helps you to see which rich results can be generated by the structured data it contains.
Frequently Asked Questions about Product Schema Markup
What is Product Schema?
Product Schema Markup is basically a code you can add to the backend of your website so that search engines can provide additional information about your products in search through enhanced features like product rich results. Schema Markup is a structured data vocabulary that uses the properties and types defined at schema.org, a resource for SEOs created by Google, Microsoft, Yandex, and Yahoo! back in 2014.
How do you create Product Schema Markup?
- Add all of the required Product schema.org properties to your individual product pages. Google recommends using JSON-LD, as do we!
- Validate your structured data markup using Google’s Rich Results Testing Tool.
- Deploy your structured data markup, and use the Schema Markup Validator to analyze your schema.org syntax for any errors.
- Request that Google recrawls your newly marked up web page using Google Search Console.
How to fix Product Schema Markup errors?
Product Schema Markup can seem a little complex because of three errors you will commonly see for this type of structured data: “offers”, “reviews”, and “aggregate rating” showing up as ‘either “offers”, “review”, or “aggregateRating” should be specified’. To fix this error, you’ll need to use these three schemas in your Product markup. Product structured data requires including either “offers”, “reviews”, or “aggregateRating” in your Schema Markup.
Once one of these has been fulfilled, the remaining properties will become recommended rather than required. It is always best to markup all three properties as they can provide more information in the rich result. Learn more about how to tell if your Schema Markup is working in our guide.
What is SKU in Product Schema Markup?
SKU stands for “stock keeping units”. This is a recommended property for Product Schema Markup, but if your eCommerce store does not use stock-keeping units for their inventory, then you do not need to include this property in your markup. You should only mark up content that is visible on the page, so while we advice including as many recommended properties as possible to make your Schema Markup as robust as it can be, it’s not always an option.
We help you think beyond the product rich result. Through the powerful combination of our structured data expertise and advanced SaaS technology, we empower your digital team to be more agile and effective in their search engine optimization.
We’ve helped some of the biggest eCommerce brands, including Keen Footwear, Home Hardware, and Ariat, become leaders in the online shopping industry by showcasing their unique value in search with structured data.
Set up a call with our technical experts today.
Martha van Berkel is the co-founder and CEO of Schema App, an end-to-end Schema Markup solution provider based in Guelph, Ontario. She focuses on helping SEO teams globally understand the value of Schema Markup and how they can leverage Schema Markup to boost their SEO strategy and drive results.
Prior to Schema App, Martha was a Senior Manager at Cisco Systems for 14 years responsible for the global online support strategy. She has a degree in Applied Mathematics and Engineering, attended MIT for Innovation and Strategy, is a Mom of two, as well as an avid rower.