Creating "Product" Schema Markup Using the Schema App Highlighter

Creating “Product” Schema Markup Using the Schema App Highlighter

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!

 A Product Rich Results for a Keen Hiking Boot

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

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

A graph of the required fields for Product markup to be eligible for Rich Results in search

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 Date: 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 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.

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.

Product Markup

Create a Product template 

The first step is to create a Product template. In the Highlighter, click “Create Template” or “New Template”.

Create a new template

Copy and paste the URL of a product page into the URL field. Select the Product class, and click “Load Page”.

Inser a URL, 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”.

Select the name element and assign the name property to it.

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.

Select and image.

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.

Select a filter.

TIP! More filters can be added by clicking “+Add Filter” .

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.

Add a fixed 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.

Add the item availability as a fixed 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

 

TIP! Be sure to markup aggregateRating and review properties if they exist on your product page.

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.

Add a brand.

 

TIP! In this case there’s no need to select a class since the data item you’re linking too has already been classed as either a Brand or an Organization.

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.

TIP! If you’re unable to select an element, you may need to use a manual xpath. For more information, see our Highlighter Training document, or contact us at support@shemaapp.com

Testing Your Markup

Structured Data Testing Tool

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. 


View JSON LD and Test with Google

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. 

, , , , ,
Previous Post
Creating “Review” Schema Markup Using the Schema App Editor
Next Post
How to: Enhanced Analytics – Core Reports

Menu