What Is JSON-LD? The Recommended Format for Structured Data

JSON-LD (JavaScript Object Notation for Linked Data) is a format for embedding structured data in a webpage using a single <script type="application/ld+json"> block, kept separate from the visible HTML content. Google's documentation explicitly recommends JSON-LD as its preferred structured data format, over the alternative formats Microdata and RDFa, largely because it can be added or updated without touching the page's visual markup.

Published: Sep 5, 2026 Last updated: Sep 5, 2026 Reviewed by: NOXEL Research Reading time: ~7 min Difficulty: Intermediate Primary topic: Structured Data

Definition

JSON-LD encodes structured data as a JSON object describing entities on the page — their type, properties, and relationships — using vocabulary primarily drawn from Schema.org. Unlike Microdata or RDFa, which require adding attributes directly to existing HTML elements, JSON-LD lives in its own script block and can describe the page's content independently of its visual layout. Established

Basic Example

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Example Article Title",
  "author": { "@type": "Person", "name": "Jane Doe" },
  "datePublished": "2026-09-05"
}
</script>

The @context field declares the vocabulary being used (almost always https://schema.org), and @type specifies which schema type the object represents. Properties beneath it map to that type's defined fields. Established

Why Google Recommends It

Google's Search Central documentation states a preference for JSON-LD where supported, citing that it's easier for Google to identify entity relationships and update as a page's content changes, since the structured data block is decoupled from the page's visible HTML. Google supports Microdata and RDFa as well for most structured data features, but JSON-LD remains the primary recommendation. Established

Multiple JSON-LD Blocks

A page can include multiple separate <script type="application/ld+json"> blocks — for example, one for Article, one for BreadcrumbList, and one for FAQPage — rather than needing to nest every type inside a single object, though nesting related entities inside one block (e.g., an author object inside an Article) is also valid and common. Established

Validating JSON-LD

Google provides the Rich Results Test to check whether structured data on a page is valid and eligible for specific rich result features, and Search Console's Enhancements reports surface structured data errors detected across a site over time. Schema.org itself does not validate implementations; validation is done through search-engine-specific tools instead. Established

Common Mistakes

FAQ

Is JSON-LD required for SEO?

No, but it's Google's recommended format for structured data, which can make a page eligible for rich results like breadcrumbs, FAQs (where still supported), and article rich snippets.

Can I use both JSON-LD and Microdata on the same page?

Technically yes, but Google's guidance recommends using a single format consistently per data type on a page to avoid conflicting or duplicate structured data signals.

How do I check if my JSON-LD is valid?

Use Google's Rich Results Test to validate syntax and rich-result eligibility, and monitor the Enhancements reports in Google Search Console for ongoing structured data errors.

Sources

  1. Google Search Central. "Intro to How Structured Data Markup Works." developers.google.com
  2. Schema.org. "JSON-LD." schema.org

← Back to Learn