Structured Data & Schema Markup

Structured data exists to solve this context problem and explicitly tells search engines exactly what is what on your site.

“Google is pretty good at understanding the general context of a site’s content. When it comes to intuiting the specifics of a page, though – usually the most important information to a searcher — crawlers need some help. This is where structured data comes in.”

The de facto language of structured data is, a project originally founded as a joint effort between Google, Microsoft, Yahoo, and Yandex.

Google Search works hard to understand the content of a page. You can help us by providing explicit clues about the meaning of a page to Google by including structured data on the page. Structured data is a standardised format for providing information about a page and classifying the page content.

It provides a standardised set of tags and properties to use on your website that all the major search engines have agreed to follow. It is the lingua franca of the structured data world that all sites use and all search engines understand.

Below is an example of markup that may exist on a company about or contact page.

<script type="application/ld+json">
  "@context": "",
  "@type": "Organization",
  "url": "",
  "name": "The Digital Elite Ltd.",
  "contactPoint": {
    "@type": "ContactPoint",
    "telephone": "0207 123 1234",
    "contactType": "Customer Service"

Why Add Schema Markup?

Schema markup is not a search ranking factor so won’t help your site climb up in the search rankings, but can help in other areas, such as displaying additional information to visitors in search results that may result in your receiving more clicks.

Google Search also uses structured data to enable special search result features and enhancements.

By making your site understandable for search engines, you’re allowing them to do interesting things with your content. For example:

Rich results 

Rich results are search results that go beyond the standard blue link and add additional information such as ratings, or pricing information. Having rich snippet data with your URLs can help boost your click-thru rates on search results.

Image courtesy of

Site links search boxes

If your site is eligible site links add additional links for your site within the search results, a feature already supported by a wide variety of SEO tools and plugins.

Image courtesy of

Knowledge Graph cards

The Google knowledge graph provides answers to questions directly in the results page interface, above all of the other search results.

Do I Already Have It?

There are 2 simple ways to check if you already have schema markup on your website:

  1. Search for ‘ld+json‘ in your website code using your web browser (for example using Chrome DevTools)
  2. Use Google Structured Data Testing Tool

Types of Schema Markup

There are many types of schema categories, all fully documented at These include: Recipe, Local Business, Article, Service, Product, Course, Person, Job Posting, Software Application, Book, Event and Video Object.

Keep in mind that not all properties are supported by the search engines. As an example, Google’s supported content types are shown below.

The nice thing about schema is that you really don’t have to include all the elements of a schema. It’s not that strict in terms of validation. To cover the basics we suggest adding:

  1. Article schema to blog posts
  2. Person schema to blog posts
  3. Organisation schema to about page
  4. Review schema to reviews

Also be careful not to over-optimise for schema, and avoid site-wide duplicate schema.

Implementation Methods

There are 3 schema methods, JSON-LD, RFDa and Microdata.

RFDa and Microdata

The classic and old way of writing structured data for inclusion on your pages involves directly embedding the markup into your HTML. This is an inefficient and error-prone process and is much of the reason why the uptake of schema markup hasn’t been particularly fast. Writing and maintaining schema using RFDa or Microdata is painful.

JSON-LD,JSON-LD is a newer JavaScript-based data format that makes it much easier to add structured data to your site since it is no longer embedded in the HTML of your page. It is a (relatively) new way to present data about your content to search engines yet is now supported by all major search engines including MicrosoftYandex and Google:

“So we see a lot of people using JSON-LD, so that is why we’ve kind of switched to preferring that slightly, we still accept all types of structured data in the other formats as well.I suspect going forward at some point we will say JSON-LD is the format we really strongly recommend, and maybe some of the newer types of structured data will only be available in JSON-LD, so that’s a possibility, but obviously you can mix and match.”

JSON deployment continues to be widely accepted largely because of ease of implementation. Instead of adding attributes to individual elements on a page, you’re providing a small block of JavaScript code that has all that information in one place. One of the main advantages to this is that your schema markup can remain independent of your website code, meaning that changes can be made without requiring developer support.

Implementing JSON-LD Markup

There are a number of ways to implement JSON-LD schema markup on your website:

  1. Google Data Highlighter
  2. CMS & Plugins
  3. Google Tag Manager
  4. Custom Development

1. Google Data Highlighter

Data Highlighter is a simple way to add schema markup to your website quickly, without the need for development support or 3rd party software. It can be a useful method to determine if more involved markup is worthwhile. 

“Data Highlighter is a webmaster tool for teaching Google about the pattern of structured data on your website. You simply use Data Highlighter to tag the data fields on your site with a mouse. Then Google can present your data more attractively — and in new ways — in search results and in other products such as the Google Knowledge Graph.”

There are however a number of downsides to using it:

  1. Your data highlighter markup will break when anything in your pages’ formatting changes
  2. Your highlighting will only apply to Google and will be invisible to other search engines
  3. The only elements you can mark up are articles, restaurants, movies, events, products, TV episodes, local business, software applications and books

2. CMS Platform & Plugins

Your CMS and/or website theme may include schema markup “out of the box” so the first thing is to check what already exists. With WordPress many popular themes such as Beaver Builder Theme, Astra and Genesis all add a level of schema markup to your site automatically.

Sticking with WordPress, a number of 3rd party plugins can also be used to add schema markup to your site:

  • Yoast SEO adds 4 types of markup schema if site-wide schema features are enabled, these are: basic organisation data, breadcrumbs, social profiles and homepage for search. The SEO Framework plugin operates in a similar fashion.
  • WP Schema adds more rich schema markup to the various types of content on your WordPress site via highly customisable automation rules. Other plugins such as Schema and WP SEO Structured Data Schema operate in a similar fashion although are arguably less comprehensive.

For non-WordPress websites, 3rd party tools such as Schema App are worth exploring.

3. Google Tag Manager

Google Tag Manager (GTM) can be used to add schema markup to any site, though is widely regarded to be sub-optimal as it injects the structured data client-side, rather than adding it server-side. GTM, like most other JavaScript solutions, is a client-side technology and so only comes into play after the bulk of your site’s HTML and content have been sent to the browser.

Most SEO professionals suggest only using GTM as a last resort for schema implementation, where alternative options are not viable. Even though Google is able to read JSON-LD when it is injected into the page contents dynamically (client-side), other search engines may not have this capability hence why a server-side solution is preferred.

Even Google’s own John Mueller has advised against using GTM for Schema markup.

4. Custom Development

Your development team can add schema markup to your Content Management System templates manually (for example, using standard WordPress functions). Developers can create new fields in your CMS backend that, in addition to generate our markup server-side, enable you to control your structured data at an extremely granular and precise level.

Although tools such as Google’s Structured Data Markup Helper exists to make this process easier, it remains relatively complex and requires considerable development resource to implement.


We’ll let Google’s John Mueller conclude this article:

“In the long run it definitely makes sense to use structured data where use see that to be reasonable on your website, but I wouldn’t assume that using structured data markup will make your site jump up in rankings automatically.”

John Muller, Google

Additional Information


Structured Markup Helpers

Schema Validators

Stuart Brameld

Get the latest articles

Content from industry experts, delivered straight to your inbox - as soon as they're released.