Schema.org

Schema.org is a website with the vocabulary that is used to markup content on your website so search engines can understand it better. It is implemented on a website using JSON-LD (JavaScript Object Notation for Linked Data). It was launched in 2011 by Google, Bing, Yahoo!, and Yandex. schema.org contain a standardized way to describe things like products, people, events, organizations, reviews, in a structured manner. The standard encoding currently used in Schema.org is JSON-LD. The content described in schema.org plays a very big role in SEO. For many SEO experts, schema.org is THE go to website for understanding how to use schema. With the rise of Large Language Models and AI in search, schema.org will maintain its status as one of the most important ressources for technical seo on the internet.

Schema.org data structure and data types

The content in schema.org structured in a hierarchical manner. Properly written schema code has to use this structure to be valid. They use a tiered structure that looks like this:

 

1. Top level structure: Thing

Thing is the so-called root type. All data types described in schema.org is a subtype of Thing. In other words, Thing is the type that contain all other types in it. Thing has more specific types beneth it, for example:
  • Organization
  • Person
  • Place
  • Product
  • Event
  • Action
  • CreativeWork
All these types are subtypes of Thing. If you want to write article schema for your webpage, and visit the corresponding page for article in schema.org, you will see this at the top of the page:
Thing > CreativeWork > Article

 

Article is a subtype of CreativeWork, and CreativeWork is a subtype of Thing. All of the top-level types like CreativeWork has subtypes. For CreativeWork some subtypes are these:

  • Book
  • Article
  • Course
  • WebPage
  • WebSite
  • Painting

For Organization some of the subtypes are these:

  • LocalBusiness
  • Consortium
  • Cooperative
  • EducationalOrganization
  • MedicalOrganization
  • OnlineBusiness
  • PoliticalParty

2. Types or Classes in schema.org

All  types beneath Thing define a real world thing or concept. For example, Organization defines the real world concept of a business that exists in the real world with a real adress. The type can inherit properties from a parent type, and can be extended into subtypes.

3. Properties of types

Types have properties. If you visit the page in schema.org for a particular type, you will see a list of attributes  or relationships, that defines the particular type. The properties are divided into sections or groups. One group or properties will be native to that type. One group of properties will be inherited to the parent type. and one group of properties will be inherited from the top type which is Thing.

For example if we look at the Article. It will have properties from Article such as:

  • articleBody
  • articleSection
  • backstory
  • wordCount

It will have properties from CreativeWork, which is the parent of Article such as:

  • about
  • abstract
  • author
  • dateCreated
  • datePublished
  • editor

Lastly, it will have properties from Thing, the parent of CreativeWork and all other types, such as:

  • additionalType
  • alternateName
  • description
  • disambiguatingDescription

 

Real world use of schema.org – writing JSON-LD schema code

The way SEO experts use schema.org is, as a dictionary or reference website for writing schema for a particular piece of information, like an article, webpage or organization. Each type has its own page that defines all the properties, and most pages also contain examples of schema code. These examples can be used for reference. In the case of article, this page has 4 examples, writting in Microdata, RDFa and JSON-LD. As most SEO experts use JSON-LD today, and its also the recommended standard from schema.org, we will show a simple example of article schema in JSON-LD here:

  1. <script type=“application/ld+json”>
  2. {
  3.   “@context”: “https://schema.org”,
  4.   “@type”: “Article”,
  5.   “author”: “John Doe”,
  6.   “interactionStatistic”: [
  7.     {
  8.       “@type”: “InteractionCounter”,
  9.       “interactionService”: {
  10.         “@type”: “WebSite”,
  11.         “name”: “Twitter”,
  12.         “url”: “http://www.twitter.com”
  13.       },
  14.       “interactionType”: “https://schema.org/ShareAction”,
  15.       “userInteractionCount”: “1203”
  16.     },
  17.     {
  18.       “@type”: “InteractionCounter”,
  19.       “interactionType”: “https://schema.org/CommentAction”,
  20.       “userInteractionCount”: “78”
  21.     }
  22.   ],
  23.   “name”: “How to Tie a Reef Knot”
  24. }
  25. </script>

The above example is taken directly from this page in schema.org: https://schema.org/Article

 

Testing your schema – schema validator on schema.org

The fastest way of testing if the schema code is valid is on the schema validator on schema.org. The official url is https://validator.schema.org/  In this page you can insert your schema code, or the url, and schema.org will deliver a detailed report that contains information about the detected schema types, the entire source code of either the page or schema, and the errors. This schema validator detects all errors that the schema code can have. That is, it detects accurately, if the schema code adheres to the schema.org specifications for correct schema.

Google does have a lot of special requirements that the schema code must follow. The schema.org validator in most cases does not detect these. One of these special requirements is image schema. Google now require that you have a license page on your website, and this license page is referenced in the schema code. If you dont implement this, you will get an error in Google Search Console. schema.org validator does not catch this, so be sure to allways check the validity of your schema code in the Google rich snippets testing tool. The url for Googles schema validator is this: https://search.google.com/test/rich-results

Does Schema.org improve Google rankings?

Technically, schema.org doesnt improve Google rankings, as schema.org contains the vocabulary for the schema code. It doesnt do anything as such. Its the schema markup, that you implement in your website, that can move rankings.

If you create schema markup that is based on the standards from schema.org to your webpage, you have the potential to improve the Google rankings. When you add Schema markup to your website, you are explaining the search engines exactly what the webpages are about. Search engines use schema for two things:

1. To generate rich results. These enhanced listings can be for example star ratings, price info, breadcrumbs, or event dates. They make your page more visible in Googles search result page, and improve click-through rate.

2. To understand unambigously what the content is about. What topics are covered, and what main entities, phrases and keywords appear in the text. The presence of schema in your webpages can improve indexing rates, as the search engines understand your content better, and because of that, they have a deeper understanding of where to place your webpage in the search results.

We investigated the connection between the presence of schema in a webpage, and the webpages rankings in Google. You can read more about it in our blogpost about schema markup and Google rankings, and read more about how to implement schema markup to get the benefits of improved Google rankings.

Common mistakes

  • Wrong types: Using Article for a product page, or Person instead of Organization.
  • Missing required fields: Some types need certain properties (like name, offers, or datePublished) or they won’t work.
  • Bad structure: Nesting data incorrectly or combining types that shouldn’t be combined.
  • Unvalidated markup: If it’s invalid, it gets ignored. Use the Schema Markup Validator to test. Or use Schemawriter. (Source)
Scroll to Top