構造化データとは、検索エンジンにページの内容を明示的に伝えるためのマークアップ技術です。HTMLだけでは「テキストがある」としか認識できない情報を、「これは商品レビューの評価で、星4.5で、価格は3,980円」のように意味づけして伝えられます。
競合サイトの検索結果に星評価やFAQが表示されているのに、自分のサイトは青いリンクだけ。そんな状況に気づいて「構造化データ」を調べ始めた方も多いのではないでしょうか。
Google公式の事例では、構造化データの実装でCTR(クリック率)が25%〜82%改善したケースが報告されています。この記事では、構造化データの基本からJSON-LDの書き方(コード例付き)、テスト方法、ページ種別ごとの優先順位まで、実装に必要な知識をまとめました。
\ テクニカルSEOの管理を効率化 /
inSite(インサイト)
インデックス状況・内部リンク・検索順位をまとめて管理。テクニカルSEOの現状把握を仕組み化して、構造化データ対応を含むサイト改善を効率的に進められます。
無料で試してみる ↗
構造化データとは?仕組みをわかりやすく解説
構造化データの仕組みを理解するポイントは、「人間が読むHTML」と「検索エンジンが読む構造化データ」は別物だということです。
通常のHTMLでは、Googleはページのテキストを読んで内容を推測します。しかし「4.5」という数字がレビュー評価なのか、価格なのか、サイズなのかまでは判断が難しい。構造化データは、こうした情報に「ラベル」を貼って、検索エンジンに意味を明示する仕組みです。
いわば、検索エンジンとの「共通言語」のようなもの。この共通言語を使うことで、Googleはページの内容をより正確に理解し、検索結果にリッチリザルト(星評価やFAQ表示など)を表示できるようになります。
構造化データの構成要素(ボキャブラリとシンタックス)
構造化データはボキャブラリ(語彙)とシンタックス(記述形式)の2つの要素で成り立っています。
- ボキャブラリ=「何を伝えるか」
Schema.orgが標準。Google、Microsoft、Yahoo!が共同で策定した語彙集で、「Article(記事)」「Product(商品)」「Person(人物)」など、あらゆるタイプが定義されている - シンタックス=「どう書くか」
JSON-LD、Microdata、RDFaの3形式がある。GoogleはJSON-LDを推奨
GoogleがJSON-LDを推奨する理由は明確です。Google Search Centralでは、「実装と管理が最も容易な形式」としてJSON-LDを挙げています。HTMLのコンテンツに手を加えず、<script> タグ内に独立して記述できるため、既存のページ構造を壊すリスクがありません。
実際、Web Almanac 2024の調査によると、JSON-LDの採用率は41%に達し、2022年の34%から着実に成長しています。Webの約半数(49%)のページが何らかの構造化データを実装しており、もはや特別な施策ではなく標準的な対応になりつつあります。
構造化データとSEOの関係|ランキング要因ではない
構造化データについて最も多い誤解が「実装すれば検索順位が上がる」というもの。構造化データは直接的なランキング要因ではありません。
GoogleのJohn Mueller氏は「構造化データを追加すればページのランキングが上がると言う人がいれば、それは間違い」と明言しています。
ただし、間接的にSEOに貢献する仕組みはあります。
- 構造化データを実装 → リッチリザルトの表示対象になる
- リッチリザルトが表示される → 検索結果での視認性が上がる
- 視認性が上がる → CTR(クリック率)が改善する
- CTRが改善する → サイトへの流入が増える
つまり、「順位が上がる」のではなく、「同じ順位でもクリックされやすくなる」施策です。SEOの基本を押さえたい方は、以下の記事も参考にしてみてください。
関連記事 SEOとは?初心者にもわかりやすく基本を解説 →構造化データのSEO効果とメリット
構造化データの効果を「メリットがある」で済ませず、具体的な数値で見ていきましょう。
リッチリザルトの表示でCTRが改善する
リッチリザルトが表示された検索結果の平均CTRは58%。通常結果の41%と比べて約1.4倍です。これはMileStone社が450万件超のクエリを分析した調査の結果です。
特にFAQ型のリッチリザルトはCTR 87%と、調査対象の中で最も高い数値を記録しています(ただし2023年8月の仕様変更で表示対象は大幅に制限されています)。
Google公式サイトでも、構造化データ導入企業の成功事例が紹介されています。
- Rotten Tomatoes:CTR +25%
- Food Network:アクセス数 +35%
- 楽天:ユーザー滞在時間 1.5倍
- Nestlé:CTR +82%
ただし注意点として、これらはグローバル企業の大規模サイトでの事例です。小規模サイトでは効果の幅が異なる可能性があります。あくまで「実装する価値はある」という根拠として捉えてください。
検索エンジンのコンテンツ理解を助ける
構造化データのもう1つの効果は、検索エンジンのコンテンツ理解を深めることです。
例えば、あるページに「鈴木太郎」と書かれていても、検索エンジンはそれが著者なのか、商品名なのか、問い合わせ先の担当者なのか判断しにくい。構造化データで "author": {"@type": "Person", "name": "鈴木太郎"} と指定すれば、「このページの著者は鈴木太郎という人物」と明確に伝えられます。
この「意味の明示」によって、適切な検索クエリに対する表示機会が増える可能性があります。検索意図に合ったページが適切に表示される仕組みを知りたい方は、検索意図の解説記事も参考になります。
関連記事 検索意図とは?4つの分類と調べ方をインハウスSEO実務者が解説 →AI Overview時代の新たな価値
2025年以降、構造化データの役割は「リッチリザルトのため」だけにとどまらなくなっています。
ALM Corp社の調査によると、AI Overviewの表示率は全クエリの48%に達し、前年から58%増加しました。ヘルスケア(88%)、教育(83%)、B2Bテクノロジー(82%)といった分野では、検索結果の大半にAI Overviewが表示されています。
構造化データは、AIが「意味ネットワーク」を構築する際の材料になります。フォーマット化されたデータは生成AIの引用素材として適しているため、構造化データを実装しているページはAI Overviewに引用されやすくなる可能性があります。
「検索エンジンへの対策」から「AIへの対策」へ。構造化データの重要性は、今後さらに高まっていくと考えられます。E-E-A-Tの観点からAI時代のSEO全般を知りたい方は、以下の記事もあわせてご覧ください。
関連記事 E-E-A-T(EEAT)とは?4つの評価基準と今日から始める対策チェックリスト →リッチリザルトの種類と対応する構造化データ
構造化データを実装する前に、「どのタイプを使うべきか」を判断する必要があります。Googleがサポートしている主なタイプを整理しましょう。
Googleがサポートする主な構造化データタイプ
Googleは検索ギャラリーで26種類の構造化データタイプをサポートしています。その中でも、多くのサイトに関係する主要なタイプは以下の通りです。
| タイプ | 用途 | リッチリザルト | 備考 |
|---|---|---|---|
| Article | ブログ記事・ニュース | トップニュースカルーセル | ニュース系サイトが主な対象 |
| BreadcrumbList | パンくずリスト | URLの代わりにパンくず階層を表示 | ほぼ全サイトで実装推奨 |
| FAQPage | よくある質問ページ | Q&Aの展開表示 | 2023年8月に表示対象を大幅制限。政府・医療サイト等に限定 |
| Product | 商品ページ | 価格・在庫・レビュー評価 | ECサイトでは効果大 |
| LocalBusiness | 店舗・事業所 | ナレッジパネルに営業情報を補完 | Googleビジネスプロフィールとの併用が前提 |
| Organization | 企業・団体 | ナレッジパネルにロゴ・連絡先を補完 | 直接的なリッチリザルトではなくGoogle理解の補助 |
| Event | イベント | 日時・場所・チケット情報 | イベント系サイトで効果的 |
| VideoObject | 動画 | サムネイル・再生時間 | YouTube以外の動画で有効 |
| Review / AggregateRating | レビュー・評価 | 星評価の表示 | 自社サイトの自己レビューは対象外 |
ページ種別ごとの実装優先順位
「全ページに全タイプを入れる」必要はありません。ページの種類に応じて、必要なタイプを段階的に実装しましょう。
| ページ種別 | 必須レベル | 推奨タイプ |
|---|---|---|
| 全サイト共通 | 必須 | WebSite + Organization(トップページ) |
| 全ページ共通 | 必須 | BreadcrumbList(パンくずリスト) |
| ブログ記事 | 推奨 | Article |
| FAQ・Q&Aページ | 推奨 | FAQPage |
| EC商品ページ | 推奨 | Product + AggregateRating |
| 店舗・事業所ページ | 推奨 | LocalBusiness |
| イベントページ | 推奨 | Event |
| 動画コンテンツ | 推奨 | VideoObject |
初めて構造化データを実装する場合、まずはWebSite + Organization(トップページ)とBreadcrumbList(全ページ)の2つから始めましょう。この2つだけで基本的なサイト情報をGoogleに伝えられます。余裕ができたら、記事ページにArticle、商品ページにProductと段階的に拡張してください。
サイト全体のコンテンツ戦略と構造化データの優先順位を合わせて考えたい方は、以下の記事が参考になります。
関連記事 コンテンツSEOとは?メリット・手順・成功のコツをインハウス実務者が解説 →構造化データの書き方|JSON-LDコード例つき
ここからは実装パートです。JSON-LDの基本構造を理解し、タイプ別のテンプレートをそのまま使えるように解説します。
JSON-LDの基本的な書き方と設置場所
JSON-LDは <script type="application/ld+json"> タグ内に記述します。HTMLの <head> 内でも <body> 内でも動作しますが、管理しやすさを考えると <head> 内がおすすめです。
基本構造は以下の3つの要素で成り立っています。
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "記事のタイトル",
"author": {
"@type": "Person",
"name": "著者名"
},
"datePublished": "2026-03-28",
"image": "https://example.com/image.jpg"
}
</script>
- @context:使用するボキャブラリを指定。ほぼ全ての場合
"https://schema.org" - @type:データの種類を指定(Article、Product、LocalBusinessなど)
- プロパティ:タイプに応じた具体的な情報(headline、author、priceなど)
タイプ別JSON-LDテンプレート集
以下のテンプレートは、自サイトの情報に合わせて書き換えてそのまま使えます。★ マークの箇所を自サイトの情報に変更してください。
Article(ブログ記事)
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "★記事タイトル",
"image": "★https://example.com/article-image.jpg",
"author": {
"@type": "Person",
"name": "★著者名",
"url": "★https://example.com/author/"
},
"publisher": {
"@type": "Organization",
"name": "★サイト名",
"logo": {
"@type": "ImageObject",
"url": "★https://example.com/logo.png"
}
},
"datePublished": "★2026-03-28",
"dateModified": "★2026-03-28",
"description": "★記事の概要説明"
}
</script>
BreadcrumbList(パンくずリスト)
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "★ホーム",
"item": "★https://example.com/"
},
{
"@type": "ListItem",
"position": 2,
"name": "★ブログ",
"item": "★https://example.com/blog/"
},
{
"@type": "ListItem",
"position": 3,
"name": "★記事タイトル"
}
]
}
</script>
FAQPage(よくある質問)
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "★質問文1",
"acceptedAnswer": {
"@type": "Answer",
"text": "★回答文1"
}
},
{
"@type": "Question",
"name": "★質問文2",
"acceptedAnswer": {
"@type": "Answer",
"text": "★回答文2"
}
}
]
}
</script>
Product(商品ページ)
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "★商品名",
"image": "★https://example.com/product.jpg",
"description": "★商品の説明文",
"brand": {
"@type": "Brand",
"name": "★ブランド名"
},
"offers": {
"@type": "Offer",
"url": "★https://example.com/product/",
"priceCurrency": "JPY",
"price": "★3980",
"availability": "https://schema.org/InStock"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "★4.5",
"reviewCount": "★120"
}
}
</script>
LocalBusiness(店舗・事業所)
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "★店舗名",
"image": "★https://example.com/shop.jpg",
"address": {
"@type": "PostalAddress",
"streetAddress": "★渋谷1-2-3",
"addressLocality": "★渋谷区",
"addressRegion": "★東京都",
"postalCode": "★150-0002",
"addressCountry": "JP"
},
"telephone": "★03-1234-5678",
"openingHoursSpecification": {
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
"opens": "★09:00",
"closes": "★18:00"
}
}
</script>
Organization(企業情報)
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "★会社名",
"url": "★https://example.com",
"logo": "★https://example.com/logo.png",
"sameAs": [
"★https://twitter.com/example",
"★https://www.facebook.com/example"
],
"contactPoint": {
"@type": "ContactPoint",
"telephone": "★03-1234-5678",
"contactType": "customer service",
"availableLanguage": "Japanese"
}
}
</script>
1ページに複数の構造化データを設置する方法
実際のサイトでは、1ページに複数タイプの構造化データを入れたいケースが多くあります。例えば、ブログ記事なら「Article + BreadcrumbList + FAQPage」の組み合わせです。
方法は2つあります。
方法1: 複数の<script>タグに分ける(シンプル)
各タイプを別々の <script> タグで記述します。管理がしやすく、初心者にはこちらがおすすめです。
<script type="application/ld+json">
{ "@context": "https://schema.org", "@type": "Article", ... }
</script>
<script type="application/ld+json">
{ "@context": "https://schema.org", "@type": "BreadcrumbList", ... }
</script>
<script type="application/ld+json">
{ "@context": "https://schema.org", "@type": "FAQPage", ... }
</script>
方法2: @graphで1つにまとめる(上級者向け)
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{ "@type": "Article", "headline": "..." },
{ "@type": "BreadcrumbList", "itemListElement": [...] },
{ "@type": "FAQPage", "mainEntity": [...] }
]
}
</script>
どちらの方法でもGoogleは正しく認識します。迷ったら方法1の複数 <script> タグ方式を選んでください。
WordPressプラグインで構造化データを設定する方法
WordPressを使っている場合、プラグインで構造化データの大部分を自動生成できます。
| プラグイン | 自動生成されるタイプ | 特徴 |
|---|---|---|
| Yoast SEO | Article, BreadcrumbList, Organization, WebSite | 設定がシンプル。Schema設定画面で基本情報を入力するだけ |
| Rank Math | Article, BreadcrumbList, Organization, FAQPage, HowTo, Product | 対応タイプが多い。記事ごとにSchemaタイプを選択可能 |
| All in One SEO | Article, BreadcrumbList, Organization | 基本に忠実。複雑な設定は少なめ |
- 基本タイプは自動で十分:Article、BreadcrumbList、Organizationはプラグインに任せてOK
- 特殊タイプは手動追加:FAQPage(Rank Math以外)やProduct(ECプラグイン連携)は別途対応が必要
- テーマとの重複に注意:一部のWordPressテーマ(SWELL、Cocoonなど)はテーマ側でも構造化データを出力する。プラグインと重複しないか確認
メタディスクリプションなど、プラグインで設定できるSEO関連項目については以下の記事で解説しています。
関連記事 メタディスクリプションとは?書き方・文字数・CTR改善まで実務で使える全知識 →構造化データのテスト・検証方法
構造化データは「書いて終わり」ではありません。正しく実装されているか、エラーがないかを確認する必要があります。
リッチリザルトテストで実装を確認する
Googleが提供するリッチリザルトテストは、構造化データの検証で最も重要なツールです。
- URLで検証:公開済みページのURLを入力して検証
- コードで検証:公開前のJSON-LDコードを直接貼り付けて検証
- 結果の見方:「有効」なら問題なし。「警告」は推奨プロパティの不足(致命的ではない)。「エラー」は必須プロパティの欠落(修正が必要)
リッチリザルトテストで「有効」と表示されても、実際の検索結果にリッチリザルトが表示されるかはGoogleの判断次第です。ページの品質やコンテンツの内容、検索クエリとの関連性など、複数の要因が影響します。
スキーマ マークアップ検証ツールで詳細チェック
Schema Markup Validatorは、schema.orgの仕様に準拠しているかを検証するツールです。
リッチリザルトテストが「Googleのリッチリザルトに使えるか」をチェックするのに対し、こちらは「Schema.orgの仕様として正しいか」を幅広くチェックします。Google以外の検索エンジン(BingやYandex)も構造化データを利用するため、両方でチェックしておくと安心です。
GSC拡張レポートでエラーを監視する
Google Search Console(GSC)の「拡張」メニューでは、サイト全体の構造化データの状態を継続的に監視できます。
- STEP 1:Search Console → 左メニュー「拡張」→ 該当するリッチリザルトタイプをクリック
- STEP 2:「エラー」「有効(警告あり)」「有効」の3つのステータスを確認
- STEP 3:エラーがある場合、該当ページのURLとエラー内容を確認
- STEP 4:エラーを修正し、「修正を検証」ボタンで再検証をリクエスト
リッチリザルトテストが「1ページずつの検証」なのに対し、GSC拡張レポートは「サイト全体の一括監視」です。新しいエラーが発生するとメール通知も届くため、構造化データを実装したら定期的にチェックする習慣をつけましょう。
インデックス状況や内部リンク構造と合わせて、テクニカルSEOの全体像を把握したい方はinSiteをお試しください。
構造化データの注意点とよくあるミス
構造化データの実装で失敗しないために、よくあるミスとアンチパターンを押さえておきましょう。
ページ内容と一致しない構造化データを入れない
構造化データの内容は、ページに実際に表示されている情報と一致していなければなりません。
- 実際の商品価格と異なる値をProductのpriceに記述する
- ページにFAQが存在しないのにFAQPageの構造化データを入れる
- 実在しないレビュー評価をAggregateRatingに記述する
これらはGoogleのガイドライン違反であり、最悪の場合スパム行為として手動対策(ペナルティ)の対象になります。
必須プロパティの不足に注意する
構造化データのプロパティには「必須」と「推奨」があります。
- 必須プロパティが不足 → エラー:リッチリザルトの対象にならない
- 推奨プロパティが不足 → 警告:リッチリザルトは表示される可能性があるが、情報量が少なくなる
Google公式ドキュメントにも、「不完全なデータより、少数でも完全な推奨プロパティを提供することが重要」と記載されています。まずは必須プロパティを確実に入れ、余裕があれば推奨プロパティも追加しましょう。
過剰なマークアップをしない
「構造化データは多いほど良い」というわけではありません。
ページ内容と関係の薄いタイプを追加したり、1つのページに10種類以上のタイプを詰め込んだりするのは避けましょう。Googleのクローラーに混乱を与え、かえって正確な理解を妨げる可能性があります。
前述の優先順位表を参考に、そのページに本当に必要なタイプだけを実装してください。
構造化データに時間をかけすぎない
ここまで構造化データの効果や書き方を解説してきましたが、SEO施策全体の中で構造化データの優先度は「中程度」です。
ランキング要因ではないため、構造化データに何時間もかけるよりも、コンテンツの質の向上や内部リンク設計、E-E-A-Tの強化に時間を使ったほうが効果は大きいケースが多いでしょう。
- 基本的なタイプ(WebSite、Organization、BreadcrumbList、Article)を入れて、テストツールでエラーがなければまずは十分
- 細かいプロパティの最適化に何時間もかける必要はない
- 「やるべきことリスト」に入れつつ、深追いしすぎないバランス感覚が大事
SEO施策全体の優先順位やロードマップを知りたい方は、以下の記事を参考にしてみてください。
関連記事 インハウスSEOとは?始め方から成果を出すまでの実践ロードマップ →構造化データを含むテクニカルSEOの管理を効率化しませんか?inSiteならインデックス状況・内部リンク・検索順位をまとめて確認できます。
よくある質問
まとめ
- 構造化データとは検索エンジンにページ内容を明示的に伝えるマークアップ技術
- 直接的なランキング要因ではないが、リッチリザルト獲得でCTRが平均41%→58%に改善
- GoogleはJSON-LD形式を推奨。HTMLに直接記述する方法とCMSプラグインの2通りがある
- 実装後はリッチリザルトテストとGSC拡張レポートで継続的に検証する
- AI Overview時代には検索エンジンだけでなくAIの情報理解にも貢献する
構造化データは、SEO施策の中では「派手な効果はないが、やっておいて損はない」技術的な基盤です。まずはWebSite + Organization + BreadcrumbListの3つから始めて、リッチリザルトテストでエラーがないことを確認する。それだけで最初のステップとしては十分です。
ただし、構造化データだけに時間をかけすぎないこと。コンテンツの質やE-E-A-T、内部リンク設計など、より効果の大きい施策とバランスを取りながら進めていきましょう。
\ テクニカルSEOの管理を効率化 /
inSite(インサイト)
インデックス状況・内部リンク・検索順位をまとめて管理。構造化データの対応状況も含め、サイトの技術的な健全性を「見える化」します。まずは無料で現状を確認してみませんか?
無料で試してみる ↗


