Developer & API

JSON-LD

Also known as: Schema.org JSON-LD, Structured data

4 min read·Updated 2026-05-06

Quick definition

JSON-LD (JSON for Linked Data) is the structured-data format Google, Bing, and other search engines recommend for marking up web pages with Schema.org vocabulary — enabling rich-result eligibility (FAQ snippets, How-to cards, breadcrumbs, recipe cards). For social and content pages, JSON-LD is the technical foundation of SEO rich-snippet visibility.

Contents
  1. 1. What is JSON-LD?
  2. 2. Why JSON-LD matters for content sites
  3. 3. JSON-LD vs Microdata vs RDFa
  4. API example
  5. Common pitfalls
  6. Tips
  7. FAQ

What is JSON-LD?

JSON-LD (JSON for Linked Data) is a W3C-standardized format for embedding semantic, machine-readable metadata in web pages. Search engines (Google primarily, then Bing, DuckDuckGo, Yandex) parse JSON-LD blocks to understand page content beyond what HTML alone reveals. The metadata follows Schema.org vocabulary — a shared ontology defining types like Article, FAQPage, Product, Recipe, BreadcrumbList, Person, Organization, DefinedTerm, and hundreds more.

The structure: JSON-LD blocks are embedded in `<script type='application/ld+json'>` tags inside the HTML head or body. Each block declares an `@context` (almost always `https://schema.org`) and a `@type` matching the Schema.org vocabulary. The body of the block describes the entity in JSON form. Google Search Console's Rich Results Test (search.google.com/test/rich-results) validates JSON-LD and shows which rich-snippet eligibility unlocks.

Why JSON-LD matters for content sites

Three concrete benefits unlocked by Schema.org JSON-LD. (1) Rich snippets in SERPs — FAQ accordion in search results, How-to cards, recipe ratings, breadcrumb trails, product price/availability. Rich snippets dramatically increase CTR (click-through rate) — Google's case studies show 20-50% CTR improvements when rich snippets are eligible. (2) Knowledge graph eligibility — well-marked-up Person, Organization, and Product pages can populate Google's Knowledge Graph panel. (3) AI search visibility — generative AI search products (Google AI Overviews, Bing Copilot, Perplexity) preferentially cite pages with strong structured data because the markup is machine-readable signal of authoritativeness.

For a content site like a glossary, blog, or documentation hub, JSON-LD is the difference between 'plain blue links in SERPs' and 'rich expandable snippets that capture the click before competitors do.' CodivUpload's glossary uses DefinedTerm + DefinedTermSet + FAQPage + Article + BreadcrumbList markup for each entry — the format competitors like Buffer's glossary lack.

JSON-LD vs Microdata vs RDFa

Three formats exist for embedding structured data; JSON-LD has won. (1) JSON-LD — separate JSON block in `<script>` tag. Easy to maintain, doesn't pollute markup, Google's recommended format since 2014. (2) Microdata — inline HTML attributes (itemprop, itemtype). Older, harder to maintain, increasingly rare. (3) RDFa — alternative to Microdata, similar tradeoffs, even rarer.

Google, Bing, and most modern search engines accept all three but specifically recommend JSON-LD. New sites should always use JSON-LD; legacy sites using Microdata can migrate gradually but most have already converted. The reason JSON-LD won: it lets developers manage structured data as a separate concern from page rendering, avoiding the Microdata pattern where structured-data attributes were sprinkled across markup and hard to debug.

Article JSON-LD example

json

{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Best Time to Post on Instagram in 2026",
  "datePublished": "2026-05-06T00:00:00+00:00",
  "dateModified": "2026-05-06T00:00:00+00:00",
  "author": {
    "@type": "Organization",
    "name": "CodivUpload",
    "url": "https://codivupload.com"
  },
  "publisher": {
    "@type": "Organization",
    "name": "CodivUpload",
    "logo": {
      "@type": "ImageObject",
      "url": "https://codivupload.com/logo.png"
    }
  },
  "image": "https://codivupload.com/og/best-time.png",
  "mainEntityOfPage": "https://codivupload.com/blog/best-time-to-post"
}

Common pitfalls

  • ×Including JSON-LD that doesn't match visible page content — Google penalizes 'invisible content' markup
  • ×Forgetting to update dateModified when content changes — signals stale freshness to Google
  • ×Marking up FAQs that aren't actually visible on the page — explicit Google policy violation
  • ×Wrong @type for the content (Article vs BlogPosting vs NewsArticle) — picks up wrong rich-snippet eligibility
  • ×Including malformed JSON — a single trailing comma breaks the entire block silently

Tips

  • Test every JSON-LD block with Google Rich Results Test before deploying
  • Use a JSON-LD generator library (next-seo, schema-dts) instead of hand-writing
  • Add JSON-LD for FAQPage on any page with Q&A content — easiest rich-snippet win
  • Mark up BreadcrumbList on every category / nested page — visual SERP improvement
  • Validate JSON-LD with Schema.org Validator alongside Rich Results Test for spec compliance

Frequently asked questions

Does JSON-LD help SEO rankings directly?+

Indirectly. JSON-LD doesn't change ranking position directly, but rich snippets dramatically improve CTR which feeds back into ranking signals over time. JSON-LD is a CTR-multiplier, not a ranking-position multiplier.

Is JSON-LD better than Microdata?+

Yes — Google specifically recommends JSON-LD over Microdata since 2014. JSON-LD is easier to maintain, more reliable, and supported by every major search engine.

Can I use JSON-LD without a CMS?+

Yes — JSON-LD is just a `<script>` tag in HTML. Static sites, custom-built sites, and any framework can include it. Most modern frameworks (Next.js, Astro, Hugo, Gatsby) have JSON-LD plugins or built-in support.

How fast does JSON-LD show up as rich snippets in Google?+

Eligibility happens immediately, but rich-snippet display in SERPs typically takes 1-4 weeks for Google to start showing them. Submit a sitemap and request indexing to speed things up.

Should every page have JSON-LD?+

Yes — at minimum, every page should have BreadcrumbList and either Article (blog/glossary) or WebPage (other). High-value pages get more specific markup (FAQPage, Product, Recipe, etc.).

API responses you can mark up with JSON-LD

CodivUpload's REST API returns clean structured data — perfect for sites that surface scheduled-post information with Schema.org markup.

See API documentation

Related glossary terms

Back to all 209 glossary terms