Shopify Structured Data: Why and How to Add It To Your Store

Shopify Structured Data: Why and How to Add It To Your Store
By purchasing through the links on this page, you are giving us the opportunity to earn a commission. Your support is greatly appreciated!

When Googling your desired products, sometimes you can see important information about the product even before visiting the page. Those ratings with stars, price, In Stock label, and other details are called rich snippets. And you can get them for your Shopify store’s product pages too.

SERP result screenshot of Walmart scented candle with rich results

Structured data uses schema markup for a vocabulary. Adding schema markup to your Shopify website can be a tough task, even more so if you don’t dabble with code all that often.

Adding Shopify schema markup is easier than you think. Install TinyIMG, give us the details about your product and we’ll do all the work for you!

Get TinyIMG now

In this guide, we’ll walk you through structured data basics, its types, how it can improve your Shopify store SEO performance and how to add it in a simple and manageable manner without previous coding experience.

What is structured data?

Structured data (also known as schema markup) is a piece of code that helps search engines to better understand what your page is about. By adding schema markup, you can capture rich snippets in search engines results, like Google or Bing, and present your Shopify store’s product page with additional information.

Rich snippets help a search result stand out in SERP and increase the visibility of your product (or other) page for potential customers.

How does structured data work?

Since search engines need to see the same data snippets to universally recognize them, structured data markup is standardized. This means you need to use a predefined vocabulary and structure to implement it.

Let’s also establish that what people see on a webpage does not change. Only the code gets altered to make it easier for search engines to understand the content.

To illustrate this, here are two examples of code snippets from Product type schema markup section.

This is regular HTML for a product page section that displays product options from various sellers:

Product page code for Dell Ultrasharp LCD monitor in plain HTML

And here you can see that same information organized using structured data markup:

Product page code for Dell Ultrasharp LCD monitor with JSON-LD schema markup

If you take a closer look, you will notice that information is categorized using types, which then have other types and various properties under them, organized in hierarchical order.

To understand how to properly use schema markup for better Shopify store’s performance, let’s examine structured data types and what they mean for Shopify stores a bit more deeply.

Structured data formats

Without getting into too much detail, there are three main structured data formats Google recognizes: JSON-LD, Microdata, and RDFa. All three have their use cases, but JSON-LD is the universally recommended option.

JSON-LD structured data (recommended)

JSON-LD (JavaScript Object Notation for Linked Data) is JavaScript syntax that you include in the <script> element anywhere on your webpage. Simply put, it does not require you to mess with the existing code, it’s easy to update and it can be added to the page dynamically, for instance using CMS widgets.

On top of that, Google itself recommends it out of the three options. Later on, we’re going to demonstrate how to add structured data in JSON-LD format to your Shopify store pages.

Microdata and RDFa

Both Microdata and RDFa get embedded within the HTML code of your webpage, meaning it goes together with the content users see on the page. The implementation requires modifications to the code, so it can be quite complicated to get it right. Plus, Microdata and RDFa are more susceptible to software bugs, human error and can be a pain to maintain if you’re not a seasoned developer.

If you want to get into detail about Microdata and RDFa, there is an awesome Stack Overflow thread that takes both of them apart in terms of specifications, applicability, use of reverse properties, and more. For the purpose of this article, we’ll leave it off here and continue with JSON-LD.

How to add structured data to a Shopify store?

There are 3 ways to add structured data markup to your Shopify store:

  1. install a Shopify app like TinyIMG that has structured data functionality,
  2. add schema markup manually,
  3. hire a Shopify Expert to add structured data for you.

Let's cover the first two options in detail

Using a Shopify app to add schema (recommended)

Structured data implementation requires great attention to detail and quite a bit of knowledge of Shopify Liquid, HTML, and more. So why not let an app designed to improve your Shopify store take care of it for you?

Among many SEO and website performance improvement features, TinyIMG Shopify app can help you create and implement JSON-LD schemas for your product, blog, and other Shopify store pages.

TinyIMG structured data implementation dashboard that includes store details, contacts and price ranges

All you need to do is provide relevant information in a dedicated dashboard and TinyIMG will do all of the work for you. Then, you sit back and watch your store rule the SERPs as you start receiving rich snippets and sky-high click-through rates.

JSON-LD implementation comes with all paid TinyIMG plans.

Manual schema implementation

Manually adding structured data markup to your Shopify store is always an option if you’re up for the challenge.

And if you choose the manual route, start with heading to Themes -> Actions -> Edit code. From there, you can begin adding structured data to your Shopify pages.

Shopify store Themes section showing how to access Edit Code to insert structured data

JSON-LD is implemented in your web pages' <script> element using JSON notation. To successfully implement schema markup, you will need to call the script, define its context, type, and properties.

If you were to implement super simple JSON-LD markup for a product page, this would be the final result:



<script type="application/ld+json">

"@context": "",

"@type": "Product",
"name": "Vanilla Scented Candle, 6x7,5 cm",
"description": "Vanilla scented candle that stimulates happiness and joy. More text that describes your awesome product.",
"image": "candle-dream-vanilla-scented.jpg",
    "@type": "Offer",
      "availability": "InStock",
      "price": "12.00",
      "priceCurrency": "USD"


Now let’s take this step by step:

1. Call the script. The <script> element with JSON-LD attribute basically tells the browser “Hi, you will see JavaScript encoded as JSON-LD”.



<script type="application/ld+json">
your wonderful structured data

2. Define context. In this step, you need to explicitly state what vocabulary you will use for your data markup. The easiest approach is to reference the entirety of That way, you will be able to use all Types and Properties out there.



"@context": "",


3. Define type. You need to define the entity type you will be describing with your JSON-LD. In this case, since it will be Product.



"@type": "Product",


4. Define properties. All properties available for that entity type can be added now. You can find Product Properties on this page.



"name": "Candle "Dream", 6x7,5 cm",
"description": "Vanilla scented candle that stimulates happiness and joy. More text that describes your awesome product.",
"image": "candle-dream-vanilla-scented.jpg",
    "@type": "Offer",
      "availability": "InStock",
      "price": "12.00",
      "priceCurrency": "USD"

Tips for manual schema implementation

  • Pay attention to the curly brackets. You need them right after the <script> element closes for JSON-LD to correctly apply to the page. Also, use curly brackets whenever you’re defining properties of a type within a type, just like you see Offer properties defined in separate curly brackets. Everything before and after that defines the main entity aka Product.
  • Watch out for cases and special characters. Don’t use quotes with markup. Also, all of it is case-sensitive, so be mindful of that.
  • Add all required properties. Some properties must be defined if your markup is to work correctly. They are different for every data type.
  • This is an example for illustration. If you want to see how a full product page markup in JSON-LD looks, consult Google’s documentation of product markup. It’s pretty detailed and complicated, that’s why we stand by our suggestion to install a Shopify app that will do it for you.

Now, we will look over what types of structured data each Shopify store page can benefit from.

Shopify product schema markup

Shopify product pages are the focus of all stores - that’s where the sales happen. Implement the right structured data to make your product pages stand out in the SERPs by featuring product ratings, prices, availability, and other features.

Let’s start with the basics. These three types of data are needed on all Shopify product pages:

  • Product (describes the product).
  • Offer (describes product variants).
  • BreadcrumbList (ensures breadcrumbs are shown correctly on the SERPs).

Product schema

Your product markup won’t function properly if you don’t define these required properties:

  • Name - the name of your product
  • Offers/Review/aggregateRating - product variants or ratings are required. Once you include one, the rest become recommended.
  • Image - imageObject type or product photo URL

Then there are the recommended properties you can implement for more wholesome coverage:

  • Offers/Review/aggregateRating - whichever two remain after the one you used for required properties.
  • Brand
  • Description
  • Unique product identifiers (gtin8 / gtin13 / gtin 14 / mpn / isbn)
  • sku - a unique Stock Keeping Unit of the product

Offer schema

To successfully define product variants, these are the required properties:

  • availability
  • price
  • priceCurrency

Recommended properties:

  • itemOffered
  • url (the URL of the product page)
  • priceValidUntil (in ISO 8601 date format)
  • itemCondition
  • Sku

Note that if your product only has one variant, these properties will define the Product type.

Upon implementing product markup into your Shopify store page, you can expect rich snippets on the SERPs. These include displaying aggregate reviews, availability, prices, and many more details.

How it looks:

SERP listing of Women's Nike Air Max with aggregate reviews, price and availability displayed

Shopify collection schema markup

CollectionPage is the main data type that a collection page should contain. Collection pages should also have at least one ListItem type for each product included in the Shopify collection page.

Collection page properties should include:

  • name - collection page name
  • url - collection page URL
  • description - collection page description
  • image - the main image of the collection page

ListItem should define:

  • url - product page URL
  • position - the position in which the product is shown on the collection page

Shopify homepage schema markup

To help search rankings get a better overall understanding of your business, your homepage should contain two types of Shopify structured data markup:

  • WebSite
  • Organization


Properties needed for WebSite type:

  • url - website URL
  • target
  • query-input


Properties needed for Organization type:

  • name - your Shopify store name
  • url - website URL
  • description - a description of your business
  • logo

Shopify blog pages schema markup

If you’ve been putting your time into a well-researched and informative Shopify blog, you want to make sure Google sees the effort too.

Adding structured data to Shopify blog pages requires only one type of markup, Blog.

Required properties for Blog structured data type:

  • about - a description of your blog
  • name - blog’s name
  • url - the URL of your blog
  • keywords - the main keywords you target

The Blog type should contain a number of BlogPosting types that relate to specific articles.

The following properties are needed for BlogPosting type:

  • headline
  • mainEntityOfPage - the canonical URL of the page
  • image (ImageObject)
  • url - the URL of the page
  • dateCreated
  • datePublished
  • dateModified
  • description - a description or an excerpt of the blog post
  • author
  • publisher
  • logo (publisher logo)
  • url (publisher URL)
  • name (publisher name)

Structured data benefits for Shopify stores

There is a number of reasons why Shopify stores benefit from having structured data implemented on their website:

  • Capturing rich snippets. Structured data makes your website eligible for rich snippets. It means that not only your page URL, meta title, and meta description show up on the SERPs, but also product rating, pricing, availability, and more. Rich snippets are a proven way to gain more visibility and increase click-through rates.
  • Better rankings on the SERPs. Helping Google understand the content of your page can boost the overall performance of your website on the search result pages.
  • Dominate local search. Using structured data to tell Google about your business hours, contacts, and, most importantly, address, will help you get on local SERPs and be seen by those looking for your type of business in the area.
  • Faster indexing. Crawling and indexing over 50 billion web pages is a tough task. Ensuring that Google can get through yours faster can help you get ahead with indexing.
  • Targeting voice search. Voice search queries tend to be longer and less coherent. Giving Google a very good understanding of your page content can help match your web pages to the expectations of people using voice search.

How to test your structured data markup?

The easiest way to test whether structured data markup was successfully implemented on your page is to use Google’s Rich Results Test.

Insert the web page you’re interested in and this test will provide you with:

  • Structured data types present on this page
  • Warnings or invalid items
  • Suggestions for your structured data

If you’re looking for tools to test more specific aspects of structured data, here are our top picks:

Final thoughts

Rich snippets are a quick win for better SERP performance and improved click-through rates. Understanding how to use structured data and capture rich snippets is a solid step towards a more optimized and better-performing Shopify store.

This guide gave you a good look at how structured data works, how to implement it, and in general how to master structured data for Shopify stores. Now you only need to make it happen!

Install TinyIMG and let the app do all the work for you! With TinyIMG, you can create and add JSON-LD to your Shopify store in under 10 minutes!

Add structured data

Curious to read more? Check out these articles:


Frequently asked questions

No, Shopify initially doesn’t have structured data. However, you can add it using a Shopify app, like TinyIMG, or by manually implementing schema.

There are two ways to add structured data to your Shopify store. You can either implement the schema markup manually (yourself or with the help of a Shopify expert), use one of reputable SEO apps, such as TinyIMG.

Depending on the page, your can use 5 schema types for your Shopify store: Product or Offer schema for product pages, CollectionPage schema for Collection pages, Website or Organization schema for store's homepage. If you run a blog on your Shopify store, you can also implement Blog schema markup for it.

About the author
Vita Klimaite
Vita believes that every great product must be supported by an even better marketing strategy. Armed with SEO and Content Marketing experience, Vita is dedicated to helping website and eCommerce store owners unlock the power of search engines and scale their businesses. A big fan of remote work, she is always on the road, so you can also hear some exciting travel stories from her.