Structured data for SEO

In this text, I would like to familiarize you with the basics of structured data: First, we'll look at what structured data actually is and how it relates to SEO. Then I'll show you a simple way to identify opportunities and possibilities where structured data can be used and how to implement it on your own website.

What is "structured data"?

The term "structured data" generally refers to data that is to be organized (i.e. given a "structure"). For example, if you have a bunch of scattered Post-It notes with reminders for meetings, appointments, times, etc. and you organize them in a spreadsheet with labeled rows and columns for each type of information, then you are structuring that data. Here is an example of unstructured data: Post-It 1: "Call from Lisa, confirmation for appointment on Wednesday at 3pm at Café Bär." Post-It 2: "Reminder: Friday 10.00 a.m. meeting in David's office."

Meeting withday of the weekTimePlace
LisaWednesday3.00 p.m.Café Bär
DavidFriday10.00 a.m.Office

Structured data can be used in many different ways: Open Graph markup can be used to specify a Facebook title and description, or SQL can be used to query a relational database. In the SEO context, "structured data" usually refers to the implementation of some kind of markup on a web page to provide additional details around the content of the page.

This markup improves the search engines' understanding of the content of the page. This can be particularly helpful for relevance signals and allows the website to benefit from improved results in SERPs (rich snippets, rich cards, carousels, knowledge boxes, etc.). Since this markup needs to be analyzed and understood by both search engines and humans, there are standardized implementations (known as formats and/or syntaxes) as well as classifications of terms, relationships and expressions (known as vocabularies) that should be used in all cases.

There are a total of three forms of syntax that are typically supported by search engines (Microdata, JSON-LD and Microformats) and two common vocabularies that can be used with these syntax forms: Schema.org and Microformats.org. Schema.org can be used with both microdata and JSON-LD syntax, while syntax and vocabularies belong together for microformats.

If you read further into the topic, you will probably also come across RDFa, which is another syntax. Now when we talk about structured SEO data, we usually talk about the vocabulary also known as "Schema.org". Schema.org is the most commonly used approach for structured data markup for SEO purposes. However, it is not the only one. Some websites also use Microformats.org's vocabulary, mostly to mark up product reviews(H-Review markup) or to define a location(H-Card markup).

In addition to being able to use different vocabularies to mark up your website, you can also implement these markups differently using different syntaxes. For the Schema.org vocabulary, the Microdata format or JSON-LD are the best options for adding markup to your website. With Microdata markups, your structured data is integrated into the main HTML code of the page, while JSON-LD creates a Javascript object to insert all markups in the header of the page, which is usually the cleaner and simpler implementation from a developer perspective.

For SEO purposes, the microdata method was originally the recommended approach, but Google's support for JSON-LD has improved in recent years, so this is now the recommended method. The abbreviation JSON-LD stands for JavaScript Object Notation Linked Data. It is based on JSON, a format that is very common in communication between clients and web services. The advantage of JSON and JSON-LD is their good readability. The data is transferred as key-value pairs. However, you should note that Bing does not currently support JSON-LD (this will hopefully change soon).

How does structured data support SEO?

Google, Bing and other search engines encourage webmasters to use structured data and incentivize its use by favoring sites with properly implemented structured data. Some of these benefits include search result improvements and content-specific features:

  • Comprehensive search results: Including style, images and other visual enhancements
  • Rich cards: a variation of rich search results, similar to rich snippets and designed specifically for mobile use
  • Advanced search results: interactive or immersive features
  • Knowledge Graph: Shows information about an entity such as a brand
  • Breadcrumbs in your search results
  • Carousels: A collection of multiple rich results in carousel format
  • Rich results for AMP: To display your AMPs (Accelerated Mobile Pages) in carousel form and with rich results, you need to use structured data

These improved search results can also improve your click-through rate (CTR) and generate additional traffic as they are more visually appealing and provide users with additional information. And an improved click-through rate can also indirectly improve your ranking, as it is a signal of increased user behavior. By implementing structured data on your website, you are preparing yourself for what online search will look like in the future, beyond AI based LLMs. Google continues to move very strongly towards hyper-personalization and solving searchers' problems by answering questions directly. Not too long ago, Tom Anthony gave a talk on this topic entitled "Five Emerging Trends in Search".

The most common application of structured data

Some applications of structured data are quite common, as almost any website or brand can benefit from them:

The Knowledge Graph

If you run a personal or business brand, then you can edit the information that appears on the right-hand side of the SERPs for brand searches. Google draws the information for the Knowledge Graph box from the structured data.

Rich snippets and rich cards

With the most frequently used markup you can provide additional information, for example for

  • Articles
  • recipes
  • products
  • Star and product ratings
  • videos

With the help of this markup, your website is displayed in the SERPs as a rich snippet or rich card:

Example of Google's rich cards

If your page contains multiple elements that match the search query, you can also get a special carousel result, like this one for the results of the search query: "Chicken Recipes":

In addition, Google is currently experimenting with "action markups". This allows users to perform an action directly from the SERPs, such as booking an appointment or watching a movie. If this could be relevant for your business, let Google know that you are interested in participating.

Social Cards

Although Open Graph, Twitter Cards and other social-specific markup don't have a huge impact from an SEO perspective, this markup is visible to search engines and Bing explicitly notes that the Bing search engine can read and understand Open Graph annotations (however, at the moment they only use this data to provide visual enhancements for some publishers and publishers). If you are using social networks for marketing purposes or simply want your content to look good once it is shared on social media, then you should make sure that you have implemented and validated the social markups correctly. The best way to do this is to use the relevant testing tools for the various platforms:

Google Ads

You can include structured data in your Google Ads ads by using structured snippet extensions. You can use this information to add additional information to your ad text to help users learn more about your products or services, which can improve the click-through rate of your ads.

3 common myths about structured data and SEO

Myth #1: Implementing structured data means I'll get rich snippets. Although using structured data markups is necessary to get rich snippets and rich cards, there is no guarantee that structured data markups will immediately trigger rich snippets or rich cards. Sometimes they appear irregularly or not at all. However, this doesn't necessarily mean you've done something wrong.

Myth #2: Structured data is a ranking signal. Using structured data correctly can help search engines better understand what your content is about and can therefore contribute to a stronger relevancy signal. In addition, studies have shown that rich snippets can improve the click-through rate (CTR), which can indirectly lead to better rankings. However, the use of structured data markup alone is not a direct ranking signal.

Myth #3: Google will find out the information without any additional effort on my part. Sometimes it's tempting to skip extra steps, such as implementing structured data, because we know Google is getting better at figuring things out and understanding content without further help. But that's a limited view of things. Yes, Google and other search engines can understand some of this information on their own, but if you want the search engines to understand a particular piece of information in your content, you should always use the right markup. Not only does this help with information that the algorithms can't understand so well, but it also ensures that your website itself is well structured and that the content serves a clear purpose. Also, Google will not release certain features to you without proper implementation, which is definitely at your expense over a longer period of time, especially if you are in a competitive niche. Apart from that, studies have shown that Rich snippets can improve CTR by 5% -30%. There is a generator for structured data in German here.

Is structured data right for you?

In general, it can be said that implementing structured SEO data is usually worthwhile. However, it does require a certain amount of effort and resources, and you may be wondering if it's worth prioritizing. Here are some indications that it's worth putting structured SEO data at the top of your priority list:

  • Search is a key value driver for your business.
  • You've recently reviewed your website for basic optimization issues and know you've established a competitive foundation with keyword targeting, backlinks profile, website structure and technical setup.
  • You come from a highly competitive industry and need results to stand out in the SERPs
  • You have some article content related to specific keywords (e.g. 10 chicken recipes) and you want to show multiple results for these terms in the SERPs
  • You already rank in the top ranks (position 15 or higher) for terms with a significant search volume (5,000 - 50,000 searches / month)***
  • You have solid development, human or good agency resources so they can get things done with a manageable amount of time and justifiable financial investment
  • You are in one of the following industries: E-commerce, publishing, educational products, events, creative industry, TV / movie / book reviews, job listings, local businesses

*** The search volume mentioned can vary significantly depending on the industry!

Even with smaller search volumes and in tourism, structured data can be worthwhile when aiming for position 0 in the search results!

If you said "yes" to one of these statements, then the implementation of structured data is particularly relevant for you! And even if these criteria don't currently apply to you, you can of course still go ahead and implement them. You could achieve great results. The above are just some of the most common indicators that structured data can be a worthwhile investment.

How to implement structured data on your site

In this post, we will only look at ways to implement Schema.org markup, as this offers the most comprehensive vocabulary for our purposes. Furthermore, since it was developed by the search engine companies themselves, it also aligns with what they currently support and should continue to be the best supported framework in the future.

How is Schema.org structured?

The Schema.org vocabulary is structured using different "classes" (recipe, product, article, person, organization, etc.) that represent specific types of data and/or content. Each class has its own specific properties that you can use to identify the respective attributes of the elements. For example, a "recipe" type contains properties such as "image", "cooking time", "nutritional information", etc. If you tag a recipe on your website with these properties, Google can display these details visually in the SERPs. It will look something like this:

To tag your content with the Schema.org vocabulary, you need to define the specific properties for the type you are specifying. For example: If you are adding markup to a recipe page, you will need markup for the title and at least two other attributes. Such attributes could be

  • aggregateRating: The average user rating of one of your recipes
  • author: The person who developed or wrote down the recipe
  • prepTime: The length of time needed to prepare the dish
  • cookTime: The time it takes to cook the recipe
  • datePublished: The date the article was published
  • image: A picture of the dish
  • nutritionInformation: The number of calories in the dish
  • review: A review of the dish
  • ... and many more

Each class has different "required" properties in order to function correctly, as well as additional attributes that can be included if necessary. (You can see a full list of recipe properties at Schema.org/Recipe or check out Google's overview of recipe markup ). Once you know which classes, properties and data need to be included in your markup, you can generate the code.

What should the code for structured data look like?

Let's look at a simple example for a news article (Schema.org/NewsArticel): This is the content of the article (without the copy of the body) with my notes on which element represents what:

This is the HTML version of the article:

If you use microdata, you will wrap your content in the relevant meta tags. For the article example, your microdata code could look something like this (within the < body > page):

The JSON-LD version would normally be added to the < head > of the page instead of being added to the < body > (although adding it to the < body > is still valid). The JSON-LD for the same article would look like this:

This is the general style for the Microdata and JSON-LD code (for Schema.org/Article). You can find a complete list of all supported types and their properties on the Schema.org website. Google has also created some "feature guides" with sample code for the most common use cases that you can use as a reference for your own code.

How to identify opportunities and use cases for structured data

If structured data has already been added to your website (or if you're not sure whether it has), you should first check the Structured Data Report in Google Search Console. The report not only tells you how many pages have structured data identified (and how many of them have errors), but also identifies where and/or why an error is occurring. You can also use the structured data testing tool to debug flagged errorsWhen you edit the code in the code snippet tool, errors or warnings are reported.

If you haven't implemented structured data yet or want to overhaul it from the ground up, you should start by identifying opportunities for structured data. To do this, you should initiate a quick content audit of your website. Keep it simple. In principle, Schema.org offers markups for any form of content and therefore a variety of ways to add markups to content. However, it's easy to lose track of all the possibilities. The best approach is to stay focused and only use a single top-level class on a given page. In other words, you could include test data on your product page, but the primary class you would use is Schema.org/Product. The goal is to tell search engines what this page is fundamentally about. Structured data needs to be representative of the main content of the page and tagged content should not be hidden from the user. If Google finds out that a page uses structured data in a fraudulent way, Google will penalize that page. In addition, Google has some basic rules:

  • Add your markup to the page it describes (so that, for example, a product markup is added to the relevant product page and not the homepage)
  • For duplicate pages with a canonical, add the same markup to all versions of the page
  • Don't block pages with markup from search engines
  • Be as specific as possible when choosing a class for a page
  • Different entities on a page require individual markup (for example, for a product list, each product should have its own markup)
  • As a rule, you should only create markups for elements that are actually shown on the page

So how do you know which Schema.org class is right for your site? It depends on what kind of business you run and what kind of website you have.

Schema.org for your website

There are a few Schema.org classes that almost every business can benefit from, and there are specific classes for specific classes of businesses. Possibilities you should be aware of:

  • Organizations: Use the Organization markup on your website to indicate that your site is a branded site.
  • Knowledge Graph content: Brand information (logo, social profiles) as well as your email address and contact info (like phone numbers) can be structured on your website and appear in Knowledge Graph box in brand searches
  • Use markups for the Sitelinks Search Box
  • Breadcrumbsand
  • videos

A note on star ratings in the SERPs: You will often get the recommendation to mark up your reviews so that star ratings are displayed in the SERP results. Such "reviews" have their own class.

You can see an example above where some of the recipes in the SERPs are showing a star rating. This is because they have included the overall user rating for that recipe in the "review" property in the Schema.org/Recipe type. A similar implementation can be found for other properties that have their own type, such as Schema.org/Duration, Schema.org/Date and Schema.org/Person. The whole thing can look very complicated, but it's really just a matter of organizing the information in terms of category > subcategory > specific object. If all this is still too confusing for you, then it might help to think about how we define a physical thing, such as an ingredient in a recipe. Chicken stock is a dish you can make, and any food used to make chicken stock can be classified as an ingredient for that recipe. But you can also have a recipe that calls for chicken stock as an ingredient. Depending on whether you are writing a recipe for chicken stock or a recipe with chicken stock, it will be classified differently. In the same way, attributes such as "review", "date" and "duration" can have their own class or be a property of another class. So when it comes to "markup for reviews", you should implement the review markup as a property of the class of the website. In addition to this general markup, there are certain Schema.org classes that are particularly useful for certain types of businesses:

  • E-commerce including online course providers
  • Recipe sites
  • publishers
  • Event/ticket sites including educational institutions that offer courses
  • Local businesses
  • Specific industries (small and large organizations)
  • Creatives

Schema.org for e-commerce

If you run an e-commerce, you should try the following:

  • ProductThis allows you to display product information such as price in search results. You can use the markup on the individual product page or an aggregator page that provides information about different suppliers
  • Online courses: If your product is an online course, you can use Schema.org/Course as a class to get more specific snippets
  • OfferThis can be combined with Schema.org/Product to display specific offers for your product (and achieve a higher CTR).
  • Review: If your site includes product reviews, you can collect the star ratings for each individual product and display them in the SERPs for that product page by using http://schema.org/AggregateRating.

You should pay attention to this:

  • Product markups are designed for individual products and not for entire product lists. If you have a category page and want to mark it up, you must mark up each individual product on the page with its own data.
  • The review markup is designed for reviews of specific items, goods, services and organizations. You can include reviews of your business on your website, but this should be done on the home page as part of your organization markup.
  • If you include reviews, they must be be generated by your website and not via a third-party source.
  • Course markup should not be used for how-to content or for general lessons that do not include a syllabus, specific outcomes or a set list of participants.

If you are using rich cards for recipes, you should be aware of this policy:

Schema.org for publishers

If you're running a publishing site, you'll want to try the following:

You should pay attention to this:

  • Google has some extended guidelines regarding accessibility for articles (pagination, canonicalization, paywall content and the former First Click Free).

Schema.org for event and ticket pages

If your business lists or manages events and/or sells tickets, you can do the following:

You should pay attention to this:

  • Don't use event markups to mark up time-bound events like travel packages or business hours that have nothing to do with events.
  • Just like with products and recipes , you should not use a single event markup for multiple events listed on one page
  • An event that spans several days should be marked as a single event and you should ensure that you have specified its start and end dates
  • For a series of events, you should mark each event individually
  • The course markup should not be used for how-to content. The same applies to general events or events that do not have a schedule or registered participants.

Schema.org for job pages

If your site lists job listings, you can use the Schema.org/JobPosting markup markup to show up in Google's listings feature specifically for jobs:

Note that this is an aggregator function and not a rich snippet extension (like Google Flights, for example). You should pay attention to this:

  • Mark each job offer individually
  • Add the job listings to your sitemap and update your sitemap at least once a day
  • You can use the review markup if the job provider has relevant reviews.

Schema.org for local businesses

If you run a local business or manage brick-and-mortar locations, you can use structured data markup on your homepage and contact page to mark your location for map data or to show your "local" status:

  • LocalBusiness allows you to specify information such as opening hours or payment methods
  • PostalAddress is a good addition to keep NAP (Name, Address, Phone) quotes consistent
  • OrderAction and ReservationAction: If users can place orders or make reservations on your website, you should add these action markups.

Think about familiarizing yourself with Google MyBusiness. This can have many benefits for your business.

Schema.org by industry:

There are some industries and/or organizations for which there are specific Schema.org types. You can implement these special markups along with your brand information on the homepage of your website. Local businesses (LocalBusiness) - Terms in English, because markups are in English!

- AnimalShelter

- AutomotiveBusiness

- ChildCare

- Dentist

- DryCleaningOrLaundry

- EmergencyService

- EmploymentAgency

- EntertainmentBusiness

- FinancialService

- FoodEstablishment

- GovernmentOffice

- HealthAndBeautyBusiness

- HomeAndConstructionBusiness

- InternetCafe

- LegalService

- Library

- LodgingBusiness

- ProfessionalService

- RadioStation

- RealEstateAgent

- RecyclingCenter

- SelfStorage

- ShoppingCenter

- SportsActivityLocation

- Store

- TelevisionStation

- TouristInformationCenter

- TravelAgency

Larger organizations and companies such as: - Airline - Corporation - EducationalOrganization - GovernmentOrganization - LocalBusiness - MedicalOrganization - NGO - PerformingGroup - SportsOrganization.

You should pay attention to this: If you add a markup that describes your organization as a whole, you might think that this markup should be added to every page of your website. However, it is recommended that you only add this markup to the homepage.

Schema.org for creative industries

If you produce a product or type of content that can be considered a "creative work" (e.g. content that is produced for reading, viewing, listening or other consumption), you can use the CreativeWork mark up. CreativeWork includes - Terms also in English, because markups are in English! - Book - Course - Episode - Game - Movie - MusicComposition - MusicPlaylist - MusicRecording - Painting - Photograph - Sculpture - SoftwareApplication - TVSeason - TVSeries - VisualArtwork - ...and many more

New features at Schema.org (limited availability)

Google is constantly developing new test SERP features and you can participate in some of these tests. These are some of the new features that are currently being tested: - Actions - Books - Podcasts - Datasets - Music - Software Apps - Top Places Lists (Publishing) - Live Coverage (Publishing)

The structured data behind SEO

As already mentioned, structured data can also be useful for other marketing channels:

How to generate and test your structured data

Once you've decided which Schema.org types are relevant to you, you should add these markups to your website. If you need help generating the code, the Google Data Highlighter toolmay be helpful. Note that this tool is limited to a handful of Schema.org types. Once you've generated the markup, you should test it in two stages of implementation using Google's structured data testing tool - first before you add it to the site, and then again once it goes live. In the pre-implementation test, you can identify errors or issues in the code and correct them before adding the improved code to the site. Afterwards, you should test again to make sure nothing went wrong during implementation. In addition to the Google tools listed above, you should also test your implementation with Bing's Markup Validator tool and (if applicable) Yandex's data validation tool. Bing's tool can only be used using a URL, but Yandex's tool can validate either a URL or a code snippet. Once you have integrated structured data on your website, you should regularly check the Google Search Console data report to ensure that your implementation is still working properly.

Common errors with Schema.org structured data implementation

When implementing Schema.org on your website, there are a few things you should be particularly careful about. Tagging content with irrelevant or incorrect schema.org types is considered spam and can result in a "spam flag" from Google. Here are some of the most common mistakes that can happen with a Schema.org markup implementation: Incorrect multiple markup Categories or lists of items (products, recipes, etc.) are marked up together under a summarizing markup.

  • Recipe and product markups are meant for individual recipes and products, not for lists of multiple recipes or products on one page. If you have several units on one page, you should mark each of them up individually.

False marking of recipe markups The recipe markup is used to mark something that has nothing to do with food

  • The purpose of recipe markup is to mark up content that is about preparing food. Other forms of content such as "DIY skincare products" or "dating suggestions" are not valid names for recipes

False marking of reviews and ratings Review markup is used to play out content that is not the reviewer's name or aggregated ratings.

  • If your markup contains a single review, the reviewer's name must be an actual organization or person. Other content types, such as "50% off ingredients" are invalid properties in the "name" property.

Your business rating will be added to all pages of your website with the aggregateRating markup

  • If your business has received reviews with an aggregateRating score, this can be included in your organization's "review" property.

The aggregate service rating is used as the review score for a product

  • The "review" property at Schema.org/Product is only used to review this one specific product. Do not combine all product or company reviews together and add them to the property.

Third-party reviews of local businesses are tagged with Schema.org markups

  • You should not use structured data for reviews that are created via third-party websites. While these reviews are allowed on your website, they should not be used to generate rich snippets. The only UGC content with reviews that you should tag are reviews that have been displayed on your website and generated there by your users.

This is an update to the guidelines valid since mid-2016

General errors

The organization markup is used on multiple pages or on pages other than the homepage

  • It may seem counterintuitive, but the Organization markup as well as the LocalBusiness markup should only be used on pages that are actually related to your business (e.g. homepage or contact page).

Incorrect nesting

  • This is the reason why it is important to check the code before implementation. Especially if you are using microdata tags, you need to make sure that the nesting of attributes and tags is done correctly.

More resources?

Here are some resources to help you get started with structured data right away:

With that, we've given you a (beginner's) guide to understanding and implementing structured data for SEO! However, the topic is so comprehensive that a single article or guide cannot cover all the details. If you've made it to the end of this text, you should know how structured data can help you with SEO and other marketing activities. Have fun implementing or managing your agency! Finally, here's a fun fact about structured data in tourism: Swallow pictures :)

Back to the blog "Oplayo Insights"