# structured data

*Machine-readable description of what a page is about*

Structured data is a block of machine-readable facts added to a page — what it is, who wrote it, what it costs — using the schema.org vocabulary, usually as JSON-LD. Search engines read it to understand the page and sometimes to decorate the result.

**Canonical:** https://spoko.space/glossary/structured-data/  
**Language:** en  
**Category:** SEO and AI search  
**Also known as:** schema.org, JSON-LD, rich results markup  
**Published:** 2026-09-22  
**Glossary:** https://spoko.space/glossary/

---
## What it is {#what-it-is}

A page says one thing to a reader and another to a parser. The prose says "I charge from 1600 zł and reply within two hours"; the structured data says the same thing as typed fields — an `Offer` with a `price`, an organisation with a `LocalBusiness` type and an address — in a script tag the visitor never sees.

Almost everyone uses JSON-LD for it, and schema.org is the shared vocabulary that makes one site's `Article` mean the same as another's.

## Why it matters if you are paying for a website {#why-it-matters-if-you-are-paying-for-a-website}

Two reasons, and they are pulling further apart every year.

The old one is rich results: stars, prices, FAQ accordions, breadcrumbs in the search listing. Worth having, never guaranteed — Google decides, and it has withdrawn whole result types before.

The newer one is that structured data is how a machine that is not a search engine works out what your business is. A model summarising your company reads the same markup, and it is far more reliable at reading typed fields than at inferring facts from marketing copy.

## What almost nobody does {#what-almost-nobody-does}

Validate the graph rather than the snippets.

The testing tools check one block at a time: is this `Article` well-formed? What they do not check is whether the blocks on a page agree with each other — whether the `author` your Article points at is actually defined anywhere, whether two nodes claim the same identifier, whether the identifiers stay stable between pages. Sites accumulate JSON-LD from three plugins that have never been introduced to each other, and the result parses, passes the snippet test and describes nobody.

On this site the whole page is one graph with stable identifiers, and the build fails on a dangling reference: if a node points at an `@id` that no node on that page defines, no deploy happens. That check exists because the failure is completely invisible otherwise — the markup looks fine, the test tool is happy, and the page says nothing coherent about who wrote it.

## What structured data is not {#what-structured-data-is-not}

It is not a ranking factor, and adding it does not make a page rank. It is also not a place to put claims the page does not make: marking up prices, reviews or availability that do not appear to a visitor is what the spam policies call structured data abuse, and it is one of the few SEO mistakes with a manual penalty attached.

## Related terms {#related-terms}

- [AEO](https://spoko.space/glossary/aeo/): AEO is the work of making a page usable as a source by systems that answer questions directly — AI assistants and AI overviews — rather than only listing links. The goal shifts from being clicked to being quoted correctly and attributed. — Markdown: https://spoko.space/glossary/aeo.md
- [llms.txt](https://spoko.space/glossary/llms-txt/): An `llms.txt` is a Markdown file at the root of a site that lists its important pages with a sentence about each, meant to be read by language models rather than by browsers. It is a community proposal, not a standard any crawler has committed to. — Markdown: https://spoko.space/glossary/llms-txt.md
- [canonical URL](https://spoko.space/glossary/canonical-url/): A canonical URL is the address a page names as the real one for its content, so a search engine that reaches it by any other route indexes the named version instead. It is a strong hint, not an instruction, and Google can overrule it. — Markdown: https://spoko.space/glossary/canonical-url.md
- [Google Search Console](https://spoko.space/glossary/google-search-console/): Search Console is the free tool where Google reports what it knows about your site: which queries showed it, where it ranked, which pages are indexed and which are not, and what its crawler found wrong. It is the only first-party source for any of it. — Markdown: https://spoko.space/glossary/google-search-console.md

## Where I write about this {#related-posts}

- [Parts & Accessories Catalog](https://spoko.space/vw-polo-6r-parts-catalog/) — Markdown: https://spoko.space/vw-polo-6r-parts-catalog.md
  Headless CMS parts catalog for VW Polo 6R. Astro SSG, Vue 3, Laravel API, Filament admin, AI descriptions, DeepL translations and Cloudflare R2 image pipeline.
- [AEO — How to Optimize Your Website for AI and Answer Engines](https://spoko.space/blog/aeo-answer-engine-optimization/) — Markdown: https://spoko.space/blog/aeo-answer-engine-optimization.md
  Answer Engine Optimization, llms.txt, islands architecture, and speed as conversion currency. A practical guide to optimizing websites for language models and generative search.
- [How Much Does a Custom Website Cost in 2026?](https://spoko.space/blog/how-much-does-a-website-cost/) — Markdown: https://spoko.space/blog/how-much-does-a-website-cost.md
  A custom business card site costs €600–1,000, a company website with CMS from €1,200, a custom online store from €2,000. See what drives the price and what to expect in 2026.

## See also {#see-also}

- [AI visibility audit](https://spoko.space/ai-search-audit/)

## Sources {#sources}

- [Intro to how structured data markup works](https://developers.google.com/search/docs/appearance/structured-data/intro-structured-data) — What Google reads, in which formats, and what it will and will not promise in return.
- [schema.org](https://schema.org/) — The vocabulary itself — every type and property, defined.
