Open-source software, open Schema protocol!

We’re massive advocates of using Schema structured data to help search engines understand website content. Our plugins automatically take care of anything Schema-related for you, but we know that we’re not the only ones to do so. It’s possible to use our Schema output in combination with other tools. Although, sometimes, things may not work well together, as each tool has a slightly different approach to outputting Schema markup. That’s why we’re happy to announce that, as of Yoast SEO 19.3, we’ve opened up our Schema protocol to help other tools connect their output with ours!

How Yoast SEO helps search engines understand your content

Describing website content using structured data helps search engines understand and disambiguate your content and enables rich result formats. For instance, the markup that Yoast SEO generates gives Google and other search engines information about the context surrounding a piece of content.

For instance, our structured data lets search engines know about the author of a piece of content, the webpage where the content lives, the website where the webpage sits, and the organization that owns the website. We also tie all this information into a graph that summarizes how everything relates. Generally speaking, our Schema graph represents how structured data should be implemented. And it’s good to know that this graph is not a typical pie chart or bar graph, but you’ll see what we mean in the example below.

Let’s say you have a website for your vet clinic business and write a post about dog food (we’ll use this example throughout the post). Within that page, our Schema markup can tell Google that this article, which you wrote, lives on a website that belongs to your business; and that your business has profiles on other platforms such as Instagram and Facebook.

How we create a Schema graph and tie everything together

It’s probably easier to understand Schema graphs when you see one yourself. If you’re running Yoast SEO, we automatically generate Schema markup and create Schema a graph for your pages. Just grab a link and use the Schema validator or Google’s Rich Results Testing Tool to test your structured data implementation. For instance, below is a screenshot of a part of the graph of our structured data ultimate guide blog post.

The Schema graph of an article on

As you can see, it’s pretty long and detailed — and this screenshot doesn’t even show the whole thing. The graph might put some people off, as it seems overloaded with information. But when you dive in, you’ll see that many lines of information are included to establish the relationship between the different pieces in the graph.

Take a look at those isPartOf attributes. You’ll notice that an Article has an attribute isPartOf, referencing the WebPage piece. A WebPage has an isPartOf, referencing the WebSite. You’ll also notice that under each of the isPartOf attributes, there’s an @id attribute.

That @id is the secret of our detailed graph, as that is how we connect the various graph pieces to each other. We output separate pieces, but by using those @id references, we can connect them to each other.

What changed?

In particular, we have changed the way we present the WebPage type in our Schema graphs. Before this, we used a different syntax for describing the @id of the WebPage.

Specifically, Yoast SEO would append #webpage to the canonical URL of a page. So for example, the value in @id would be “” for our Schema ultimate guide. Moving forwards, we only use the canonical URL.

This seems like a small change, but the benefits it brings are immense. By opening up our protocol, we make it possible to connect our Schema output with that of other tools. You can think of it like we’re telling Google and other search engines a “story” about your page. Then, somebody comes along and adds more details to the “story”, making it a more complete and detailed narrative. The more detailed and connected the “story” is, the more Google likes it.

Opening up our protocol for other Schema, plus multilingual support

We think great opportunities are coming from the decision to open up our Schema protocol. One of which is the ability to use more types of Schema from other compatible tools together with ours.

For instance, describing entities can be beneficial for your site and will help you do entity SEO. Generally speaking, in the SEO world, an entity refers to a single, well-defined “thing” or concept that can be linked to the knowledge graphs of search engines, such as the Google Knowledge Graph that we’re familiar with.

So, by describing entities, you let Google and other search engines know about the “things” you talk about in your content. We also know that Google uses Wikipedia as a primary source for much of the information in the Knowledge Graph. So a dog, for instance, is considered an entity because it can be linked to a Wikipedia page.

Combine Schema to tell Google a comprehensive story

What happens when you combine the right types of Schema and implement them correctly? You’ll tell Google a more connected and comprehensive story about your content! For instance, InLinks is a tool that, like our plugins, automatically outputs Schema for users. Its specialty is Schema for entity SEO. And just like us, it also uses the same syntax for describing the @id of the WebPage, making it possible to join our Schema output and form a correct graph. While our Schema output gives Google the context surrounding a piece of content, the Schema output from InLinks tells Google about the entities mentioned in the content.

Let’s return to the example at the beginning post about dog foods. When we combine our Schema output, we can tell Google a complete narrative about the post. At the same time, we’re helping Google get a better understanding of the post by indicating the “things” mentioned. “This is an article on a webpage. It is about dogs, which are a type of animal. The article also mentions dog food. Here’s the person who wrote it, and here’s some more information”.

What about multilingual support?

The great thing about describing entities in Schema is that it is essentially language agnostic. As we mentioned earlier, an entity is a well-defined thing that can be linked to the knowledge graphs of search engines. So a dog is considered an entity. And, a dog is just a dog, regardless of your language. Let’s say you write the article about dog foods in two different languages. If you correctly assign schema for the entities “dog” and “dog foods,” Google should be able to see and understand that your content is about dogs and dog foods in both languages.

Let Yoast SEO help you with structured data

Implementing Schema structured data is challenging. It’s a complicated concept, and there are a lot of rules to follow. You can do it yourself, but you don’t have to. You’ve got tools like our plugins at your assistance!

To learn more about structured data, you should consider the Premium version. With that, you get access to our Academy courses in which SEO experts at Yoast tell you all there is to know about structured data and other in-depth SEO topics. Besides, Yoast SEO Premium contains many helpful features to speed up your SEO workflow. Check it out!

Go Premium and level up your structured data knowledge!

Speed up your work flow and get free access to all of our SEO courses with Yoast SEO Premium:

Get Yoast SEO Premium Only $99 USD / year (ex VAT)

Coming up next!