top of page

Schema markup and structured data ultimate guide (JSON-LD)

Updated: Oct 15, 2021

Do you want to learn how you can create and add Schema markups to your website by using JSON-LD?

If so, keep reading this ultimate guide.

In this article, not only will you find information about rich snippets and Schema structured data, but you will also learn how to write JSON-LD and generate all the markups you want.

I’ll tell you exactly how to use to create your very own structured data markups.

Table of contents

  1. What Schema markups are;

  2. What rich snippets are;

  3. Free Schema markup generators;

  4. How to use;

  5. 7-step structured data workflow;

  6. Understanding the syntax of JSON-LD;

  7. How to create structured data with JSON-LD (workshop).


In 2011, Google, Microsoft (Bing), Yahoo! and Yandex launched, an initiative to provide a commonly shared vocabulary for structured data.

Structured data is used by webmasters to help search engines understand published content on a web page.

Schema’s mission statement (source:, info retrieved on May 2020): is a collaborative, community activity with a mission to create, maintain, and promote schemas for structured data on the Internet, on web pages, in email messages and beyond.

What are Schema markups?

Schema markups are snippets of code webmasters usually insert in the header of web pages to further describe and specify online content for search engines.

Search engines use this data to interpret online content and display more appropriate information in the SERP (Search Engine Results Page)

When you use HTML tags on your web pages, you are telling browsers how to display information, including the tag (if you want to know what an HTML tag is, read my following bonus paragraph).

HTML tags representation and presentation
Web users experience depends on the relationship between data representation and presentation. HTML tags are data representation.

For example:

<h1>Schema markup SEO guide</h1>

tells browsers to display the text string “Schema markup SEO guide” in a heading 1 format. Nevertheless, the HTML tag doesn’t give any additional information on what the text string means.

“Schema markup SEO guide” can be a title of a blog post or the title of a book that you can actually purchase.

It’s difficult for search engines to correctly understand the context of a text string and display to a user the right search results accordingly.

So, provides context to help search engines interpreting online content.

Be aware that search engines compare Schema markups information with the page content. If they don’t match, search engines will not consider your structured data and could also penalize you.

In other words, if you insert a Review markup (I’ve explained what it is later), but in your page you don’t actually have any reviews, Google doesn’t consider this markup valid.

To write Schema markups, webmasters can use Microdata, RDFa or JSON-LD formats.

In this article, I’ll only focus on JSON-LD format, since Google recommends it.

Google recommends using JSON-LD
Google recommends using JSON-LD for structured data markups whenever possible. Screenshot from the page “Understand how structured data works” published by Google Developers.

Why is Schema structured data important for SEO?

In a 2018 Reddit AMA (Ask Me Anything), John Mueller, senior webmaster trends analyst at Google, stated that Schema markups help rankings.

We do use [structured data] to understand a page better, it helps us to rank it better where it’s relevant.

John Mueller explains Schema markups on Reddit AMA
John Mueller, webmaster trends analyst at Google, explains why Schema markups affect rankings. Screenshot from TechSEO AMA (Ask Me Anything) on Reddit, 2016.

Adding Schema structured data in your website’s HTML is one of the many SEO (Search Engine Optimization) activities you should include to ensure optimal performance in the search.

If structured data helps Google understand a page better, it may rank higher in the SERP or rank for additional keywords.