#1. A screenshot of a Google search results page, May 31, 2019
This is a rich result (aka a rich snippet). Rich results display more data than regular search results. For example, while regular results display only the title, the URL, and the meta description of a page, rich results can also display product ratings, price ranges, etc. (as shown in the screenshot above). Thus, rich results increase content viability which leads to higher click-through rates (CTR).
Since you’re here, you probably want Google (and other search engines) to display similar results for your Shopify store. To make this possible, you have to add structured data markup in your website’s HTML, which can be a hassle. For one thing, you need to be tech-savvy. For example, you need to be familiar with JSON-LD and JSON for that matter, HTML, schema.org markup (data types and properties), etc. For another, even if you are a skilled developer, you might find it difficult to define exactly what data types and properties to add to your Shopify store.
As Shopify experts, we are helping Shopify merchants add structured data to their store through our Smart SEO app and through our customization services on a daily basis. In this article, we are going to summarize our experience and share the knowledge we have gained. Today, we will talk about what structured data is and how you can implement it in your Shopify store. We will also discuss what schema.org types you should add to your Shopify website, i.e. what data types and properties you should add to your homepage, collection, product, blog and article pages.
After you read this guide, you will realize that implementing structured data, intimidating at first glance, can be quite straightforward as long as you have the right information.
- What is structured data and how can it benefit you?
- Before you implement structured data...
- How to implement structured data in your Shopify store?
- What structured data markup to add to your Shopify homepage?
- What structured data markup to add to your Shopify product pages?
- What structured data markup to add to your Shopify collection pages?
- What structured data markup to add to your Shopify blog page?
- What structured data markup to add to your Shopify article pages?
What is structured data and how can it benefit you?
This is structured data markup:
#2. A screenshot of shop.vanillapup’s HTML, June 12, 2019.
Note: If you want to see the HTML of a page, you simply have to right click (anywhere on the page) and select the ‘View Page Source’ option from the drop-down menu.
And this is the result of adding structured data markup in a website’s HTML:
#3. A screenshot of a Google search results page, June 12, 2019
Structured data markup (schema.org markup) gives search engines more information about your website and its content. For example, in the context of e-commerce, structured data can give Google valuable information about your products (e.g. pricing, availability, rating, number of reviews, etc.). It can also give Google detailed information on your business (e.g. logo, address, contact information, connected social media pages, founders, subsidiaries, etc.).
Why is it important that Google has such information? In other words, how can structured data benefit you?
Structured data allows Google and other search engines and web systems to read and understand what your page is about. In this way, Google can present your products in a detailed and reliable manner. One important aspect of this is that Google uses structured data to create rich snippets. However, you should keep in mind that Google does not guarantee that you will receive a rich snippet even if your pages are marked up correctly. This is explicitly stated in Google’s Structured Data Guidelines:
In other words, if you add structured data markup to your website, Google is more likely to give you rich snippets and in most cases it does. Google can also use the structured data for your product pages to create automated product feeds for your Google Shopping Ads.
Now that we know what structured data is and why we should use it, let’s take a closer look at what you need to do before you implement it.
Before you implement structured data...
Before you add structured data to your website, you have to clearly define what are your main page types. For Shopify, the main page types are homepage, collection, product, blog, and an article page.
Once you know what types of pages you are dealing with you need to find the appropriate schema.org types to add to each page. For example, this is how the structured data looks for the product page. The product page should contain the Product type and the Review type.
#4. Source: schema.org, Example 1, JSON-LD
We are going to look at the specific schema.org types for each Shopify page later in this article. Let’s first tackle the markup to understand what it means.
As you can see from the above screenshot structured data consists of “types”, each type associated with a set of properties. For example, the Product type has productID, description, name, height, weight, mpn, etc. Types can contain other types. The Product type contains a set of Offer types. The Offer types are actually your product variants and contain properties like price, availability, etc.
The core vocabulary of schema.org currently consists of 614 Types, 906 Properties, and 114 Enumeration values.
But we are only interested in a handful of them. Before we get to the actual types, let’s see what are the ways to implement structured data in your Shopify store.
How to implement structured data in your Shopify store?
There are three ways to add structured data in your website’s HTML:
- You can use an app like Smart SEO which automatically provides structured data to Google, and other search engines, in JSON-LD format. The app generates structured data for every product on your collection pages. Read more
You can do it manually. You can use one of the following formats of structured data: Microdata, RDFa, or JSON-LD (JSON for Linking Data).
Google recommends that all websites use JSON-LD. Here’s why: if you use JSON-LD, you don’t have to change your HTML code to indicate where structured data is, it is easy to add an update, and it is compatible with dynamic data. Read more
- You can work with a certified Shopify expert and outsource the task. We offer an SEO service which includes an SEO audit, structured data optimization, meta tags optimization, link optimization, and more. If you're interested in working with us, or want to learn more, do not hesitate to contact us. We'd be happy to be of help!
Note: There are a handful of apps on the Shopify app store which can add structured data to your store. We recommend that you use only one at a time because otherwise, you will end up with a mess of duplicate structured data. Also, unless you are familiar with HTML and liquid, we would not recommend option 2 because of the possibility of introducing errors to your page HTML which can hurt your Google rankings. Last but not least, before you begin the implementation of structured data, make sure that you read the Structured Data Guidelines by Google.
Now let’s take a closer look at the structured data types you need to add to the different Shopify pages.
What structured data markup to add to your Shopify homepage?
You should add two data types to your homepage: WebSite and Organization.
Schema.org defines ‘WebSite’ as a set of related web pages that usually share the same domain. You have to include the following properties in the WebSite data type:
- url - the URL of your website
- target - “Indicates a target EntryPoint for an Action” (source: schema.org)
- query-input - this is a text search deep link with -input that inlines “the resulting value of -input properties into action URLs”. Read more
Example III (“@type”: “Website”): starsandstripeslighting.com
E.g. SportsOrganization, Corporation, LocalBusiness, BikeShop, BookStore, WorkersUnion, HardwareStore, etc. Note: The more specific your organization type is, the better. If you cannot find a specific organization type, or you are not a BikeShop or a BookStore, etc. then just use the Organization type. You have to include the following properties in the Organization data type:
- name - the name of your website (or Shopify store)
- url - the URL of your website
- description - a description of your business (i.e. who you are, what you do, how your product or service benefits customers, etc.)
- logo - the logo of your organization; Google Search displays this image in search results and in the Knowledge Graph. Read full definition
- sameAs - links to your social media profiles (Facebook Business page, Twitter profile, YouTube account, etc.)
- address (PostalAdress) - streetAdress (street and number), adressLocally (city), postalCode, adressCountry (country)
Example II (“@type”: “Organization”): starsandstripeslighting.com
Example III (“@type”: “Organization”): muttpack.com
What structured data markup to add to your Shopify product pages?
The Product type describes the product itself and the Offer type describes a variant with its price, sku, barcode, etc. You need to have one Product type and one Offer type for each product variant. There needs to be at least one Offer type. If you do not have variants for your product, you will have the price, sku, barcode, etc. as properties of your product. These properties are added as a default variant in Shopify and you can use this variant to create your Offer type.
Product data type (required properties):
- image (ImageObject or URL of the product photo)
Product data type (recommended properties):
- aggregateRating (average review score of the product)
offers (product variants)
- sku (stock keeping unit of the product)
- gtin8 / gtin13 / gtin14 / mpn / isbn (global identifiers, or unique product identifiers, read more).
Offer data type (required properties):
- availability (e.g. InStock, OutOfStock)
Offer data type (recommended properties):
priceValidUntil (in ISO 8601 date format)
- url (the URL of the product page)
Examples (“@type”: “Product” & “@type”: “Offer”)
Example I: muttpack.com
This structured data markup is very detailed. The Product type contains not only the two required properties (name and image), but also the following recommended properties: brand, productID, sku, mpn, description, url, and itemCondition. The Offer type contains not only the three required properties (availability, price, and priceCurrency), but also the following properties: priceValidUntil, itemCondition, url, image, sku, and mpn.
What structured data markup to add to your Shopify collection pages?
The collection page should contain the CollectionPage type and also include one Product type with an Offer for each product present on the page. The Product type can contain offers for all variants but we believe that having just one offer for the default of the first variant is the best practice. Otherwise, the JSON-LD markup can become too big and slow your page load.
The CollectionPage type should contain the following properties:
- name - the name of the collection page
- url - the URL of the collection page
- description - description of the collection page
- image - the main image of the collection page
What structured data markup to add to your Shopify blog page?
You should add only one data type to your blog page - Blog, - and include the following properties in your blog markup:
- about - a description of your blog (the subject of the blog (e.g. e-commerce, Shopify, your product or service, etc.), how can it help readers, etc.)
- name - the name of your blog
- url - the URL of your blog
- keywords - the keywords you target, i.e. the keywords you optimize your content around
The Blog type should contain a number of BlogPosting types. Each BlogPosting type is associated with an article or a publication. The BlogPosting type should contain the following properties:
- mainEntityOfPage - the canonical URL of the page
- image (ImageObject)
- url - the URL of the page
- description - a description or an excerpt of the blog post
- logo (publisher logo)
- url (publisher URL)
- name (publisher name)
What structured data markup to add to your Shopify article pages?
Article pages in Shopify should have the Article type. The Article type should contain the following properties:
- about - the subject of the article
- headline - the headline of the article
- image - the cover image of the article
- url - URL of the article
- description - a description or an excerpt of the article
- articleBody - the body of the article
- logo (publisher logo)
- name (publisher name)
Example I (“@type”: “Article”): muttpack.com
This structured data markup is very detailed. It contains the following properties: id, url, mainEntityOfPage, name, author, publisher (publisher.name, publisher.logo, publisher.logo.url), headline, image (image width, image height, image url), datePublished, dateModified, description, and articleBody.
So, we have already discussed what data types and properties you should add to your homepage, product, collection, blog, and article pages.
But there is one more thing you have to do… you have to run tests and check if all your pages are marked up correctly. To do this, you can use Google’s Structured Data Testing Tool.
I entered the following URL in the Enter a URL field: oldtimeshoppe.com. This is the result I got after I clicked on the “RUN TEST” button:
You can expand any of the data types (Organization or WebSite) and see their properties. The Structured Data Testing Tool detects errors and gives you warnings (typically, these refer to recommended properties you could include in your markup).
Implementing structured data will help search engines understand better what your website is about. It will also increase your chances of getting rich results, which, in turn, will increase user engagement and your CTR - all leading to more sales.
Structured data is embedded through schemas - data types and properties organized in hierarchical order. To implement structured data, you can use an app that automatically adds structured data to your website. You can also implement structured data manually by using Microdata, RDFa, or JSON-LD. Google recommends JSON-LD.
In Shopify, it is recommended that you add structured data to your homepage, product pages, collection pages, blog page, and article pages. Here is a brief overview of the data types and properties you should add to each of these pages:
|Homepage||WebSite||url, id, target, query-input|
name, url, description, logo, image, sameAs, PostalAddress,
|Product pages||Product||Required: name, image
Recommended: productID, aggregateRating, brand, description, offers, review, sku, unique product identifiers (gtin 8, gtin 13, gtin 14, mpn, isbn)
|Offer||Required: availability, price, priceCurrency
Recommended: priceValidUntil, url
|Collection pages||CollectionPage||name, url, description, image|
|Blog page||Blog||about, name, url, keywords|
|BlogPosting||headline, mainEntityOfPage, image, url, datePublished, dateModified, dateCreated, description, author, publisher, logo (publisher logo), url (publisher url), name (publisher name)|
|Article pages||Article||about, headline, mainEntityOfPage, image, url, datePublished, dateModified, dateCreated, description, article body, author, publisher, logo (publisher logo), name (publisher name)|
After you add structured data to your website, you have to check if your pages are marked up correctly. To do this, you can use Google’s Structured Data Testing Tool. Making sure that your pages are marked up correctly is the last step of implementing structured data.
So… this is all from us. We realize that this is a lot of information to take in at once and you must have a lot of questions. We’re here to answer all of them! So, ask us anything that comes to mind!
In addition, if you want us to do an SEO audit of your website and add structured data to it, you can either leave us a comment in the comments section below or contact us here.
- Google Documentation: About Unique Product Identifiers, Article, Carousels, Logo, Product
- Google Guidelines: Structured Data Guidelines, Technical Guidelines, Webmaster Guidelines
- Schema.org: schema.org