Structured data is a way for website owners to tell search engines like Google what the content on their website means. It adds context to content.

The way we discover websites has gone through several changes over the years. To begin with, to visit a website, you just typed it into your address bar. Soon there were directories organised by topic or industry.

Search engines revolutionised website discovery and remained the way most of us find new websites to visit. But they too have progressed from merely searching the text on each page to see if it matches what you are looking for.

Nowadays, a contextual search is much more significant. Any written text – and any web page – has a specific purpose, whether it’s to educate and inform, to persuade (including persuading people to buy something), to entertain or to instruct (e.g. a recipe).

Structured data uses several different methods to add this contextual information to a web page, so the search engines – notably Google – know if it is a review, recipe, contact details, opening hours, and so on through a long list of other formats.

How does structured data work?

You can add structured data to a web page in several different ways:

  • JSON-LD. This is Google’s preferred method and uses JavaScript notation embedded either in the head or body of the page using a <script> element.
  • Microdata is used directly in the page HTML to add structured data to elements on the page and can also be used in the page header.
  • RDFa is an HTML5 extension again used on user-visible page elements and can be placed in the header or body.

Objects have specific required properties that you must include if you want your page to achieve an enhanced listing in Google’s search results.

However, it’s important not to include extraneous information for the sake of filling all the properties, especially when it comes to the optional additional properties.

Why do you need structured data?

Historically, it has been quite difficult to tell the search engines exactly what a page is about. Techniques like on-page SEO (Search Engine Optimisation) attempt to do this by putting certain words and phrases in headlines and in prominent places on the page.

Structured data works differently. It is invisible to the naked eye, as the structured data itself is hidden away in the page code. But unlike some methods of ‘hidden’ SEO, such as white text on a white background, or blocks of very small text, structured data is a legitimate method that will not get your search ranking penalised.

On top of this, structured data is designed to work with different types of pages, such as company information pages, product descriptions, news articles and others.

This gives you an incredibly valuable opportunity to tell the search engines exactly what type of page they are looking at, and to highlight the most important information on that page.

It’s similar to giving your page a title and meta description tag, but with many more options, and while the importance of SEO meta tags has decreased over the years, structured data is currently given relatively high value by the search engines.

Best of all, a lot of websites just don’t use structured data, or don’t use it thoroughly and consistently. It’s an easy win to gain a competitive edge over your rivals, especially those who do not implement structured data on their pages at all.

But as noted above, you shouldn’t cram information into every field or property of your chosen structured data type – so what is the best way to go about implementing structured data comprehensively, without it becoming spammy?

How do you implement structured data?

There are several ways to implement structured data. If you’re familiar with adding CSS to your page code (either in-line, using styles in the page header, or using external cascading stylesheets) it might be helpful to imagine a similarly layered approach.

On-page structured data: Microdata and RFDa

Initially, semantic markup was added directly into the page code using languages like RFDa and Microdata. Markup was included in the page at the place where the equivalent visible page element occurred – like the way a hyperlink’s destination URL is specified by enclosing the anchor text in HTML tags.

This has its advantages, as everything is kept in one place and you can easily navigate to the page element to see the semantic markup associated with it.

However, like CSS, it is more efficient and less cumbersome to separate semantic markup from the page elements themselves, and that’s why JSON-LD has become a very popular way to implement structured data.

JSON-LD (JavaScript Object Notation for Linked Data)

JSON-LD takes semantic data and encapsulates it into a small piece of JavaScript code that can be included anywhere on the page. It’s been supported by Google since at least 2016 and by Bing since the summer of 2018.

Using JSON-LD has several advantages that go beyond its basic ease of use:

  • Google have vocally supported JSON-LD as a method of adding semantic data to pages.
  • JSON-LD supports any schema, making it a universal solution if you publish multiple different types of page.
  • The code is less likely to run into problems during future updates of your website, so you don’t risk breaking existing pages.

There are JSON-LD code generators, third-party plugins for popular CMS platforms, and testing tools to validate your page code once it’s published.

By using some or all of these, you can streamline the editing process of your new content and ensure that your pages are working as intended in the search results, to give them the best chance of appearing as rich results for your chosen semantic page type.

What are the different kinds of structured data?

Before you start implementing structured data, you’ll need to decide what kind of structured data your page actually includes.

In some cases this is obvious. In others it’s less clear. For example, a cinema might have a single page that includes a review of a film, an option to book tickets for a future viewing, a schedule of future viewings and other information such as directions to get to the cinema.

Choosing which structured data type to use depends on what you want the page to achieve. For the cinema, selling tickets is likely to be the main goal. In comparison, a movie review blog might have a very similar page, but the content would be more creative than commercial.

Creative vs. Commercial structured data types

The distinction between Creative and Commercial structured data pages is an important one. Not all websites exist to generate a financial profit, and Creative page types can be useful to provide extra information about multimedia files that are not easily seen by the search engine robots.

Some examples include:

  • Creative Works
    • Articles
    • Books
    • Courses
    • Datasets
    • FAQs
    • How-Tos
    • Music
    • Podcasts
    • Q&As
    • Recipes
    • Speakable
    • TV & Movies
    • Videos
  • Commerce Pages
    • Businesses
    • Events
    • Job Postings
    • Organisations
    • Products
    • Reviews

It’s perhaps worth noting that the major search engines, especially Google, provide ‘rich snippets’ in their search results for many of these specific page types.

As we’ll see below, there is a lot of overlap between structured data markup and these rich results, which can significantly increase your search audience and relevance.

What is

You may have heard of concerning structured data. This is one of several ‘vocabularies’ that defines the properties you can give to a particular page object and how to specify them.

If you include structured data specifically to achieve an enhanced listing on Google, it’s worth remembering that some attributes are designated as required within, but are not mandatory for Google.

Therefore, developing structured data content is all about what you want to achieve. For full compatibility, you might want to include all of the required attributes for both Google and, even if an attribute is only mandatory for one or the other.

How to test structured data

Google provides a Structured Data Testing Tool that can check your page content for valid structured data.

The tool can check snippets of code by pasting them directly into the page, or you can provide it with the URL of a page you have already published, and it will retrieve and check the full page.

You should also see statistics for structured data start to appear in Google Search Console under the Enhancements category – but only if you have structured data that has been successfully indexed by Google.

You may also see errors listed in these reports. These can help you to diagnose any problems with your structured data, but they don’t necessarily mean your pages won’t already get an enhanced listing on Google.

Why is structured data important?

The search engines, including both Google and Bing, are increasingly focused on understanding the context of a search query so they can provide the most relevant results to users.

In some cases, that means embedding information directly into the search results – such as the information like opening hours, address and contact details that you sometimes see when you search for a company.

For business owners, using structured data is a way to make sure this information is correct. You can support this further by claiming your Google My Business and Bing Places for Business profiles, checking your location appears on Google Maps correctly, and so on.

For other content types, it’s equally important to use structured data. This can ensure that 5-star ratings appear in results pages, that recipes are indexed appropriately, and so on.

This additional context is something your competitors might not yet be doing, so it’s an excellent way to overtake your rivals when trying to improve your SEO.

Does structured data affect Google rankings?

The official line is that structured data in itself will not make your page rank higher, but that doesn’t mean it’s not beneficial for SEO.

SEO is not just about ranking higher in the results – it’s about every aspect of your ranking, including anything that can make your result more eye-catching and encourage more people to click on it.

Structured data has significant implications for this, as it can make your result much more prominent than others on the page, especially if your page is chosen as the primary featured rich snippet.

Even if people don’t click through to your website, you could still gain more brand awareness just by being featured in Google results in this way.

So does structured data affect Google rankings? Maybe not directly. But does it affect your overall presence in Google’s search results? If done correctly, it absolutely can.

Is structured data future-proof?

The future of the internet is uncertain, and new technologies emerge all the time. Still, structured data is based on broad standards that are not unique to Google and have many potential benefits and applications.

Whereas some past SEO techniques have fallen by the wayside, the inclusion of contextual data in search results has so far only gained more considerable significance over time.

By including this contextual data in your website now, you unlock the potential of achieving an enhanced listing in the search results – something you certainly won’t get if you don’t put the additional properties into your page.

In the future, even if Google stop using this method to determine the context of a web page, it is highly unlikely ever to have any adverse effect on your rankings. For all these reasons, it makes it a great contender if you’re looking for future-proof SEO techniques to try.

How does structured data work with rich results?

‘Rich results’ were previously called ‘rich snippets’. On Google Search, they are the results shown with additional context, such as five-star reviews, prices for ecommerce products, and other specific information that would not normally appear in the brief page description for a search result.

Mobile rich results can be more interactive, with interactive elements you can swipe across or tap to expand. As Google continues to prioritise ‘mobile-first’ search results, catering to this via structured data can help you to appear in mobile search results.

In addition, rich results are increasingly used to allow smart speakers like Google Nest to answer questions verbally, so that you can search for information by having a conversation with your speaker, rather than by searching from a computer or mobile device using text.

All of these different methods of reaching your audience mean structured data, and its impact on rich results, is a hugely powerful tool to expand your reach into new markets, and to serve your customer base in the way they want to search and interact with your site.

Examples of rich results

Some examples of rich results that can be created using structured data markup include:

  • Articles
  • Books (e.g. author information, ISBN data and reviews)
  • Carousels (especially swipeable image carousels on mobile)
  • Events (e.g. times and ticket prices)
  • FAQs and How-To guides
  • Images (including usage permissions and licenses)
  • Job advertisements
  • Local Business listings
  • Podcasts (and other audio)
  • Product pages
  • Q&A pages
  • Ratings/Reviews
  • Recipes
  • Sitelinks
  • Software and apps
  • Subscription/Paywall content
  • Video

In some cases, you might find you have already published pages that fall into one of the categories listed here, or another kind of rich result for which structured data properties are available.

This allows you to implement structured data retrospectively on existing content on your website; alternatively as you move forwards using structured data, you can focus on publishing pages that meet the necessary criteria and filling as many of the properties as possible for that page type.

Either approach should increase the visibility of your content, and especially the context of your content, to the search engines. But publishing with structured data in mind from the outset allows you to optimise your content as you go along, rather than trying to add the structured data markup later and re-editing the visible page content to fill in the gaps.

Useful tools for working on structured data

An experienced website developer can implement structured data without using any third-party tools. Ultimately, structured data is just a markup language like HTML or PHP, and a plain text editor is all you need to add it to your pages.

There are tools that can help you to verify your structured data is implemented correctly and that the search engines are able to crawl and index the additional contextual data you have provided.

Google Structured Data Testing Tool and Rich Results Test

The Google Structured Data Testing Tool was a way to check the structured data included on a specific URL. In July 2020 Google announced the tool would be replaced by the Rich Results Test, which has a specific focus on checking whether a URL is eligible to be included in rich results.

In December 2020 after feedback from users, Google decided to keep the Structured Data Testing Tool too, but to refocus it on testing markup in particular.

As a result, going forwards, webmasters have two specific tools:

  • The Structured Data Testing Tool to test and validate markup.
  • The Rich Results Test to check eligibility of a URL for rich results inclusion.

Using both together should provide even more comprehensive data about a given URL, and you can force the Rich Results Test to run in mobile or desktop mode, if you want to check how your page will appear to each audience.

Bing URL Inspection Tool

Enter a URL into the Bing URL Inspection Tool within Bing Webmaster Tools and you’ll receive a page of results that shows the page’s index status on Bing, some common SEO techniques and errors, and a section on Markup.

The Markup Card checks four commonly used languages:

  • HTML Microdata
  • Microformats
  • Open Graph

If any of these markup languages is present in your page code, you’ll get an option to click through for more details about what the tool has found.

It is possible to include more than one markup language on the same page. If you choose to do this, the Bing URL Inspection Tool will list multiple languages in the Markup Card, and you can click through to each individually to see the different data that has been detected.

With this method, it’s worth noting that the Bing URL Inspection Tool will only check pages that are published on your own verified domain – you can’t run pages from third-party websites through the tool to see what structured data your competitors are using.

Yandex Semantic Markup Validator

Yandex call their tool a Semantic Markup Validator, rather than a Structured Markup Validator, but it serves the same purpose.

Like the Bing URL Inspection Tool, it works with a list of several main markup languages:

  • HTML Microdata
  • Microformats
  • Open Graph
  • RDFa
  • org

The tool specifically checks whether the semantic markup on the submitted page meets the requirements of Yandex’s services, as well as validating that the markup is implemented correctly, so it’s a powerful feature for Yandex users.

Yandex also provides a Structured Data Validator API which can be used to automate the validation of semantic markup, and this may be beneficial on larger websites or if you need to develop a bespoke plugin for your content management system.

In the event of successful validation of semantic markup on the page, and if the site as a whole meets the requirements of Yandex’s partner programme, then the Yandex robot will crawl the page again and generate a structured snippet, usually within about two weeks.

Merkle JSON-LD Schema Markup Generator

Finally, Merkle’s JSON-LD Schema Markup Generator is a useful wizard-based tool to generate correct markup to include in your page.

Choose your page type and the tool will produce an interactive web form with text fields for all the appropriate properties and parameters, e.g. author name, URL, page headline and so on.

The tool is incredibly flexible, depending on which page type you choose at the start, and even includes one-click buttons to test the finished markup using the Google Rich Results Test or Google Structured Data Testing Tool.

As a result, it’s a real start-to-finish way to generate new structured data code from scratch, without missing any essential properties, and to test the finished code to validate it with Google’s own tools.