SEO Guide

Structured Data, JSON-LD, Schema & Rich Results: Differences & Implementation

Are structured data and JSON-LD the same thing? What exactly is a schema? We clarify the four related concepts, then walk through JSON-LD implementation with practical examples.

12 min read2026-04-02

Structured data is a general term for markup that describes page content in a machine-readable format. Schema.org defines the vocabulary (what to communicate), JSON-LD is the syntax (how to write it), and rich results are the outcome (how Google displays it). These four concepts operate at different layers — they are not interchangeable.

Understanding the Four Concepts

"Structured data," "JSON-LD," "Schema.org," and "rich results" are often confused, but each plays a distinct role. Understanding their relationship before implementation makes the what and how of writing markup much clearer.

Structured Data = The Goal

The broadest concept. It refers to any data that describes page content in a machine-readable format. JSON-LD, Microdata, and RDFa are all forms of structured data.

Schema.org = The Vocabulary

A standardized vocabulary co-developed by Google, Microsoft, Yahoo!, and Yandex. It defines types (Article, FAQPage, Product, etc.) and their properties (headline, author, price). Think of it as the dictionary for structured data.

JSON-LD = The Syntax

The format used to write Schema.org vocabulary into HTML. While Microdata and RDFa also exist, Google officially recommends JSON-LD (per Google Search Central). Its main advantage is that it lives in a standalone <script> tag without touching your HTML content.

Rich Results = The Outcome

The enhanced UI that Google displays in search results after reading your structured data. FAQ accordions, star ratings, breadcrumbs, and product prices are all rich results. Even with correct implementation, Google may choose not to display them.

How the four concepts relate

Schema.org
(vocabulary)
+
JSON-LD
(syntax)
Structured Data (implementation)
↓ if Google adopts it
Rich Results (visible outcome)

Why Structured Data Matters in 2026

CTR Boost from Rich Results

Data shows rich results increase CTR by 20-30% compared to standard listings. FAQ accordions increase the visual footprint in search results, while breadcrumbs signal trustworthy site structure.

Higher Citation Rates in AI Search (AIO/GEO)

With Google AI Overview, ChatGPT, and Perplexity expanding AI-powered search, structured data has become even more valuable. When AI systems source answers from websites, explicitly marked-up JSON-LD information serves as a useful clue.

According to Seer Interactive's research, 55% of content cited in AI Overviews is extracted from the top 30% of a page, suggesting that information explicitly marked up with structured data at the top of pages gets preferential treatment.

Sources: Seer Interactive "AI Overview Citation Analysis", Google Search Central "How structured data works"

Current Adoption — Room to Differentiate

Only about 35% of sites correctly implement structured data. Adoption is even lower for advanced types like LocalBusiness, HowTo, and Product — there's still plenty of room to differentiate.

+20–30%

CTR increase with rich results

~35%

Sites with correct structured data

55%

AIO citations from top 30% of page

Key Schema.org Types

Schema.org defines hundreds of types, but the following eight are most impactful for SEO and AIO. Each enables different rich result features.

TypeUse CaseRich Result Effect
FAQPageFAQ pagesQ&A accordion appears in search results
ArticleBlog posts & newsAuthor, date, and thumbnail shown
ProductProduct pagesPrice, rating, and availability shown
BreadcrumbListBreadcrumb navigationPath shown instead of raw URL
OrganizationCompany/organization infoInfo appears in Knowledge Panel
LocalBusinessLocal shops & businessesShown in Maps & local search
HowToStep-by-step guidesSteps displayed in search results
WebSiteSite-wide informationSitelinks search box appears

How to Write JSON-LD (with Examples)

JSON-LD is written as a JSON object inside a <script type="application/ld+json"> tag. Declare the schema.org vocabulary with @context and specify the type with @type. Here are three common implementation examples.

FAQPage

Used for FAQ pages. The Q&A content must match what is actually visible on the page.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "構造化データとは何ですか?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Webページの内容を検索エンジンが理解しやすい形式で記述するマークアップです。"
      }
    }
  ]
}
</script>

Article

Used for blog posts and news articles. The author and publisher fields affect credibility display in search results and E-E-A-T evaluation.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "ページのタイトル",
  "author": {
    "@type": "Person",
    "name": "著者名",
    "url": "https://example.com/about"
  },
  "publisher": {
    "@type": "Organization",
    "name": "サイト名",
    "logo": {
      "@type": "ImageObject",
      "url": "https://example.com/logo.png"
    }
  },
  "datePublished": "2026-05-12",
  "dateModified": "2026-05-12",
  "image": "https://example.com/article-image.jpg"
}
</script>

LocalBusiness

Used for businesses with physical locations. Directly affects Google Maps and local search display, so ensure address, phone, and hours are accurate.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "カフェ サンプル 渋谷店",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "神宮前1-2-3",
    "addressLocality": "渋谷区",
    "addressRegion": "東京都",
    "postalCode": "150-0001",
    "addressCountry": "JP"
  },
  "telephone": "+81-3-1234-5678",
  "openingHoursSpecification": {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
    "opens": "09:00",
    "closes": "18:00"
  }
}
</script>

All JSON-LD can be placed in <head> or <body>. Google accepts both (per Google Search Central), but <head> placement is common for easier maintenance.

Common Mistakes to Avoid

Missing @context

Without "@context": "https://schema.org" at the top of your JSON-LD, Google cannot identify the vocabulary namespace and will return an error. Include it in every JSON-LD block.

Structured data doesn't match page content

If information in your structured data (price, rating, FAQ text) is not actually visible on the page, it violates Google's guidelines and risks a Manual Action penalty.

Missing required properties

Each schema.org type has required properties. For example, Product requires "name". Use Google's Rich Results Test before publishing to catch missing properties.

JSON syntax errors

Missing commas, unclosed brackets, or mismatched quotes will invalidate your entire JSON-LD block. Always validate with a JSON linter or the Rich Results Test.

Duplicate types on the same page

Multiple JSON-LD blocks with the same @type can confuse Google about which to reference. The general rule is one type per page (with exceptions like BreadcrumbList).

Check Your Site's Structured Data

Enter a URL to instantly diagnose your structured data — missing types, errors, and more. We also auto-generate the JSON-LD code you need to fix issues.

今井政和

Written by

今井政和

SEO Director / Frontend Developer

SEO Director with 20+ years of web industry experience. Creator of CodeQuest.work SEO and the official WordPress plugin "ORECTIC SEO CHECK." Author of a book on web strategy inspired by Edo-era merchant principles.

@imai_director

FAQ

What is structured data?
Structured data is an umbrella term for markup that helps search engines understand web page content. It uses vocabulary defined by Schema.org and can be written in JSON-LD, Microdata, or RDFa. "Structured data" is the broad concept; JSON-LD and Schema.org are specific components within it.
What is the difference between structured data and JSON-LD?
Structured data is the concept of describing web page information in a machine-readable format. JSON-LD is one specific format (syntax) for writing that structured data. Microdata and RDFa are alternatives, but Google recommends JSON-LD. In short, JSON-LD is a type of structured data format.
Where should I place JSON-LD in my HTML?
Google accepts JSON-LD in both <head> and <body>. Placing it in <head> is common in Next.js and WordPress projects for easier maintenance. Wrap it in a <script type="application/ld+json"> tag. You can include multiple JSON-LD blocks on a single page.
Does structured data improve SEO rankings?
Structured data is not a direct ranking factor, but rich results can increase CTR by 20-30%. In 2026, it also contributes to higher citation rates in AI search (Google AI Overview, ChatGPT). It helps Google accurately understand your content, benefiting E-E-A-T evaluation.
Does structured data help with AI search (AIO/GEO)?
Yes. When AI search engines (Google AI Overview, ChatGPT, Perplexity) cite web pages, JSON-LD markup serves as a key signal. Seer Interactive's research shows 55% of AIO-cited content comes from the top 30% of a page, suggesting that explicit structured data markup improves citation rates.