What is schema markup? Is it the same as structured data? How do you add it to your website? Keep reading for the answers to these questions and more, as we cover all things schema-related for SEO and free and paid product listings.
This article primarily covers Google but also applies to other platforms such as Meta, Microsoft, etc. Jump to each schema markup topic using the links below:
- What is Schema Markup?
- Schema Markup Formats
- Recommended Schema Markup for SEO
- How to Add Schema Markup to a Website
- Google Search Console & Schema Markup
- Free & Paid Listings and Structured Data Markup
- Tracking Rich Results in Google Search Console
- Next Steps for Success
What is Schema Markup?
According to schema.org, schema is a vocabulary or language that can be used across the web to identify content. If schema markup is the language, you may be wondering what structured data is and how it’s different. Structured data is simply the data you provide within the schema vocabulary.
Each type of schema has a set of properties that belong to it, and those properties are arranged hierarchically. We’ll review some examples later in this post.
Schema Markup Formats
For search engine spiders to read a website’s schema, the structured data must be encoded using one of three formats: RDFa, Microdata, or JSON-LD.
What Is RDFa?
RDFa stands for Resource Description Framework in Attributes and is a set of attributes added to a website’s HTML to show machine-readable data. A common attribute is “property.”
<span property="dc:creator”>John Smith</span>,
What Is Microdata?
Microdata is another form of structured data. While Google can read and interpret it, it is not considered to be “future-proof,” meaning Google may require a different format in the future, though it doesn’t right now. Like RDFa, microdata is embedded within the HTML of a website using tag attributes to name properties, such as “itemprop.”
<span itemprop="name">John Smith</span>,
What Is JSON-LD?
JSON-LD stands for JavaScript Object Notation for Linked Data and is an easy-to-read-and-write linked data format for machine-readable data. It’s easy to template and easy to update, add, or remove from a website. While Google doesn’t require a specific format right now, John Mueller has stated that Google recommends JSON-LD for structured data. It uses “@context” to display the properties of a subject and how they are related.
"@context": “https://schema.org”,
“@type”: “Person”,
“name”: “John Smith”,
How to Tell Which Schema Markup Format Your Website Uses
To test your website’s structured data markup or to determine which type it’s using, you can use schema.org’s validator tool or Google’s own Rich Results Test. Paste in either a URL or a snippet of code (markup) and the tool will show you what you’re using.
Click on the first row of code on the right to jump to it in the panel on the left. Look for RFDa, Microdata, or JSON-LD. You can also use this tool to troubleshoot or test new structured data to ensure there won’t be any errors before applying to your website.
Alternatively, you can see what kind of markup your website is using simply by inspecting a page with structured data on it. Go to the page > CTRL SHIFT I > CTRL F > type in whichever schema format you would expect to see (RFDa, Microdata, or JSON-LD) to see if it’s there. Note that JSON-LD is sometimes specified as “ld+json” so it may be easiest to CTRL F for “schema” and look a row or two above the first mention of that to determine which format your site is using.
Recommended Schema Markup for SEO
Choosing the type(s) of schema to use depends on your goal.
If you’re seeking more visibility in search engine results pages (SERPs), adding SEO-specific schemas is a good idea. However, if you’re also interested in free and paid listings in Google, you’ll need to incorporate specific schema for that. The types of schema we recommend for SEO are below.
Additional types of schemas can be added for SEO purposes, such as video, FAQ, etc.; however, below are the three primary schemas any ecommerce site should have.
Organization Markup
One common (and recommended) schema type to add to a website is called Organization. Under the Organization schema, you may opt to include some or all the following structured data: brand, address, telephone, image, location, email, “sameAs” options for social media accounts, etc.
The popular outdoorsy site REI.com does a great job implementing some organization markup options. Here is their schema, pulled straight from their website’s HTML:
<script type="application/ld+json">
{
"@context":"http://schema.org",
"@type":"Organization",
"name":"REI",
"url":"https://www.rei.com/",
"logo":"https://satchel.rei.com/media/img/header/rei-co-op-logo-black.svg",
"sameAs":["https://www.facebook.com/REI/","https://twitter.com/REI","https://plus.google.com/+REI","https://instagram.com/rei/","https://www.youtube.com/user/reifindout","https://www.linkedin.com/company/rei","https://www.pinterest.com/reicoop/"],
"contactPoint":{"@type":"ContactPoint","telephone":"+1-800-426-4840","contactType":"customer service"}
}
</script>
A website with a corporate or primary office should also include their street address within Organization markup to show search engines that the site is a legitimate entity with a physical address. We also recommend including email address to show you have valid contact information. Organization markup should only be placed on a website’s homepage or its contact page (but not both). It does not belong on every page of the website.
Breadcrumb Markup
If your website uses breadcrumbs (it should!), we recommend adding breadcrumb markup so SERPs have the option of triggering a relevant breadcrumb trail rather than displaying only your domain name or showing pieces of your URLs beneath the title tag instead. If your URLs aren’t well named or organized, specifying what you want search engines to pull into the breadcrumb trail can help avoid unfortunate or clunky-looking information.
QVC, for example, has not included any structured data on the page below, so Google is pulling in pieces of its URL as the breadcrumb. Unfortunately, this URL is constructed with an unhelpful, long string of letters and numbers towards the end. This, coupled with the lack of a custom-written meta description, could cause users to be weary of the result and skip clicking on it.
Having breadcrumbs show up in SERPs with your organic listing can improve click-through rates. Here’s an example of a website using breadcrumb markup well and what their SERP listing looks like:
See how concise and relevant it is compared to the QVC example?
How you add breadcrumb markup will depend on which markup format you use, but we recommend checking out schema.org’s resource “BreadcrumbList” to get started.
Product Markup
For both organic and paid listings, these are the recommended product structured data elements to consider for your PDPs:
- Name: Name of the product
- Brand: Brand of the product
- URL: Product page URL
- Description: Short description of the product
- Image: URL of an image of the product on the PDP
- Offers: price, priceCurrency, availability, aggregateRating, itemCondition, etc.
- Identifier (GTIN, SKU, etc.)
Review Schema.org’s Product markup recommendations for more information.
How to Add Schema Markup to a Website
If your website is on one of the major ecommerce or blog platforms (Shopify, BigCommerce, Magento, WordPress, etc.), there are apps, plugins, and extensions that can help you add structured data to your site if you’re unfamiliar or unable to add it manually. There also turn-key services that can handle everything for you if you don’t have a developer or marketing team to help.
Google Search Console & Schema Markup
Google Search Console (GSC) can be a great way to diagnose issues with your schema markup. Within the Enhancements section, there are a variety of reports that may show up for your site, including:
- Breadcrumbs: Details issues with your breadcrumb markup
- FAQ: Shows problems with FAQ markup used on your site
- Review snippets: Details invalid items or items that could be improved for ratings and reviews on your product pages
- Sitelinks searchbox: Shows issues with WebSite structured data if it’s present on your site
- Including this structured data qualifies your site to show a search box directly in the SERP where users can search your site. Searching “pinterest” shows an example of this:
- Including this structured data qualifies your site to show a search box directly in the SERP where users can search your site. Searching “pinterest” shows an example of this:
- Videos: Highlights pages on which videos appear and are indexed. Also shows pages where video markup may be incorrect or needing improvement.
Additionally, the Shopping section of GSC has a report for “product snippets” which details issues and improvements for structured data on your product pages (PDPs).
Make a note to check these areas of Google Search Console periodically to ensure your pages are error-free.
Free & Paid Listings and Structured Data Markup
For anyone looking to sell products online (retailers, resellers, brands, etc.), keeping product data such as pricing and availability up to date is an important piece of an eCommerce strategy. Doing so helps to ensure your customers can purchase the products they’re looking for at a price that works for everyone. While pricing and availability are perhaps top of mind for consumers, there are many additional data points related to your products that you should include on your site. Google is concerned with them, and we’re here to help you get on the right track by diving into structured data markup for free and paid listings, and why it’s important.
Where You Need to Include Structured Data
One of the more obvious places to include data points like price and availability is on your product detail pages for consumers to read. It’s also important to include this information in your structured data markup to ensure search engine spiders, like Googlebot, can properly read that data to surface accurate paid ads and free listings for your products. The data you include here should follow one of the outlined formats in the previous section, though Google recommends the use of JSON-LD.
Google’s documentation on product structured data has more than enough information for your developers to implement this on your site, so a high-level overview will do for now. You will need to place a hierarchical JSON snippet on your site that describes various aspects of a given product. For a product page with multiple variants (i.e., configurable products or a product matrix), this might look like the bulleted list below:
Type: Product
Image: yourwebsite.com/imagelink.jpg
Offers (0)
- Type: Offer
- SKU: 12345
- Price: 5.00
- Availability: https://schema.org/InStock
Offers (1)
- Type: Offer
- SKU: 67890
- Price: 10.00
- Availability: https://schema.org/OutOfStock
Specifying data points for each variant on a product page will allow search engines to populate this data in a standard format across their various search results. For example, if you cite a valid ‘Image’ along with other product details, this information can be displayed, along with your product page, in both the Images and Shopping tabs.
Reviews information, shipping rates, product availability dates, and more, are all optional attributes you can add to the structure to make snippets even more informative. While optional, Google continues to utilize this data more and more every day when surfacing products, so we recommend providing as much data as possible. This will help your products perform well across different touchpoints of a customer’s journey.
Why Products Need All This Structured Data
Whether you’re already selling on platforms like Google Shopping or looking to get started, there are several reasons why the structured data of your products should accurately represent key details related to each specific product you offer.
There are many pieces of data that Google cross-references to ensure the product feed and the website are in alignment when Google crawls and compares them. If a discrepancy or mismatch is found, your products can be disapproved, potentially putting your account at risk of suspension until the issue is resolved.
Keeping your products up-to-date on your site and maintaining your product feed data will keep your account active, ensuring your products are eligible to serve listing placements.
Sites that utilize clear structured data markup give Google more information that allows it to better understand the product data and can result in fewer discrepancies, particularly when multiple product variants are included on a product page.
Without structured data markup, Google’s crawlers are forced to rely on information scraped from your product page and the results of this type of crawl can be inaccurate, unreliable, and inconsistent. However, when your page includes strong structured data markup, not only is the crawl more reliable, but there are also features like automatic updates for price and availability (as well as image improvements) within the Google Merchant Center that can override stale feed data and update your final feed attributes to match the information on your site.
The key here is that you have structured data markup included and kept up-to-date for these features to work as intended. Note that if too many items are “automatically updated,” your account can be flagged for a preemptive item disapproval, so it’s important to keep the data in your feed as up to date as possible to avoid crossing Google’s threshold for automatic updates.
What Data Should I Prioritize?
Product data points like price, priceCurrency, availability, sku, and condition are a few of the more common pieces of information that you’ll want to make sure you’re including within the structured data of your products. Outside of these, you’ll also want to include data such as name, brand, description, URL, and image to name a few. A full list of Google’s recommendations for included attributes is included in this Google Merchant Center help article.
Tracking Rich Results in Google Search Console
Once you have structured data markup implemented on your product pages, how will you know if it’s working? The best way is to track rich results traffic in Google Search Console for your website, and this video from Google does a great job of explaining how you can do just that.
If your website is eligible to appear on Product search results, you can use the Search Results report to see impressions, clicks, and other metrics for product rich results. You can find this report under Performance > Search results. Add a Search Appearance filter for Product results to see metrics related to your rich results or click the Search Appearance tab at the top of the table under the graph to see results for Products, Reviews, Videos, and other search appearance enhancements.
Additionally, GSC can notify you of errors and warnings around your implementation of structured data that can affect the ability of these results to be shown at all, so use it as a resource to make sure you’ve implemented the structured data correctly. You can see which pages have errors, which are valid with warnings, and which are valid by using the Product snippets and Merchant listings reports under Shopping.
It’s important to note that “Errors” are problems that need to be fixed and will prevent product rich results from showing at all, while “Valid with Warnings” indicates that there are opportunities for further enhancement, but these warnings will not prevent all rich results from appearing. If you would like to check the structured data on a page, we recommend using validator.schema.org or the Rich Results Testing Tool.
Next Steps for Success
Adding structured data markup to your ecommerce website is immensely important, regardless of whether you’re using it for SEO or free and paid listings. There are key elements you’ll need to include for enhanced visibility in search results, and we hope you found this guide helpful in providing a deeper look into what those data points are. Not ready to do it all yourself? Send a message to our team to see how we can help!