What is JSON-LD and does my site need it?

We parse every application/ld+json block on the page and list the @type values we could read.

What it is

JSON-LD is a block of JSON in a script tag that states the facts of a page as data. Each object carries an `@type` naming what it describes, such as Organization, Product, Article or FAQPage.

It sits beside the visible content rather than replacing it. The page renders exactly as before, and a client that wants the facts reads them without parsing your markup.

We walk nested structures too, including `@graph`, `offers` and `provider`. A block that does not parse is recorded as invalid JSON and fails the Check.

Why an agent needs it

Everything else in this Category is an inference from your HTML. JSON-LD is the one place you get to state a fact rather than have it guessed.

Invalid JSON is a distinct problem from absent JSON. A block with a trailing comma or an unescaped quote is ignored in full, so the effort of publishing it is lost.

The Fix

Add a `<script type="application/ld+json">` block to the head of the page. Start with the type that describes the page: Organization for the homepage, Product or Service for a commercial page.

Validate the JSON before you publish it. Generate it from your data rather than editing it by hand in a template, which is how trailing commas arrive.

One `@graph` array holding several blocks is valid, and easier to keep in one place than markup scattered per section.

A Deep Scan writes this one for you. It arrives in the Fix Pack, generated from the pages we crawled on your site.

More in Machine Readability

All 24 Checks·Check library 2026-08-27