Creating “Product” Schema Markup

Schema Markup

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 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 like they do in the following example for Keen Footwear:

KEEN Women's Targhee Waterproof Hiking Boots Review Snippets

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” 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

https://schema.org/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 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 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.

Product Schema Markup Visual

 

The required and recommended properties for the Review, AggregateRating and Offer data items are as follows:

Review

https://schema.org/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

https://schema.org/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: 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: Structured Data Guidelines for Product Structured Data

Check that your markup follows Google’s structured data guidelines

Step Three: Deployment for Product Structured Data

Deploy your markup. Google recommends using JSON-LD, which is also our favorite format for deployment!

Step Four: Validation for Product Structured Data

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 here.

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 here.

How to Test Product Schema Markup

Schema Markup Validator

The Schema Markup Validator (SMV) was modeled 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.

Schema Markup Validator Screenshot

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.

Rich Result Test

Frequently Asked Questions about Product Schema Markup

What is Product schema markup?

Product schema markup is basically 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 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?

  1. Add all of the required Product schema.org properties to your individual product pages. Google recommends using JSON-LD, as do we!
  2.  Validate your structured data markup using Google’s Rich Results Testing Tool.
  3. Deploy your structured data markup, and use the Schema Markup Validator to analyze your schema.org syntax for any errors.
  4. 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.

 

Jasmine Drudge-Willson is a Customer Success Manager at Schema App. Prior to this position, she worked as a research assistant tackling time, space, and identity representation in the development of a semantic web ontology for the Canadian Writing Research Collaboratory (University of Guelph). This work extended to the Revue 2.0 project (Université de Montréal) which addressed the role of ontologies in digital scholarly publishing environments. Her internship at Huma-Num—a very large research infrastructure project in Paris, France—solidified her passion for finding a balance between usability and ethical responsibility in cyberinfrastructure development.

Menu