JSON-LD
A small block of code, usually tucked in the page head, that carries structured data as plain labeled facts a machine can read without parsing your layout.
You have probably seen advice to "add JSON-LD" with no explanation of what it is or how to know it worked. Here is the plain version.
What JSON-LD is
JSON-LD is a small block of code, usually placed in the head of a page, that carries structured data as labeled facts. It is a quiet, self-contained list: this is the business, this is the price, this is a question and its answer.
The "LD" stands for linked data. The point is that the meaning lives in one tidy block instead of being smeared across your visible HTML.
The reader is not a person. It is a machine that opens the page, finds the block, and reads the facts without having to interpret your layout.
Why it is the format engines read first
An engine can parse a clean block of labeled facts faster and with less doubt than it can reverse-engineer meaning from styled text. JSON-LD keeps the facts separate from the design, so changing how the page looks does not break how a machine reads it.
That separation is also where the trouble starts.
The old way and the new way
The old way: paste a JSON-LD snippet once to chase a rich result in Google, then never look at it again.
The new way: treat the block as the page's machine-readable summary, kept honest as the page changes. Because the block is invisible, it is easy to forget it exists while the visible content moves on without it.
The damaging admission
JSON-LD fails silently. A missing comma or a stray bracket can make an engine ignore the whole block, and nothing on the visible page tells you. The page looks perfect to a human and reads as blank to a machine.
It also drifts. You edit the price in the body, leave the JSON-LD untouched, and now the labeled fact contradicts the visible one. A machine reading the block repeats the stale number.
Plugins like Yoast and Rank Math emit JSON-LD automatically and handle the common cases well. They do not promise that every page carries the right block, or that it still matches your content after you edit.
How to check yours
Open your page and ask three things. Is there a JSON-LD block. Does it pass validation. Does it describe the real answer on the page, not just the logo.
Run a free scan on any URL to see what JSON-LD an engine finds, whether it is valid, and where it disagrees with the page. For the build-it version, read how to structure a page for AI answers.