Validate Schema.org markup, Google rich snippets, Twitter Cards and Open Graph tags

Online structured data validator allows you to test if your web page is shareable on social media sites and discoverable by major search engines

Inspect and validate structured data from multiple domains at once and easily test and analyze data that is otherwise visible to machines, with ierarchical data model visualization

Test rich snippet code in JSON-LD, RDFa and Microdata format, with included validation against:

Schema.orgGoogle SearchFacebook Open GraphTwitter CardsFacebook App LinksHTML outline semantics
Validate markup against latest Schema.org release Validate markup against Google Search guidelines Validate markup against Facebook Open Graph Protocol Validate markup against Twitter Cards guidelines Validate markup against Facebook App Links guidelines List and validate HTML headings and their semantics
Enter website address:
Enter data with JSON-LD, Microdata or RDFa:
Schema.org Examples
Google Search Examples
Got results for:
https://issemantic.net

Schema markup validation results:

isSemantic.net tests structured data and rich snippets by checking whether given types and properties correspond to those defined by respective vocabularies or documentation (read about it on our RDF visualization tool). For example, it checks whether listed properties belong to declared type, or if all the required and recommended properties are declared and so on, and marks such places for you to examine. Please note that isSemantic.net does not validate markup that contains other vocabularies besides Schema.org; such markup will be shown in Other vocabulary markup section (markup that is not formatted strictly by Schema.org examples format, or has mixed vocabularies).
Validation can result either in error or warning messages:
  • "property" is not a valid property for "class": error; this property does not belong to this type/class
  • "property/class" is not found in Schema.org: error; property/class not found in Schema.org definitions
  • "value" is not a valid value for "property", expected: "value": error; value of this property is not valid as stated in Schema.org (e.g. text instead of URL etc.)
  • "property/class" is mandatory/recommended: error/warning; properties that are mandatory (must be included) or recommended (no need to include them)
Absence of any of these messages will indicate that markup is valid, and you'll see All valid! next to markup type. If no markup is detected, you'll see No markup found

Check schema markup troubleshooter for more details.

Disclaimer: isSemantic.net does not guarantee that your structured data will show up in any search engine results, even if your page is marked up correctly according to validation results.
Schema.org

Google Search

Facebook Open Graph

Twitter Cards

Facebook App Links

HTML outline semantics


Schema markup hierarchical visualization
Input data
									
Structured data found

How to fix schema markup errors?

Here is a list of some of the most common schema markup issues, structured data and rich result errors, that range from syntax errors to logical nesting, and how to fix them:

Schema errors troubleshooter
Issue:What you can do to fix schema error:
Schema markup code is not detected
  • check if your page crawling is not disallowed and page is reachable for bots
  • check that you've included schema markup on your page, if you are using plugins, check that they work
  • check if schema markup is being loaded fast: schema markup must be present when page finishes loading (e.g. use view page source for inspection)
  • if you are using JSON-LD check that your script tag is correct, it must have application/ld+json attribute, check if some of your plugins are not stripping them
  • your schema code has http://schema.org/ reference and schema type at the top level, in that order
    (e.g. your markup cannot start with property aggregateRating, but with schema type Product, that has aggregateRating property
  • make sure your schema markup syntax is correct
Structured data has syntax errors

This means that you have unparsable structured data issue, and parsers cannot read schema markup, so make sure your schema markup syntax is correct, here are some steps to check when troubleshooting:

  • if you are using JSON-LD and you get errors like missing ',' or '}', make sure it is a valid JSON (no trailing commas, cursive quotes, missing closing brackets, missing colon, parentheses, unescaped strings etc.)
  • if you are adding structured data dynamically (with plugins or JavasScript), check if they are adding data that creates unparsable data errors (e.g. you have unsafe HTML characters inside JSON, which creates parsing errors), or they miss data, which causes them to create invalid syntax or duplicate content
  • do not use text processors (e.g. Word) for creating your schema markup code, use code or plain text editor (e.g. Notepad)
  • if you are using JSON-LD check that it has @context, @type properties correctly (type instead of @type is not a valid JSON-LD syntax, but it can be a valid JSON)
  • check that letter case is respected (e.g. localbusiness, or local business shoud be LocalBusiness)
  • if you are using Microdata or RDFa, make sure you are using the correct syntax (itemprop, typeof etc. Do not mix them, or with HTML, e.g. using property with Microdata instead of itemprop on meta tags etc.)
  • check if you have valid HTML: all tags are closed, scripts are loaded, browser does not give errors etc.
  • if you are using Microdata or RDFa, make sure your schema code is nested properly and has logical hierarchical structure that fits Schema.org specification. Read about schema hierarchy.
Rich snippets are not showing in search results
  • make sure that your site loads schema code fast, and that the schema code is valid
  • make sure you are using data types correctly (e.g. decimal numbers are separated with period, not comma, date is in ISO 8601 format, URL is valid etc.)
  • check that schema markup is logical (e.g. if you are using Review snippets, individual ratings cannot be higher than the highest possible rating)
  • check that schema markup is relevant to the content it refers to
  • check that schema markup is not hidden, i.e. that is visible to users and functional (e.g. reviews must be visible, ratings or job applications must be functional etc.)
  • check that schema markup is fully in compliance with respective guidelines
Rich snippets are valid but still not showing or they disappeared from searchRich snippets are depending on the search query, as well as content quality, so it could be that search algorithms decided that rich snippet is not relevant to the query. Compare your schema markup against respective guidelines in the terms of meaning, and make sure it is fully in compliance with the requirements.
Also, schema markup and structured data depend on hierarchy and logic. The logic is derived from a vocabulary, namely Schema.org. If you have data under Other vocabulary markup, the structured data is missing @context property. This means that your schema markup is not nested logically, so you should inspect schema markup and nesting.
Missing required or recommended propertyRefer to the schema markup code guidelines and add the missing property, or inspect if it is not being detected.
Note that recommended properties are not an error, but a warning, and shouldn't affect rich results displaying. Providing them would help your schema markup, which is why they are recommended.
Not a valid property for type/classProperty does not belong to this content type. Refer to the schema markup code guidelines and add the expected value (e.g. Person cannot have logo property)
Not a valid value for propertyProperty has value that is not in accordance with the expected type. Refer to the schema markup code guidelines and add the expected value (e.g. Organization, instead of Text)

What is schema markup?

Schema markup or structured data can be defined as data that describes data on the web page, or so-called metadata, which is usually information that a search engine receives, but visitors to your website don't see.

Because of it having standardized structure, it is also called structured data, and because it usually appears as snippet of code, it is also called (rich) snippets.

Web page usually consists of data and markup data that is hidden in a browser's display, which tells browsers how to display the data, such as position of the parts of text, color, images etc.

When we see a web page, meaning of the data comes to us by nature. However, computers do not have that ability; such web page is meaningless to the computers, and there is no way for a machine to find out what the web page is about, or to distinct one web page from another in that sense.

This is the main goal of structured data markup - to give meaning to the data that computers can read and understand.

You can explore structured data and visualize their relations and hierarchy with isSemantic.net's RDF visualization tool . You can see how structured data has the same meaning and structure, regardless of the serialization format, on RDF formats conversion tool .

How does structured data work?

Structured data is added to web page data by marking-up data it describes with machine-readable annotations (metadata) that are usually invisible to humans. This is why it is also called schema markup

Here is a quick example where we mark-up heading as a structured data name markup:
...
<h2 property="name">Company Inc.</h2>
...
so now a computer can tell that this heading is structured data, a name markup, and text between is its value:

{ "name": "Company Inc." }

Markup can be added directly to data (using Microdata), or separately (using JSON-LD). However, just by adding schema markup does not give meaning to the data; it depends on the properties and domain. What markup/properties we will add depends on the context.

Here is how computers see web page without and with structured data:

Web page WITHOUT structured data

heading
paragraph
text
button
image
link

Web page WITH structured data

Business Name
Product
Description
Purchase Action
Logo
Official website

Cleary, web page without structured data gives no clue whatsoever to a computer what the web page is about. On the other hand, web page with structured data gives a lot more information and meaning: we can see that it is a web page of some company, which describes some product, and has purchase option, with logo and URL address.

Why do we use structured data?

Benefits of structured data are all around us, though you may not have realized that structured data is behind them.

One of the most notable benefits is rich search results. Structured data schema markup allows search engines to understand which content can be displayed as a graphically enhanced search result, or so-called rich snippet, that is enriched with star ratings, reviews, videos, images and map locations.
Special search result appearance can make web page more visible, improve user click-through rates, and by that bring more traffic to your website and increase your pagerank.

What are rich snippets?

Rich snippets or rich results are results that search engines display on search engine results page (SERP) that are visually enriched with graphical elements such as images, rating stars, search boxes and similar, in contrast to the usual textual search results with blue link.

Here is a common example of a rich search result, where we can see how search engine reads structured data markup and uses it to display a graphically enhanced search result - rich snippet - with star rating information, price and so on:

Figure 1 Structured data displayed as a rich snippet by search engine
Figure 1 Structured data displayed as a rich snippet by search engine
Google and the Google logo are registered trademarks of Google LLC, used with permission.

Since it clearly affects search engine results page (SERP), structured data is an important step when doing search engine optimization (SEO) for any web page. Let's get into details to see a big picture.

You can browse, search, generate, edit and extend schema markup and rich snippets on our schema markup generator.

What is Schema.org?

Schema.org is a vocabulary of shared collections of schemas for structured data on the Internet, founded by major search engine providers Google, Microsoft, Yahoo! and Yandex. Though not a standard, it is one of the most frequently used vocabularies, used by millions of websites and many applications.

Its goal is to provide webmasters with a single common vocabulary that contains markup that is most valuable to search engines and users on the Internet.

It contains hundreds of machine-readable definitions of the most commonly used concepts, such as organizations, persons, places, services, events products and so on. Read more about Schema.org .

What is Open Graph?

Open Graph Protocol is a schema markup (it is also referred to as a vocabulary) developed by Facebook in order to combine and relate web pages and create their rich representation within the social graph. In practice, Open Graph allows Facebook's Like feature to work for pages outside their network, i.e. sharing on Facebook.

Open Graph Protocol is based on RDFa format so it is using HTML tags to describe content that can have different markup depending on the media content, such as Website, Video, Audio markup. Read more about Open Graph Protocol .

What are Twitter Cards?

Twitter Cards is a schema markup based used by Twitter to optimize Tweets and enhance user experience. It has its special markup and rules, but it is fully compatible with Open Graph tags, and can be markupd up with Open Graph tags.

This is also possible because, like Open Graph, Twitter Cards is based on RDFa format, and is usually used to describe and represent web pages as card, player or app snippets. Read more about Twitter Cards .

How to choose the type of structured data?

As we know by nature, one term can have many meanings, for instance term name can mean anybody's or anything's name. For example, we know when some part of the web page represents a name of the company by nature, but how do search engines know that? To be able to know it, we would need a standardized context, a schema markup: this is where controlled vocabularies come in.

Vocabularies usually describe specific industry or domain in standardized terms, which is why they are called controlled vocabularies. Vocabularies help search engines put structured data into a context, that's why they are a first thing do add in your markup. Such vocabulary is Schema.org, which is used for describing content on the Web.

HTML outline and semantic HTML headings

HTML headings are also included in validation, since computers (screen readers) also use them to semantically structure and display data on a web page, as well as to determine the importance of certain page sections. That is why it is important to control headings position and rank. Along with web page accessibility, headings can affect page ranking as well, and they should be considered when analyzing on-page SEO.

How to add schema code to website?

Schema markup and rich snippets usually enhance content they describe, which means that you must first determine what type of content type your website is about.

According to your website content type, you can choose appropriate rich snippet or schema markup. You can use our schema markup generator to create or find appropriate schema markup.

Disclaimer: You hereby agree to use isSemantic.net for private, non-commercial purposes, in accordance with terms of service of third-party's web site, and acknowledge that isSemantic.net uses third-party's web site only to analyze publicly available structured data, with respect of third-party's terms of service and copyright laws, and does not store or redistribute that or any other accessed data.
This website and information contained herein is for illustrative purposes only. No guarantee is made for the accuracy of the data provided, and owner of this site is not liable for any damage or loss of profits caused by the use of or inability to use information from this website. Consult a suitably qualified professional before making any decision in connection with any information on this website.