Introduction to structured data and rich results

Structured data describes a page's content in a format search engines can read precisely. Learn what JSON-LD looks like, how rich results work, why valid markup does not guarantee them, and the rule that markup must match what users see.

Basic · 12 min read · 4 practice questions · Updated

Search engines are very good at reading text, but they still have to infer a lot. Is "4.7" a rating, a price or a version number? Is "12 March" an event date or the date a post was published? Structured data removes that guesswork. It is a standard way of describing the things on a page, such as a product, a recipe, an article or an organisation, using a shared vocabulary that search engines understand.

The vocabulary and the format

The vocabulary most search engines use is Schema.org, an open project that defines types (Product, Recipe, Article, Organization, BreadcrumbList) and the properties each type can have (name, price, author, datePublished). Google supports a documented subset of Schema.org for its search features.

Structured data can be written in three formats: JSON-LD, Microdata and RDFa. Google recommends JSON-LD in most cases because it sits in its own script block, separate from the visible HTML, which makes it easier to add and maintain.

html
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Trail X Waterproof Running Shoe",
  "image": "https://example.com/images/trail-x.webp",
  "brand": { "@type": "Brand", "name": "Acme" },
  "offers": {
    "@type": "Offer",
    "price": "129.00",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock"
  }
}
</script>

Read it as a set of facts: this page is about a product, its name is this, its image is here, it is offered at this price in this currency and it is in stock.

Rich results

When Google understands a page through structured data, it can show an enhanced result, called a rich result: star ratings, prices and availability, breadcrumbs in place of the URL, event dates, recipe cooking times and more. Rich results take up more space and give searchers more information before they click, which can improve the quality of the traffic you receive.

Google's search gallery documentation lists the rich result types it currently supports and the properties each requires. Check it before you invest in a type. Google retires features over time, and Schema.org lists far more types than Google uses for rich results.

  1. Add JSON-LDdescribes visible content
  2. ValidateRich Results Test
  3. Google crawls and processes
  4. Eligiblenot guaranteed
  5. Rich result may appear
Valid markup makes a page eligible. Google decides whether to show the rich result.

Eligible is not the same as guaranteed

Valid structured data makes a page eligible for a rich result. Google does not guarantee that it will show one. It considers whether the rich result is useful for the query, the quality of the page and site, and whether the markup follows its guidelines. A page with perfect Product markup may still show a plain result for some queries.

The rule you must never break

Google's general structured data guidelines require markup to describe content that is visible to users on the page. Marking up reviews that do not appear on the page, prices that differ from the displayed price, or FAQ answers hidden from users is misleading. It can make the page ineligible for rich results, and serious or repeated cases can lead to a structured data manual action.

SituationAllowed?
Product price in markup matches the price shown on the pageYes
Star rating in markup comes from reviews displayed on the pageYes
Review stars copied from another website into your markupNo
Markup advertises a lower price than the page showsNo
Organization markup names your company, logo and official profilesYes

Testing and monitoring

Use the Rich Results Test to check whether a page's markup is valid and which rich results it may be eligible for. Errors mean a required property is missing or wrong, and the page is not eligible for that feature. Warnings mean a recommended property is missing; the page is still eligible, and adding the property may improve the result.

After launch, Search Console shows a report for each rich result type it detects on your site, with valid items, warnings and errors grouped by issue. Because markup usually comes from templates, one bug can affect thousands of pages, so these reports are the place to catch it.

Practice check

Answer each question to see the explanation. These are practice questions only; they are not taken from the certification exams.

Question 1 of 4
A café adds Product markup with valid JSON-LD to its menu pages, but no rich results appear after a month. What is the most accurate explanation?
Question 2 of 4
A developer asks which way of adding structured data will be easiest to maintain and best supported by Google. What do you recommend?
Question 3 of 4
A shop wants star ratings in results, so a developer adds review markup averaging 4.8 stars, while no reviews appear on the page. What is wrong?
Question 4 of 4
The Rich Results Test shows warnings, but no errors, for a product page. What does this mean?
Track your progress
Sign in to mark lessons complete and see what is left in this track.
Sign in

Sources

Further reading

Last checked against these sources on 27 Oct 2026. Spotted something out of date? Email contact@crunchwiser.com.