JSON-LD (JavaScript Object Notation for Linked Data) is a structured data format that makes web page content machine-readable by embedding it inside a <script type="application/ld+json"> tag. Unlike older formats that require modifying your HTML, JSON-LD keeps all structured data in one clean block. Pages with JSON-LD are 35% more likely to appear in rich results, per Google's research.

Format
script type="application/ld+json"
Category
Structured Data
Rich result lift
35% more likely
Difficulty
Intermediate

Google can read your page. But without structured data, it has to guess what type of content it is, who wrote it, and what the key facts are. JSON-LD removes the guesswork — and gives you control over how your content appears in SERPs, AI answers, and Knowledge Graph panels.

What is JSON-LD?

JSON-LD stands for JavaScript Object Notation for Linked Data. It uses standard JSON — the same format APIs use to exchange data — to describe entities and their relationships in a format search engines and AI systems understand natively.

The format builds on two standards:

  • JSON — the data format (key-value pairs, arrays, nested objects)
  • Schema.org vocabulary — the shared language (what "@type": "Article" means, what properties it expects)

JSON-LD is the format. Schema.org is the vocabulary. You need both. A JSON-LD block without Schema.org types is just data. Schema.org types without JSON-LD (implemented as Microdata or RDFa) work but require editing your HTML directly — which is why Google recommends JSON-LD as the simpler, cleaner implementation path.

Google's official recommendation

Google's Search Central documentation states: "Google recommends using JSON-LD for structured data whenever possible." All new Schema.org features are tested against JSON-LD first. Microdata and RDFa are supported but not the preferred implementation.

Why JSON-LD matters for SEO and AI visibility

Structured data has compounding benefits across search, AI, and conversion. There are four concrete reasons to implement it:

  1. Rich result eligibility. FAQ dropdowns, star ratings, How-To steps, event listings, product prices — all require structured data. Pages without it are invisible in rich result formats.
  2. Knowledge Graph inclusion. JSON-LD Organization and Person markup helps Google connect your brand to its Knowledge Graph, improving brand recognition in SERPs and reducing "is this entity legitimate?" uncertainty.
  3. AI citation surface. Perplexity, ChatGPT, and Gemini parse structured data when constructing answers. FAQPage and Article schema in particular make content easier to extract and attribute correctly.
  4. Implementation simplicity. A single script block in the page head. No class attributes scattered across HTML. No risk of breaking visual layout when updating structured data.

How JSON-LD works on a web page

A JSON-LD block sits inside a <script> tag in the HTML head. Search engine crawlers parse it independently from the visible content — they don't need to render the page to read it.

<!-- Basic JSON-LD structure -->
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "How to Do Keyword Research",
  "author": {
    "@type": "Person",
    "name": "Akshay VR"
  },
  "datePublished": "2026-07-01"
}
</script>

The @context property tells parsers which vocabulary is being used (always schema.org). The @type property defines the entity type. Everything else is a property of that entity, following the Schema.org specification for that type.

Multiple JSON-LD blocks on one page

A page can have multiple JSON-LD script blocks — one for the BreadcrumbList, one for the Article, one for the FAQPage. Google processes each independently. This is cleaner than trying to nest everything into a single complex object.

JSON-LD schema types and their SERP impact

Schema typeRich result gainedCTR impactWhen to use
FAQPage Expandable Q&A dropdowns under listing Up to 3x more SERP real estate Any page with 3+ FAQ items
ArticleAuthor, date in Knowledge PanelE-E-A-T signal to GoogleBlog posts, news articles
LocalBusinessMap panel, hours, ratings+22% CTR for local listingsLocation-based service pages
ProductPrice, availability, star ratingsHigh — shopping rich resultsE-commerce product pages
HowToStep-by-step instructions in SERPModerateTutorial and guide content
BreadcrumbListURL path shown in search listingImproves click confidenceAll multi-level pages

Real JSON-LD examples

Example 1 — LocalBusiness with ratings

A dental practice adds LocalBusiness markup with name, address, phone, hours, and aggregate rating. Result: the Google Business listing pulls the structured data, and the organic listing shows star ratings and hours directly in SERPs. Click-through rate increases 22% because the listing stands out from plain-text competitors.

# LocalBusiness JSON-LD
{
  "@type": "LocalBusiness",
  "name": "City Dental Clinic",
  "address": { "@type": "PostalAddress", "streetAddress": "123 Main St" },
  "aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.9", "reviewCount": "127" }
}

Example 2 — FAQPage for 3x SERP coverage

A marketing agency adds FAQPage markup to their email marketing guide. Three FAQ items appear as expandable dropdowns beneath the organic listing, giving the page 3x more SERP real estate than standard blue links. Impressions increase 40% with no change in content.

All three formats tell search engines the same thing. The difference is how they're implemented.

Choose JSON-LD when

  • Starting structured data from scratch
  • Your team includes developers unfamiliar with schema
  • You need to update structured data without touching HTML
  • Using a CMS (WordPress, Webflow, Astro)
  • Implementing FAQPage, HowTo, or Article schema

Consider Microdata when

  • Your CMS injects it automatically into HTML templates
  • You have complex, entity-rich pages where inline context helps
  • A platform requires it (legacy systems)
  • You're implementing Review markup tied to HTML elements

7 best practices for JSON-LD implementation

  1. Match schema to actual page content. If the page doesn't have FAQ content, don't add FAQPage schema. Google penalises misleading structured data as a spam signal.
  2. Always validate before deploying. Use Google's Rich Results Test to catch missing required fields before they affect indexing.
  3. Use multiple script blocks rather than one giant nested object. Easier to maintain, easier to debug, and Google processes each independently.
  4. Populate the dateModified field on Article schema. Keeping it current signals content freshness — a factor in news and evergreen ranking.
  5. Add BreadcrumbList to every page. It costs 10 lines of JSON-LD and improves how the URL displays in SERPs on every page on the site.
  6. Implement Organization schema on the homepage. Includes logo, social profiles, and contact details — these feed Google's Knowledge Panel for brand searches.
  7. Audit quarterly. Schema.org releases new types and deprecates old ones. An annual audit catches any structured data that no longer matches the page or the spec.
Common mistake — structured data that doesn't match the page

Adding 5-star AggregateRating schema to a page that doesn't show reviews, or adding FAQPage schema with questions not visible on the page, violates Google's structured data guidelines. Google has issued manual actions for structured data spam. The rule: only mark up content that appears on the page for users.

Common JSON-LD mistakes to avoid

  • Missing required fields. Schema.org marks certain properties as "required" for rich result eligibility. FAQPage requires both "name" and "acceptedAnswer" on every Question node.
  • Incorrect @type values. "Blog" is not a Schema.org type. "Article" and "BlogPosting" are. Using non-standard types produces no benefit.
  • Duplicating schema across the entire site. Organization schema belongs on the homepage. Article schema belongs on article pages. Putting Organization schema on every page dilutes the signal.
  • Forgetting to update structured data after page changes. Stale dates, outdated prices, or removed FAQs in schema while the page shows different content flags inconsistency to Google.
  • Using JSON-LD for content that doesn't exist on the page. This is the fastest route to a structured data manual action penalty.

Frequently asked questions

Yes, for most cases. Google recommends JSON-LD because it is easier to implement and maintain. Microdata requires inline HTML annotations throughout the page, while JSON-LD keeps all structured data in one clean script block.

No direct ranking boost, but JSON-LD enables rich results that increase click-through rates, sending positive engagement signals to Google. It is a visibility amplifier rather than a direct ranking factor.

Use Google's Rich Results Test (search.google.com/test/rich-results) or Schema.org's Markup Validator to check syntax, required fields, and rich result eligibility before deployment.

The most impactful types for SEO are FAQPage, Article, LocalBusiness, Product, HowTo, BreadcrumbList, and Organization. FAQPage and HowTo have the highest visibility impact — they win expanded SERP real estate visible to all users.

JSON-LD should go in the head section of the HTML document inside a script tag with type="application/ld+json". It can also go in the body, but the head is the recommended placement for performance and consistency with Google's guidelines.

Sources

Akshay VR

Akshay VR

Marketing Head · theStacc · ex-Sr Marketing Specialist, ARKA 360 · Malappuram, Kerala

Akshay leads editorial and content operations at theStacc. He writes about SEO craft, structured data, and the technical decisions that compound into better SERP visibility — including how to implement JSON-LD correctly without triggering manual actions.