Adding schema markup to your Product pages will make them eligible for rich results in search, increasing visibility and engagement with the right users. However, manually adding markup to your product pages can be time consuming, especially if they number in the hundreds or thousands. Fortunately, our Highlighter tool enables you to create one template to deploy Product schema markup across all of your Product pages quickly and at scale!
Before You Begin
Required and Recommended Properties
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
Schema Property: image
Priority: Required
Mapping Notes: ImageObject or URL: A picture clearly showing the projecty. Must be in .jpg, .png, or. gif format.
Schema Property: name
Priority: Required
Mapping Notes: Text: The name of the product.
Schema Property: Either review or aggregateRating or offers
Priority: Required
Mapping Notes: 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.
Schema Property: brand
Priority: Recommended
Mapping Notes: Brand or Organization: The brand of the product.
Schema Property: description
Priority: Recommended
Mapping Notes: Text: The product description.
Schema Property: gtin8 | gtin13 | gtin14 | mpn | isbn
Priority: Recommended
Mapping Notes: Text: Include all applicable global identifiers as described in schema.org/Product
Schema Property: sku
Priority: Recommended
Mapping Notes: 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.
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.
The required and recommended properties for the Review, AggregateRating and Offer data items are as follows:
Review
Schema Property: author
Priority: Required
Mapping Notes: Person/Organization: The author of the review. The reviewer’s name must be a valid name.
Schema Property: reviewRating
Priority: Required
Mapping Notes: Rating: The rating given in this review.
Schema Property: reviewRating, ratingValue
Priority: Required
Mapping Notes: Number/Text: a numerical quality rating for the item, either a number, fraction, or percentage.
Schema Property: datePublished
Priority: Recommended
Mapping Notes: Date: The date that the review was published, in ISO 8601 date format.
Schema Property: reviewRating, bestRating**
Priority: Recommended
Mapping Notes: Number: the highest value allowed in this rating system.
Schema Property: reviewRating, worstRating**
Priority: Recommended
Mapping Notes: Number: The lowest value allowed in this rating system.
AggregateRating
https://schema.org/AggregateRating
Schema Property: ratingCount*
Priority: Required
Mapping Notes: Number: Specifies the number of people who provided a review with or without an accompanying rating.
Schema Property: reviewCount*
Priority: Required
Mapping Notes: Number: Specifies the number of people who provided a review with or without an accompanying rating.
Schema Property: ratingValue
Priority: Required
Mapping Notes: Number/Text: a numerical quality rating for the item, either a number, fraction, or percentage.
Schema Property: bestRating**
Priority: Recommended
Mapping Notes: Number: the highest value allowed in this rating system.
Schema Property: worstRating**
Priority: Recommended
Mapping Notes: 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: availability
Priority: Required
Mapping Notes: 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.
Schema Property: price
Priority: Required
Mapping Notes: Number: The offer price of a product. Utilize a period to indicate a decimal point, and ensure no ambiguous symbols are used, such as "$".
Schema Property: priceCurrency
Priority: Required
Mapping Notes:Text: The currency used to describe the product price, in three-letter ISO 4217 format (e.g. USD for US Dollars).
Schema Property: priceValidUntil
Priority: Recommended
Mapping Notes:Text: Date: The date (in ISO 8601 date format) after which the price will no longer be available.
FYI: For the most current guidelines on required and recommended fields, reference the Google Developers Reference Guide.
Creating Your Template
This short video demonstrates the basics of creating a Product template. Read on for a detailed step-by-step tutorial with screenshots.
[embed]https://www.youtube.com/watch?v=VHuOrfcWtS0[/embed]
Product Markup
Create a Product template
The first step is to create a Product template. In the Highlighter, click "Create Template" or "New Template".
Copy and paste the URL of a product page into the URL field. Select the Product class, and click "Load Page".
Required Properties
name
Once the page is loaded into the Highlighter, select an element on the page and choose which Schema markup property it represents from the "Select property" drop-down menu. Click "Save".
image > Image Object > url
Sometimes schema.org requires further clarification. A schema.org type (aka class) may have properties that can be linked to another class with its own set of properties. For example, marking up an image requires you to use the image property to connect to an ImageObject. This ImageObject will have a url property.
offers > Offer > price
This same strategy is used for marking up properties related to Review, AggregateRating and Offer data items. In order to mark up the price, we must first use the offers property to connect to the Offer class which then allows us to select the price property.
Schema.org's documentation states that ambiguous symbols like "$" should not be included in prices. In order to exclude this from our highlighted content, click "Advanced" > "+ Add Filter", select "After" and insert the "$". This will instruct the Highlighter to only take the pricing information that comes after that symbol.
offers > Offer > priceCurrency
Price currency must be marked up using the 3-letter ISO 4217 code. If the currency does't vary from page to page, it can be be added as a "Fixed Property". Select "Add Fixed Property" and enter the appropriate ISO currency code into the Value field. Select the offers property, the Offer class, and finally, the priceCurrency property.
offers > Offer > availability > Item availability > url
Item availability can also be added as a fixed property. Select "Add Fixed Property", copy the URL of the appropriate schema.org Item Availability Enumeration (listed below) and paste it into the Value field. Select the offers property, the Offer class, the availability property, the ItemAvailability class, and finally, the url property.
- https://schema.org/Discontinued
- https://schema.org/InStock
- https://schema.org/InStoreOnly
- https://schema.org/LimitedAvailability
- https://schema.org/OnlineOnly
- https://schema.org/OutOfStock
- https://schema.org/PreOrder
- https://schema.org/PreSale
- https://schema.org/SoldOut
Recommended Properties
brand > Brand/Organization
When marking up a brand Google will accept text, but linking to a Brand or Organization data item is preferred. The best way to do this is to first create a Brand or Organization data item from within the Schema App Editor. Then, from within the Highlighter, click "Link Existing Data Item", select the brand property, search for the name of the Brand or Organization data item you created and select it.
description/gtin/sku
As with the first properties listed in the tutorial, the description, gtin, and/or sku can likely be highlighted by clicking the element and then selecting the corresponding property.
Testing Your Markup
Structured Data Testing Tool or Schema Markup Validator
To validate your markup before publishing your template, click the "JSON LD" button. It will give you a preview of your markup. From here, click "Test with Google" to view any errors or warnings. This serves as an alert to either correct the markup or to highlight opportunities for adding or modifying content.
Once this is done, save your highlights, create your pageset, review your highlights and summary, and finally, click "Save & Finish".
Deploying Your Markup
If your markup is correct and error-free, ensure that your integration method is set-up and your template has been moved from "Draft" to "Published".
If you see errors (in the SDTT or in your Google Search Console) that you are unsure how to resolve, feel free to reach out to support@schemaapp.com and we will be happy to help out.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article