# What is structured data and what is it for in SEO?

> What structured data is, which pieces make it up, what a store gets from it according to Google, and how to check it matches the product page.

URL: https://clione.ai/glossary/structured-data/
Lang: en

When people talk about structured data in an online store, they are almost always talking about a block of code that the [product page](/glossary/product-page/) carries inside and that no customer reads: **a second description of the page, written for machines**. It says the same thing as the visible [product page](/glossary/product-page/) (the name, the price, the currency, whether there is stock left), but in named fields, so a search engine does not have to guess it by reading the text. It matters for two reasons: Google uses it to understand the page and to decide whether it can show it with more information in the results, and when it does not match what the customer sees, the one with the problem is the store.

## How it works

Google defines it as a standardized format for providing information about a page and classifying its content. Its example is a recipe: structured data says what the ingredients are, the cooking time and temperature, or the calories. Google uses what it finds to understand the page's content and, more generally, to gather information about the web and the world.[^google-sd-intro]

Behind the phrase there are three pieces, and it pays not to mix them up because each has its own page in this glossary:

- **The vocabulary**: what things exist and what properties they have. The most widely used is [Schema.org](/glossary/schema-org/), a project founded by Google, Microsoft, Yahoo and Yandex,[^schema-org-home] and most of the structured data that Google Search reads uses that vocabulary.[^google-sd-intro] In a store, the two types that weigh the most are the product, [Product](/glossary/product-schema/), and its offer, [Offer](/glossary/offer-schema/).
- **The format**: how that is written inside the HTML. Google supports three, [JSON-LD](/glossary/json-ld/), [microdata](/glossary/microdata/) and [RDFa](/glossary/rdfa/), and recommends JSON-LD because it is **the easiest to implement and maintain at scale, with less room for error**.[^google-sd-intro]
- **The requirements of whoever reads it**: which properties each search engine asks for, for each type of result. Google warns that, to know how its search engine behaves, the definitive reference is its own documentation and not Schema.org's.[^google-sd-intro]

What a store gets out of it is, above all, the chance to qualify for [rich results](/glossary/rich-results/). On product pages, Google can show the price, availability, ratings or shipping details in the results.[^google-product] To qualify, you have to include all the required properties for the result type,[^google-sd-intro] and even then it is not assured: **Google does not guarantee that your structured data will show up in the results even when the markup is correct**.[^google-sd-policies] The cases Google publishes give an idea of the prize: Rotten Tomatoes measured a [click-through rate](/glossary/ctr/) 25% higher on pages with markup, and Nestlé, **an 82% higher click-through rate on pages that appear as a rich result**.[^google-sd-intro]

For the generative AI features in Search, Google is equally clear in both directions. Structured data is not a requirement and there is no special [Schema.org markup](/glossary/schema-markup/) for them; still, it advises keeping it as part of your SEO strategy, because it helps you qualify for rich results.[^google-ai-guide] For products it adds one more piece: **providing structured data on the page and also a [product feed](/glossary/product-feed/) in [Google Merchant Center](/glossary/google-merchant-center/) is what maximizes your chances of appearing**, and helps it understand and verify the data.[^google-product]

And there is a rule that changes what you do. Structured data has to be a faithful representation of the page's content, and you do not mark up anything the reader cannot see.[^google-sd-policies] You put it on the page it describes,[^google-sd-policies] and with the most specific type that exists in Schema.org.[^google-sd-policies] Skipping those guidelines can end in a manual action, which **removes the page's chance of appearing as a rich result without changing its position in web search**.[^google-sd-policies]

## In a store

Any product page, with what the customer sees and what the machines read side by side. **Fictional example**: the store, the product and the prices are made up to show the mechanism.

| Field        | What the customer sees      | What the machines read                         | Does it match? |
| ------------ | --------------------------- | ---------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| Name         | Marlow linen shirt, blue    | `"name": "Marlow linen shirt, blue"`           | Yes                                                                                                    |
| Price        | $29.90 (was $39.90)         | `"price": "39.90"`                             | No                                                                                                     |
| Currency     | $                           | `"priceCurrency": "USD"`                       | Yes                                                                                                    |
| Availability | "Only a few left" in size M | `"availability": "https://schema.org/InStock"` | Yes, with caveats                                                                                      |

The price row is the typical mismatch of a sale: the theme shows the discounted price, but the data block comes from a field nobody updated. For the customer the product page is fine; for Google's rule, the data no longer represents the page.[^google-sd-policies] The availability row shows something else: the vocabulary has no value for "only a few left," so what the page says and what the data says cannot always be matched word for word, only in fact.


Believing that having structured data is having rich results. The first you decide; the second Google decides, and it does not guarantee it even with perfect markup.[^google-sd-policies] A green validator says the markup can be read, not that it will be shown.


## How to check it

1. **Run a product page's URL through the [Rich Results Test](/glossary/rich-results-test/).** It tells you which rich result types it finds and what errors or suggestions the markup has. By default it tests the page as a mobile device.[^rich-results-test]
2. **Compare field by field** what the test extracts with what a customer sees on the product page: name, price, currency, availability and image. Any difference breaks the faithful-representation rule.[^google-sd-policies]
3. **Confirm in [Search Console](/glossary/google-search-console/) that Google has found the data**, with the URL Inspection tool.[^google-sd-intro] Also look at the manual actions report.[^google-sd-policies]
4. **Repeat the test after every price or stock change.** The data has to change at the same time as the page, not at the next sync.

## Related concept: rich results

Structured data is what you write on the page; rich results are **what Google decides to show with it**: the price, the stars or the availability next to the link. The first is a condition for the second, never a guarantee.[^google-sd-policies] And if someone talks to you about _[schema markup](/glossary/schema-markup/)_, they are talking about structured data under another name: markup made with the Schema.org vocabulary, which is the one most of the structured data in Google Search uses.[^google-sd-intro]

To keep going, the [structured data reading path](/learn/structured-data/) puts the rest of the terms in order, the guide to [auditing a product page's structured data](/guides/audit-product-page-structured-data/) goes into the detail and, if you are unsure between this markup, the [llms.txt](/glossary/llms-txt/) file and the [XML sitemap](/glossary/xml-sitemap/), the comparison [llms.txt, sitemap and structured data](/comparisons/llms-txt-sitemap-structured-data/) separates what each one does.
