Glossary

AI Crawlers & Technical

JSON-LD

JSON-LD (JavaScript Object Notation for Linked Data) is the recommended format for embedding structured data in web pages. It places Schema.org markup in a script tag as a clean JSON block, separate from visible HTML, making it the easiest format to implement, validate and maintain, and the one Google recommends.

The format that won structured data

Three syntaxes can express Schema.org markup: microdata and RDFa, which weave attributes into HTML tags, and JSON-LD, which isolates the entire description in one script block of type application/ld+json. JSON-LD won because separation beats entanglement: developers write and review one self-contained JSON object, templates stay clean, and markup survives redesigns that would shred inline attributes. Google explicitly recommends it, and virtually all modern structured data tooling, generators and validators assume it.

Anatomy and common mistakes

A JSON-LD block declares @context (https://schema.org), @type (Organization, Product, FAQPage) and properties describing the entity, with nested objects and @id references linking entities across pages. Frequent failures: markup that contradicts visible content, which risks manual penalties; stale data like outdated prices left in templates; duplicate conflicting blocks from plugins; and the AI-era classic, injecting JSON-LD via tag managers or client-side scripts. Since most AI crawlers skip JavaScript rendering, injected markup never reaches them; JSON-LD must ship in the server-rendered HTML to be machine-visible everywhere.

JSON-LD in an AI visibility workflow

For GEO purposes, prioritize a complete Organization block with sameAs links establishing your brand entity, then per-page types matching content: Article for posts, Product for offerings, FAQPage for question content. Keep one source of truth generating the markup so facts never drift, and validate after template changes. The payoff is disambiguation: consistent JSON-LD helps search and AI systems resolve your brand as a distinct entity in the knowledge graph, supporting accurate AI brand mentions rather than confusions with similarly named companies.

Frequently asked questions

Why is JSON-LD preferred over microdata?

JSON-LD lives in one self-contained script block, decoupled from page markup, so it is easier to generate programmatically, validate, and keep intact through redesigns. Microdata scatters attributes across HTML elements, making maintenance error-prone. Google recommends JSON-LD, and modern tooling is built around it.

Where should JSON-LD be placed in the page?

In the head or body of the server-rendered HTML; both work for parsers. What matters is that it ships in the initial HTML response rather than being injected by JavaScript afterward, because most AI crawlers never execute scripts and would otherwise see no markup at all.

Can one page have multiple JSON-LD blocks?

Yes, multiple blocks or a single block with an array of types are both valid, for example Organization plus Article plus FAQPage on one post. Avoid duplicate blocks describing the same entity differently, often caused by overlapping plugins, since conflicting facts undermine the disambiguation value markup exists to provide.

Related terms

Last updated: 2026-06-11

Track this for your brand

Geonimo monitors how ChatGPT, Perplexity, Claude, Gemini and Google AI talk about your brand — and generates the content that gets you cited.

Get your free audit