What Is JSON-LD? The Preferred Syntax for Schema Markup
JSON-LD (JavaScript Object Notation for Linked Data) is the syntax that embeds structured data in a web page as a self-contained JSON block inside a <script type="application/ld+json"> tag. A W3C standard — JSON-LD 1.0 became a Recommendation in January 2014, updated to 1.1 in July 2020 — it is Google's explicitly recommended format for schema.org markup and the carrier for nearly all modern structured-data implementations.
Why did JSON-LD beat Microdata and RDFa?
Decoupling. Microdata and RDFa weave annotations into HTML attributes, so every markup change touches templates and every template refactor risks breaking annotations. JSON-LD lives in one block that can be generated from your CMS data, validated as plain JSON in CI, and updated without designers noticing. It also expresses things inline attributes handle awkwardly: entities not visibly on the page, graphs of interlinked nodes via @id, and multi-type declarations. The "LD" half — linked data — is what makes it more than JSON: @context maps keys to the schema.org vocabulary, and identifiers connect your nodes to each other and to external authorities like Wikidata.
What does a correct implementation look like?
A minimal Article example carries the load-bearing fields:
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "What Is JSON-LD?",
"author": { "@type": "Person", "name": "Jane Doe" },
"datePublished": "2026-07-05",
"publisher": { "@id": "https://example.com/#org" }
}
The @id reference pointing at an Organization node defined once sitewide is the pattern that turns scattered blocks into a coherent entity graph. Generate the JSON from the same source of truth as the visible content so the two can never disagree — mismatched markup is treated as spam signal territory.
Why does JSON-LD matter specifically for AI visibility?
Beyond feeding Google and Bing's entity systems, JSON-LD has a property unique among the syntaxes: it is readable as plain text by any LLM that fetches the page. A grounding agent parsing your HTML encounters a clean, unambiguous statement of who published the page, when it was updated, and what entity it describes — no inference required. That makes JSON-LD the cheapest machine-readability upgrade per line of code on a content site, provided it ships in the server-rendered HTML where non-rendering crawlers can actually see it.
Frequently asked questions
- Where does JSON-LD go in the page?
- Inside a script tag with type application/ld+json, in either the head or body — parsers accept both. It must be present in the server-delivered HTML, though: JSON-LD injected by client-side JavaScript is invisible to every crawler that does not render.
- How do I test JSON-LD markup?
- Two validators cover it: Google's Rich Results Test checks eligibility for Google's rich result features, and the Schema Markup Validator at validator.schema.org checks vocabulary correctness generally. Run both, since valid schema.org markup is not automatically rich-result eligible.
Keep exploring
See how AI engines talk about your brand — track mentions across ChatGPT, Perplexity, Claude, Gemini and 5 more. Start with Menra