Skip to content
All tutorials

/tutorials/how-structured-data-helps-search-engines-understand-a-page

How Structured Data Helps Search Engines Understand a Page

What JSON-LD structured data actually is, how search engines use it for rich results, and why a block of valid JSON can still fail to produce the result you expected.

6 min read

Run Structured Data Validator

A second, machine-readable copy of the page

A web page is written for people, with headings, paragraphs and images arranged for a reader to make sense of visually. Structured data is a separate, explicit description of the same content aimed at machines instead, stating plainly that this page is a recipe, that number is a price, or that name is the author, rather than leaving a search engine to guess at the meaning of ordinary HTML.

JSON-LD is the format almost everyone uses now

Structured data can technically be written a few different ways, but JSON-LD, a block of JSON placed inside a script tag with type application/ld+json, is what Google recommends and what the overwhelming majority of sites use today. Its main advantage is that it sits apart from the visible HTML entirely, so it can be added, changed or removed without touching the layout or content a visitor actually sees.

The vocabulary comes from schema.org

The actual field names and types used inside a JSON-LD block, like Article, Product, Recipe or FAQPage, come from a shared vocabulary maintained at schema.org, jointly backed by Google, Microsoft, Yahoo and Yandex. Using a recognised @type from that vocabulary is what lets a search engine confidently interpret the data rather than treat it as arbitrary, unrecognised JSON.

Valid JSON is necessary but not sufficient

A block of structured data can be syntactically perfect JSON and still fail to produce a rich result, because each schema type has its own required and recommended properties. A Recipe missing its ingredients list, or a Product missing a price, is valid JSON that search engines will often simply decline to use for anything beyond basic understanding, without any error being obvious from the JSON alone.

The mistakes that show up most often

  • A trailing comma or unescaped quote that breaks the JSON entirely, often introduced when the block is generated by a template rather than written by hand.
  • Structured data that describes something not actually visible on the page, which violates search engines' own guidelines and can lead to the markup being ignored.
  • Using an outdated or misspelled @type that doesn't match anything in the current schema.org vocabulary.
  • Multiple JSON-LD blocks on one page that describe conflicting information about the same entity.

Trying it yourself

Structured Data Validator finds every JSON-LD block on a page, confirms each one is valid JSON, and lists the schema.org types it declares, which is a fast way to catch a broken block before it ever reaches a search engine's own, slower validation tools.