Structured data
schema markup / schema.org / rich results markup / JSON-LD
Structured data is markup that describes your page in a shared vocabulary, founded by Google, Microsoft, Yahoo and Yandex. Google is explicit about the limit: using it enables a feature to be present and does not guarantee that it will be present, even when the markup is correct.
The vocabulary itself is a joint project rather than one company's format. Schema.org describes itself as a collaborative community activity with a mission to create, maintain and promote schemas for structured data, and records that it was founded by Google, Microsoft, Yahoo and Yandex, with vocabularies developed by an open community process. Applications from several of those companies use it. So one set of markup can serve more than one engine, which is unusual enough in this field to be worth knowing.
Google's own guidelines then set the expectation, and the sentence to remember is short. Using structured data enables a feature to be present, it does not guarantee that it will be present. It adds the same point more bluntly elsewhere: Google does not guarantee that your structured data will show up in search results, even if your page is marked up correctly according to the Rich Results Test.
The rules that catch people are about honesty and completeness rather than syntax. Your structured data must be a true representation of the page content, and Google's examples of the opposite are pointed: a woodworking site labeling instructions as recipes, a sports streaming site labeling broadcasts as local events. Items missing required properties are not eligible for rich results at all. And completeness is enforced in a way that surprises people: if a page shows several reviews, the markup has to include all of the reviews visible on the page, because marking up only some would mislead someone reading the search result.
One consequence is worth separating from the others. Google says a structured data manual action means a page loses eligibility for appearance as a rich result, and that it does not affect how the page ranks in web search. That is a real penalty and a narrower one than it sounds.
In practice
Structured data is usually sold as a ranking improvement and is not one. It makes your page eligible for particular presentations, which are decided by the algorithm on the day. The honest way to judge it is to ask which specific feature the markup is meant to earn, and then to check whether that feature exists for your kind of business at all.
Not the same as
- A ranking factor
- Google separates them explicitly when describing the penalty: eligibility for rich results is lost, ranking in web search is not affected.
- Content
- The markup describes what the page already says. Describing something the page does not contain is the violation the guidelines name first.
Why it matters to you
This is one of the few areas where doing the work correctly still does not produce the outcome, and that is documented rather than a matter of opinion. Understanding that up front changes what you expect from the invoice: you are buying eligibility, and eligibility is worth having, but nobody can sell you the result.
What to ask or check
- 01Which specific rich result is this markup meant to make us eligible for?
- 02Does the markup describe only what a visitor can actually see on the page?
- 03If reviews or items are marked up, is everything on the page included, rather than a selection?
What people get wrong
That correct markup earns the rich result. Google states that structured data enables a feature to be present and does not guarantee it will be present, even when the Rich Results Test passes.
Red flags
- Markup describing content a visitor cannot see on the page.
- Only the favorable reviews marked up, when the page displays more.
- Schema work sold as a ranking improvement rather than as eligibility.
Who owns it
The vocabulary is a community project the search engines founded together. Whether a marked-up page gets the presentation is decided by the engine each time somebody searches.
Where you will see it
In the page source as JSON-LD, and in whatever your search result looks like on a given day.