JSON-LD(JavaScript Object Notation for Linked Data)は、AI検索時代における最重要のSEO施策の1つです。Googleが2015年から推奨する形式で、2026年現在、Google AI Overview・ChatGPT Search・Perplexityなどの生成AI検索で引用される記事の78%が構造化データを実装しています。
JSON-LDとは何か
JSON-LDは、ウェブページの内容をJSON形式で構造化してAI・検索エンジンに伝えるための技術です。従来のSEOに加えて、AI検索時代においては必須の実装となっています。
JSON-LDの基本構造
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "記事タイトル",
"author": {
"@type": "Person",
"name": "著者名"
},
"datePublished": "2026-04-14"
}
</script>
JSON-LDの要素解説
| 要素 | 説明 | 必須 |
|---|---|---|
@context | スキーマの文脈を指定 | 必須 |
@type | スキーマのタイプ | 必須 |
| プロパティ | 各タイプ固有のデータ | 推奨 |
主要スキーマの実装例
Article スキーマ(ブログ記事・ニュース記事)
ブログ記事やニュース記事に使用するArticleスキーマです。
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "構造化データJSON-LDの書き方【実装コード例付き】",
"description": "構造化データJSON-LDの書き方を完全解説。主要スキーマの実装コード例を完全網羅。",
"image": "https://0120.co.jp/blog/aio-50/cover.jpg",
"datePublished": "2026-04-14T10:00:00+09:00",
"dateModified": "2026-04-14T10:00:00+09:00",
"author": {
"@type": "Person",
"name": "上田 拓哉",
"url": "https://0120.co.jp/company/",
"jobTitle": "代表取締役",
"worksFor": {
"@type": "Organization",
"name": "株式会社課題解決プラットフォーム"
}
},
"publisher": {
"@type": "Organization",
"name": "株式会社課題解決プラットフォーム",
"logo": {
"@type": "ImageObject",
"url": "https://0120.co.jp/logo.png"
}
},
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://0120.co.jp/blog/aio-50/"
}
}
</script>
Article スキーマの主要プロパティ
| プロパティ | 必須 | 説明 |
|---|---|---|
headline | 必須 | 記事タイトル(110文字以内) |
description | 推奨 | 記事の説明文 |
image | 必須 | アイキャッチ画像URL |
datePublished | 必須 | 公開日(ISO 8601形式) |
dateModified | 推奨 | 最終更新日 |
author | 必須 | 著者情報 |
publisher | 必須 | 発行元組織 |
mainEntityOfPage | 推奨 | メインとなるURL |
FAQPage スキーマ(よくある質問)
FAQセクションに使用するFAQPageスキーマは、AI検索で最も引用されやすい形式です。
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "JSON-LDとは何ですか?",
"acceptedAnswer": {
"@type": "Answer",
"text": "JSON-LDは、JSON形式で構造化データを記述する方式です。Googleが2015年から推奨している形式で、現在では最も普及している構造化データの実装方法です。"
}
},
{
"@type": "Question",
"name": "JSON-LDはどこに配置すればいいですか?",
"acceptedAnswer": {
"@type": "Answer",
"text": "HTMLのheadタグ内またはbodyタグ内に<script type=\"application/ld+json\">で囲んで配置します。headタグ内が推奨されます。"
}
},
{
"@type": "Question",
"name": "複数のFAQを記述できますか?",
"acceptedAnswer": {
"@type": "Answer",
"text": "はい、mainEntity配列内に複数のQuestionオブジェクトを記述できます。上限はありませんが、10〜20問程度が実用的です。"
}
}
]
}
</script>
LocalBusiness スキーマ(店舗・地域ビジネス)
実店舗を持つ企業・店舗ページに使用するスキーマです。
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "株式会社課題解決プラットフォーム",
"image": "https://0120.co.jp/office.jpg",
"@id": "https://0120.co.jp/",
"url": "https://0120.co.jp/",
"telephone": "+81-42-445-5602",
"priceRange": "¥¥",
"address": {
"@type": "PostalAddress",
"streetAddress": "谷戸町3-27-24 ひばりが丘プラザ2階",
"addressLocality": "西東京市",
"addressRegion": "東京都",
"postalCode": "188-0001",
"addressCountry": "JP"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 35.750037,
"longitude": 139.541217
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "09:00",
"closes": "18:00"
}
],
"sameAs": [
"https://www.instagram.com/kadai_kaiketu/",
"https://www.youtube.com/@kadaikaiketsu"
]
}
</script>
HowTo スキーマ(手順解説)
手順を解説する記事に使用するHowToスキーマです。
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "llms.txtの設定手順",
"description": "サイトのルートディレクトリにllms.txtを設置する手順を解説",
"totalTime": "PT30M",
"estimatedCost": {
"@type": "MonetaryAmount",
"currency": "JPY",
"value": "0"
},
"supply": [
{
"@type": "HowToSupply",
"name": "テキストエディタ"
}
],
"step": [
{
"@type": "HowToStep",
"position": 1,
"name": "サイト情報の整理",
"text": "会社情報・主要サービス・専門コンテンツを整理します。",
"url": "https://0120.co.jp/blog/aio-47/#step1"
},
{
"@type": "HowToStep",
"position": 2,
"name": "llms.txtファイルの作成",
"text": "Markdown形式でllms.txtファイルを作成します。",
"url": "https://0120.co.jp/blog/aio-47/#step2"
},
{
"@type": "HowToStep",
"position": 3,
"name": "サーバーへのアップロード",
"text": "サイトのルートディレクトリにファイルをアップロードします。",
"url": "https://0120.co.jp/blog/aio-47/#step3"
}
]
}
</script>
Organization スキーマ(会社情報)
会社・組織の情報を表現するスキーマです。
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "株式会社課題解決プラットフォーム",
"alternateName": "課題解決プラットフォーム",
"url": "https://0120.co.jp/",
"logo": "https://0120.co.jp/logo.png",
"description": "MEO対策・AI研修・動画制作・AIO(AI検索最適化)を提供する専門会社",
"foundingDate": "2023",
"founder": {
"@type": "Person",
"name": "上田 拓哉"
},
"address": {
"@type": "PostalAddress",
"streetAddress": "谷戸町3-27-24 ひばりが丘プラザ2階",
"addressLocality": "西東京市",
"addressRegion": "東京都",
"postalCode": "188-0001",
"addressCountry": "JP"
},
"contactPoint": {
"@type": "ContactPoint",
"telephone": "+81-42-445-5602",
"contactType": "customer service",
"email": "[email protected]",
"availableLanguage": "Japanese"
},
"sameAs": [
"https://www.instagram.com/kadai_kaiketu/",
"https://www.youtube.com/@kadaikaiketsu"
]
}
</script>
Product スキーマ(商品・サービス)
商品やサービスを表現するスキーマです。
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Service",
"name": "AIO(AI検索最適化)サービス",
"description": "AI検索でのブランド可視性を高める包括的サービス",
"provider": {
"@type": "Organization",
"name": "株式会社課題解決プラットフォーム"
},
"offers": [
{
"@type": "Offer",
"name": "AIO診断",
"price": "100000",
"priceCurrency": "JPY",
"description": "AI検索での自社言及状況調査"
},
{
"@type": "Offer",
"name": "スタンダードプラン",
"price": "150000",
"priceCurrency": "JPY",
"description": "月額での継続的なAIO対策"
},
{
"@type": "Offer",
"name": "プレミアムプラン",
"price": "300000",
"priceCurrency": "JPY",
"description": "包括的GEO戦略"
}
]
}
</script>
BreadcrumbList スキーマ(パンくずリスト)
サイトの階層構造を示すパンくずリストのスキーマです。
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "ホーム",
"item": "https://0120.co.jp/"
},
{
"@type": "ListItem",
"position": 2,
"name": "ブログ",
"item": "https://0120.co.jp/blog/"
},
{
"@type": "ListItem",
"position": 3,
"name": "構造化データJSON-LDの書き方",
"item": "https://0120.co.jp/blog/aio-50/"
}
]
}
</script>
複数スキーマの統合実装
1つのページに複数のスキーマを配置する場合の実装方法です。
方法1: 複数のscriptタグ
最もシンプルな方法です。
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
...
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
...
}
</script>
方法2: @graph を使用した統合
1つのscriptタグ内に複数のスキーマをまとめる方法です。
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Article",
"@id": "https://0120.co.jp/blog/aio-50/#article",
"headline": "構造化データJSON-LDの書き方",
...
},
{
"@type": "FAQPage",
"@id": "https://0120.co.jp/blog/aio-50/#faq",
"mainEntity": [
...
]
},
{
"@type": "BreadcrumbList",
"@id": "https://0120.co.jp/blog/aio-50/#breadcrumb",
"itemListElement": [
...
]
}
]
}
</script>
スキーマタイプ別の使い分け
どの状況でどのスキーマを使うべきかの判断基準を紹介します。
| ページタイプ | 推奨スキーマ | 優先度 |
|---|---|---|
| ブログ記事 | Article + FAQPage | 最高 |
| サービス紹介 | Service + Organization | 高 |
| 商品ページ | Product + Review | 高 |
| 会社概要 | Organization + LocalBusiness | 最高 |
| トップページ | Organization + WebSite | 高 |
| よくある質問 | FAQPage | 最高 |
| 手順解説 | HowTo | 高 |
| イベント告知 | Event | 中 |
| レビュー | Review + Rating | 中 |
| レシピ | Recipe | 中 |
実装時のよくある間違い
間違い1: datePublishedの形式ミス
誤り:
"datePublished": "2026/4/14"
正しい:
"datePublished": "2026-04-14"
ISO 8601形式(YYYY-MM-DD)で記述する必要があります。
間違い2: URLのhttps://抜け
誤り:
"@context": "schema.org"
正しい:
"@context": "https://schema.org"
間違い3: 必須プロパティの欠落
Articleスキーマではheadline、image、datePublished、author、publisherが必須です。これらが欠けているとリッチリザルトの対象外になります。
間違い4: 画像URLの相対パス
誤り:
"image": "/logo.png"
正しい:
"image": "https://0120.co.jp/logo.png"
検証ツールの使い方
Googleリッチリザルトテスト
https://search.google.com/test/rich-resultsにアクセス- URLまたはコードを入力
- 「URLをテスト」または「コードをテスト」をクリック
- エラー・警告を確認
Schema.org バリデーター
https://validator.schema.org/にアクセス- URLまたはコードを貼り付け
- 「RUN TEST」をクリック
- 構文エラーを確認
Google Search Console
- 対象サイトにアクセス
- 左メニューの「拡張」セクションを確認
- 各スキーマタイプのステータスを確認
- エラーがあれば詳細を確認して修正
AI検索時代の構造化データ戦略
構造化データは、Google検索だけでなくAI検索でも重要な役割を果たします。
AI検索での構造化データの効果
| AI検索サービス | 構造化データの効果 |
|---|---|
| Google AI Overview | 引用率1.9倍向上 |
| ChatGPT Search | 引用率1.7倍向上 |
| Perplexity | 引用率2.1倍向上 |
| Gemini | 引用率1.5倍向上 |
| Bing Copilot | 引用率1.6倍向上 |
特にFAQPageスキーマはすべてのAI検索で高い効果を発揮します。
構造化データの優先実装順
限られたリソースで構造化データを実装する際の優先順位です。
| 優先度 | スキーマ | 実装対象 |
|---|---|---|
| 1 | FAQPage | 全ブログ記事 |
| 2 | Article | 全ブログ記事 |
| 3 | Organization | トップページ |
| 4 | LocalBusiness | 会社概要ページ |
| 5 | BreadcrumbList | 全ページ |
| 6 | HowTo | 手順解説記事 |
| 7 | Service | サービスページ |
| 8 | Product | 商品ページ |
Next.jsでの実装例
Next.jsアプリでJSON-LDを実装する例です。
// components/JsonLd.tsx
export const JsonLd = ({ data }: { data: object }) => (
<script
type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify(data) }}
/>
)
// app/blog/[slug]/page.tsx
import { JsonLd } from '@/components/JsonLd'
export default function BlogPost({ post }) {
const articleSchema = {
'@context': 'https://schema.org',
'@type': 'Article',
headline: post.title,
datePublished: post.date,
dateModified: post.lastUpdated,
author: {
'@type': 'Person',
name: '上田 拓哉',
},
}
return (
<>
<JsonLd data={articleSchema} />
<article>{/* 記事本文 */}</article>
</>
)
}
当社のAIOサービス
構造化データの完全実装を含む包括的なAI検索最適化は、AIO(AI検索最適化)サービスでご支援しています。
| プラン | 料金 | 内容 |
|---|---|---|
| AIO診断 | 100,000円(1回) | 現状の構造化データ監査 |
| スタンダード | 150,000円/月 | 全ページへの実装・検証・改善 |
| プレミアム | 300,000円/月 | 高度なスキーマ設計と継続最適化 |
まとめ: 構造化データ実装の3ステップ
- FAQPageから始める——最も引用効果が高く実装が簡単
- Article・Organizationを追加する——基本情報を構造化
- 定期的に検証する——リッチリザルトテストで常に確認
構造化データは、AI検索時代における最もROIが高いSEO施策の1つです。今週から実装を始めることをお勧めします。
関連記事:
