Google検索の結果を見ていると、通常の青いリンクのほかに、レシピサイトに星マークと調理時間が出ていたり、ECサイトの商品ページに価格や在庫状況が表示されていたりすることがあります。ああいった表示は「リッチリザルト」と呼ばれ、HTMLの中に構造化データを埋め込むことで実現できます。

この記事では、構造化データの概念から、もっとも実装が簡単な形式であるJSON-LDの書き方まで、実際のコード例を交えながら解説します。

構造化データとは?

Webページの内容は、人間が読めば「これはレシピの記事だな」「これは商品ページだな」と分かります。でも検索エンジンにとっては、テキストが並んでいるだけでコンテキストを把握するのが難しい場合があります。

構造化データ(Structured Data)とは、検索エンジンが「このページは何について書かれているか」を機械的に解釈できるよう、決まったフォーマットでメタ情報を記述したものです。仕様を定めているのは Schema.org という共同プロジェクトで、Google・Bing・Yahoo!・Yandexが共同で運営しています。

構造化データが正しく認識されると、Googleの検索結果でリッチリザルトが表示される可能性が高まります。リッチリザルトはクリック率(CTR)の改善につながることがあり、SEO施策の一つとして注目されています。

JSON-LDとは?他の形式との違い

構造化データの記述形式には主に3種類あります。

形式記述方法特徴
JSON-LD<script>タグにJSONを書くHTMLを変更しなくていい。Googleが推奨
MicrodataHTMLタグに属性を追加する既存HTMLへの組み込みが必要
RDFaHTMLタグに属性を追加するMicrodata同様、HTMLの変更が必要

JSON-LDが他の形式と大きく違うのは、既存のHTMLをまったく触らなくていいという点です。<script type="application/ld+json"> タグの中にJSONを書くだけなので、テンプレートの1か所に追記するだけで実装できます。CMSを使っている場合も、プラグインや <head> への追記で対応しやすい形式です。Googleが公式に推奨しているのもこのJSON-LDです。

JSON-LDの記述例

Articleスキーマ(ブログ記事・ニュース記事)

ブログ記事やニュース記事には Article または NewsArticle スキーマを使います。

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "構造化データとは?JSON-LDの書き方とSEO効果を解説",
  "author": {
    "@type": "Person",
    "name": "山田 太郎"
  },
  "datePublished": "2026-03-01",
  "dateModified": "2026-03-15",
  "image": "https://example.com/images/json-ld-guide.jpg",
  "publisher": {
    "@type": "Organization",
    "name": "Devryо",
    "logo": {
      "@type": "ImageObject",
      "url": "https://example.com/logo.png"
    }
  }
}
</script>

FAQスキーマ

ページにQ&Aセクションがある場合は FAQPage スキーマを使うと、検索結果でFAQが展開表示されるリッチリザルトの候補になります。

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "構造化データがあれば必ずリッチリザルトが表示されますか?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "必ずしも表示されるわけではありません。構造化データは表示の候補になるための条件の一つです。"
      }
    },
    {
      "@type": "Question",
      "name": "JSON-LDはどこに設置すればいいですか?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "<head>内に置くのが一般的ですが、<body>内でも動作します。"
      }
    }
  ]
}
</script>

コードを手書きするのが大変な場合は、JSON-LDジェネレーター を使えばフォームに入力するだけでコードが生成できます。生成したJSONの構文確認には JSONフォーマッター が便利です。ページの <meta> タグと合わせて整備したい場合は メタタグジェネレーター も参照してください。

よくある質問

構造化データを入れれば必ずリッチリザルトが表示されますか?
いいえ、必ずしも表示されるわけではありません。構造化データは「リッチリザルトの候補になるための条件の一つ」です。Googleが品質基準を満たしていると判断した場合にのみ表示されます。コンテンツの質・E-E-A-T(経験・専門性・権威性・信頼性)・ページ全体のSEO状態が関係します。
JSON-LDはHTMLのどこに設置すればいいですか?
<head> 内に置くのが一般的で推奨されますが、<body> 内でも機能します。Googleのクローラーはページ全体を解析するため、場所はそれほど厳格ではありません。動的に生成されるページ(SPAなど)の場合でも、レンダリング後のDOMに含まれていれば認識されます。
構造化データのエラーチェックはどこでできますか?
Googleが提供する「リッチリザルトテスト」(search.google.com/test/rich-results)でURLまたはコードを貼り付けるとエラーや警告を確認できます。また、Google Search ConsoleのURLの拡張レポートでも、インデックス済みページの構造化データのエラーが一覧で確認できます。
1ページに複数の構造化データを入れても問題ありませんか?
問題ありません。複数の <script type="application/ld+json"> タグを設置したり、1つのタグに複数のスキーマを配列で入れたりすることもできます。ただし、ページの内容と一致しない構造化データを追加するのは規約違反になることがあるので注意が必要です。

まとめ

  • 構造化データは検索エンジンがページの内容を機械的に解釈するためのメタ情報
  • JSON-LDはHTMLを変更せずに実装できるため、Googleが推奨する形式
  • <script type="application/ld+json"> タグにSchema.orgの仕様に沿ったJSONを書く
  • 構造化データがあってもリッチリザルトが保証されるわけではない
  • Googleのリッチリザルトテストで実装後のエラーチェックを行う

構造化データの作成・検証には以下のツールを活用してください。