What JSON-LD is
JSON-LD (JavaScript Object Notation for Linked Data) is a W3C standard for describing things as structured data. On websites it is used to add schema.org vocabulary, such as Article, Product, Organization or BreadcrumbList, inside a <script type="application/ld+json"> tag.
Because the data sits in its own block instead of being woven through the HTML like Microdata or RDFa, it is easy to add, generate and maintain. Google recommends JSON-LD wherever a site can use it.
How search engines use it
Structured data tells search engines exactly what a page is about: the price and availability of a product, the author and date of an article, the steps in a recipe. Google uses it to understand pages and to decide whether a page is eligible for rich snippets such as review stars, product prices and breadcrumbs.
Eligibility is not a guarantee. Google shows rich results only when the markup is valid, matches visible content and the page meets its quality guidelines.
Common JSON-LD errors
The most common problems are invalid JSON (a trailing comma or an unescaped quote breaks the whole block), a missing @context, misspelled types or properties, and missing required properties such as offers on a Product. Markup that describes content users cannot see, such as reviews that are not on the page, can earn a manual action.
Test every template after a change, not only one page: a CMS update that breaks a single field breaks it on thousands of URLs.
Example
Organization markup in JSON-LD:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Example Co",
"url": "https://example.com",
"logo": "https://example.com/logo.png",
"sameAs": ["https://www.linkedin.com/company/example"]
}
</script>