Home / Blog / SEO /

The Ultimate Guide to Structured Data for eCommerce Websites

Sam Hurley from NovosSam Hurley in SEO

21st October, 2020

 Structured Data for eCommerce Websites

Structured data (aka rich snippets, rich results, schema codes, JSON tags) are an essential part of any SEO arsenal. These codes are used by Google to understand the context of your content.

Google works very hard to understand and interpret a website’s content, so these structured data markups can help to make Google’s job a bit easier.

This is even more important for eCommerce websites, as Google will be using a considerable amount of resources to crawl and understand large websites that have varying amounts of content across many different page types. 

Despite this, structured data can be confusing for marketers, which is why we’ve created this guide to give you the ‘go-to’ markups for your eCommerce website, including templates that you can just pass directly to your developer to implement.

Note: Terminology for structure data varies. This is due to ‘structured data’ referencing the schema markup and JSON markup which leads to ‘rich results’ in Google’s results. Terminology varies across the industry and this post.

What is structured data?

Schema or JSON markup leads to a “rich google result”, often referred to as a “rich snippet”. 

Structured data is a small schema code (now using the JSON language markup) that you place on your site that helps to give Google as much contextual information about your site as possible. 

Why is structured data important for eCommerce sites?

eCommerce websites have an incredible amount of information across the site that can often be misinterpreted or lost if it’s not highlighted to Google. 

Let’s say that you’re a marketplace selling multiple brands. How will Google differentiate between the following?

  1. Your brand
  2. Other brands you sell on your site
  3. Your own brand’s products 

This is where the schema codes come in, as they are simple codes that tell Google all of this basic contextual information about your business and your products.

What are the business benefits of implementing structured data on your eCommerce site?

The direct performance uplift of structured data can be seen through an improved click-through rate in the search results, besides ensuring your products are showing for the right terms.

benefits of implementing structured data on your eCommerce site

Using the Google example above, Google is now able to pull in your product ratings, the price availability and stock level into the SERPs. 

Google supported data structures

What are some examples of eCommerce structured data?

By referencing the individual codes as ‘schema codes’ as well as the popular schema.org website for examples of codes available, our recommended schema codes to use for eCommerce sites are:

  1. Product 
  2. Breadcrumb 
  3. Local business 
  4. Organisation 
  5. Navigation & search
  6. How to 
  7. Video

Below you’ll also find examples of ‘rich snippets’ for each of the following structured data.

Product schema

The product schema is the essential go-to schema tag for eCommerce websites. An additional example of the product schema can be found here.

<script type=”application/ld+json”>
{
“@context”: “http://schema.org”,
“@type”: “Product”,
“aggregateRating”: {
“@type”: “AggregateRating”,
“bestRating”: “100”,
“ratingCount”: “24”,
“ratingValue”: “87”
},
“image”: “dell-30in-lcd.jpg”,
“name”: “Dell UltraSharp 30\” LCD Monitor”,
“offers”: {
“@type”: “AggregateOffer”,
“highPrice”: “$1495”,
“lowPrice”: “$1250”,
“offerCount”: “8”,
“offers”: [
{
“@type”: “Offer”,
“url”: “save-a-lot-monitors.com/dell-30.html”
},
{
“@type”: “Offer”,
“url”: “jondoe-gadgets.com/dell-30.html”
}
]
}
}
</script>

The essential sections you need  to cover are:

  • Price
  • Product name
  • Product description
  • Image URLs of your product (provide multiple high-resolution images, minimum of 50K pixels when multiplying width and height, with the following aspect ratios: 16×9, 4×3, and 1×1
  • Currency
  • In Stock / Out of stock
  • Category
  • Colour
  • Brand
  • Reviews (specifically for the product and not for your business)

Using a brief real-life example here’s our client patch that has their price range being pulled into the Google SERP results. This addition of contextual information can potentially help Patch to steal some clicks from the page ranking above. Incidentally, the site above has it’s publication date being pulled into the SERP which makes the content look dated.

publication date being pulled into the SERP which makes the content look dated

If your products are on sale for a 1-2 month basis e.g. over Christmas or over Summer you can also insert the line:

 “priceValidUntil”: “insert-date

Which can further entice click-through rates from the SERP results. Read about the product offer schema on Schema.org here

<script type=”application/ld+json”>
{
“@context”: “http://schema.org”,
“@type”: “Event”,
“location”: {
“@type”: “Place”,
“address”: {
“@type”: “PostalAddress”,
“addressLocality”: “Denver”,
“addressRegion”: “CO”,
“postalCode”: “80209”,
“streetAddress”: “7 S. Broadway”
},
“name”: “The Hi-Dive”
},
“name”: “Typhoon with Radiation City”,
“offers”: {
“@type”: “Offer”,
“price”: “13.00”,
“priceCurrency”: “USD”,
“url”: “http://www.ticketfly.com/purchase/309433”
},
“startDate”: “2013-09-14T21:30”
}
</script>

Breadcrumb schema

For eCommerce websites, breadcrumbs are essential for Google to understand the hearsay of the website. Markup your breadcrumbs with this schema code:

Google’s breadcrumb schema code

Breadcrumb schema list on Schema.org

<script type=”application/ld+json”>
{
“@context”: “http://schema.org”,
“@type”: “BreadcrumbList”,
“itemListElement”:
[
{
“@type”: “ListItem”,
“position”: 1,
“item”:
{
“@id”: “https://example.com/dresses”,
“name”: “Dresses”
}
},
{
“@type”: “ListItem”,
“position”: 2,
“item”:
{
“@id”: “https://example.com/dresses/real”,
“name”: “Real Dresses”
}
}
]
}
</script>

Benefits of the breadcrumb schema for eCommerce sites?

Google will no longer show the ‘naked URL’ in the SERP results and will instead highlight your categories. This means additional related keywords that can help click-through rate for your results.  

e.g. rather than getting a result like this: 

without breadrumb schema

The results will look something like this where the category and subcategories are highlighted:

Local business schema

If you have physical stores or showrooms, use the following schema to mark up the location of your store. We’d recommend placing this on the individual stores landing pages on your site:

Google on local business schema

Schema.org’s schema for postal address

<script type=”application/ld+json”>
{
“@context”: “http://schema.org”,
“@type”: “Event”,
“eventStatus”: “http://schema.org/EventCancelled”,
“location”: {
“@type”: “Place”,
“address”: {
“@type”: “PostalAddress”,
“addressLocality”: “Denver”,
“addressRegion”: “CO”,
“postalCode”: “80209”,
“streetAddress”: “7 S. Broadway”
},
“name”: “The Hi-Dive”
},
“name”: “CANCELLED – Typhoon with Radiation City”,
“offers”: {
“@type”: “Offer”,
“price”: “13.00”,
“priceCurrency”: “USD”,
“url”: “http://www.ticketfly.com/purchase/309433”
},
“startDate”: “2013-09-14T21:30”
}
</script>

This code can also help with instant answers and voice search for specific terms around your stores e.g.

The benefit of the local schema is to give Google additional information about your online store and connect it to any local business addresses you have, e.g. a head office or a local shop. You should also be adding in opening times of the local store for customers.

Organisation schema

The organisational schema can be used in combination with the above local postal address to give additional information about your organisation.

<script type=”application/ld+json”>
{ “@context” : “http://schema.org”,
“@type” : “Organization”,
“url” : “http://www.t-mobile.com”,
“contactPoint” : [
{ “@type” : “ContactPoint”,
“telephone” : “+1-877-746-0909”,
“contactType” : “customer service”,
“contactOption” : “TollFree”,
“areaServed” : “US”
} , {
“@type” : “ContactPoint”,
“telephone” : “+1-505-998-3793”,
“contactType” : “customer service”
} , {
“@type” : “ContactPoint”,
“telephone” : “+1-877-296-1018”,
“contactType” : “customer service”,
“contactOption” : [“HearingImpairedSupported”,”TollFree”] ,
“areaServed” : “US”
} , {
“@type” : “ContactPoint”,
“telephone” : “+1-877-453-1304”,
“contactType” : “technical support”,
“contactOption” : “TollFree”,
“areaServed” : [“US”,”CA”],
“availableLanguage” : [“English”,”French”]
} , {
“@type” : “ContactPoint”,
“telephone” : “+1-877-453-1304”,
“contactType” : “bill payment”,
“contactOption” : “TollFree”,
“areaServed” : [“US”,”CA”]
} ] }
</script>

Here’s an example of Farfetch using this markup to also reference its social media platforms and customer service number:

farfetch schema

Benefits of organisation schema?

This is a straightforward one as it just simply tries to connect your business with all of your social media and other profiles across the web so Google can see they are connected. 

This can also help if you have inconsistencies in your brand name onsite and on social accounts e.g. using the term ‘and’ onsite and ‘&” in social media etc.

This markup can also help Google to understand the difference between different regional contact numbers. 

Navigation & search schema

Navigation and internal linking are essential for large eCommerce websites. You can leverage the following schema tag to markup your website navigation and search:

Schema.org site navigation element

Google on sitelinks

Benefits of the navigation schema?

This markup is believed to help influence the following site links:

Example of seo and navigation schema

Note the reference to ‘influence’, even if you implement this markup there’s no guarantee of getting the above site links or internal search bar within Google. It’s believed that the above search bar can only be achieved by particularly large brands, but its appearance within search results does seem sporadic. 

How-to schema

If your SEO eCommerce content strategy does not include how-to articles then it should. If you are writing how-tos make sure you are leveraging this schema markup:

See the example at the bottom of this link.

Benefits of the how-to schema markup?

The how-to markup will help Google to understand the step-by-step process for your how-to content. Here is the example that Google has provided:

How to schema example

This markup can also be used for specific tutorials on how to use your products or how to clean or care for your products.

Video schema

If you host videos about your products on your website, you can also leverage the following video schema markup:

Benefits of video schema?

Even though Google usually favours YouTube videos in the SERP results, this markup can help your hosted videos to appear in Google video search. 

Below is an example of this in action for our client Sarah Chapman:

video schema sample

Common issues & concerns with structured data:

Below is a list of common issues we see with eCommerce sites when implementing schema markups:

  • Showing out of stock markup in SERPs

Showing product status as ‘out of stock’ can negatively impact click-through rate. In the past, we’ve removed the schema from showing if the product is out of stock so at least the user will still land on our site and we can try to cross-sell products that are in stock.

  • Implementing the product markups on category pages

product markup

Google’s policy says only do this for individual products. See the Farfetch example below which has the product markup on a category page:

Google says “Use markup for a specific product, not a category or list of products.

Caution! We’ve seen Google being trigger happy with giving a ‘schema’ penalty for domains if part of your site isn’t marked up correctly. We’ve also seen it has impacted other parts of the site that are marked up correctly too.

Errors in the markup which impact domain-wide schema

  • Ensure that you have no errors with your schema code as this can impact the benefits of rich snippets showing across the site. Warnings are okay and not essential to clean up but should be tackled at some point as a maintenance task. 

If eligible, you will start to see the individual reports show in Google Search Console (GSC) here:

From these reports you can also see any errors that need to be cleaned up:

GSC reports

Finally, ensure you test your markup and track any benefits using the tools below:  

Shopify user? See how to implement these schema tags in Shopify here: https://thisisnovos.com/how-to-add-schema-tags-to-shopify/

To conclude, don’t neglect your Google rich snippet markups. They can seem complicated, which may result in you procrastinating or avoiding fixing these issues on your site. But, hopefully, this post has helped to demystify the markups for your eCommerce store, including the benefits you can expect to get from a business perspective. 

Sam Hurley from Novos
Article by Sam Hurley
Sam is the co-founder of NOVOS. With nearly a decade-long experience in organic search, Sam has helped many eCom brands grow. His area of expertise includes SEO strategy, Magento, international SEO, and headless CMS with Javascript.

Reach out to the best eCommerce SEO team today in 1 minute!

We're eCommerce specialists for a reason, get in touch with us today and find out more.

This is Novos

Get the latest blog posts and eCommerce tips in your inbox