構造化データの仕組みについて

Google 検索では、ページのコンテンツを理解するよう取り組んでいます。ページに構造化データを含めて、ページの内容についての明確な判断材料を提供すると、Google でそのページをより正確に理解できるようになります。構造化データとは、ページに関する情報を提供し、ページ コンテンツ(たとえばレシピのページでは、材料、加熱時間と加熱温度、カロリーなど)を分類するための標準化されたデータ形式です。

Google では、ウェブ上で検出した構造化データを使用して、ページのコンテンツを理解するだけでなく、ウェブや世間一般に関する情報も収集します。たとえば、Unlimited Ball Bearings Corporation のお問い合わせページに、下記の JSON-LD 構造化データのスニペットを入れて、連絡先情報を表すことができます。

    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Organization",
      "url": "http://www.example.com",
      "name": "Unlimited Ball Bearings Corp.",
      "contactPoint": {
        "@type": "ContactPoint",
        "telephone": "+1-401-555-1212",
        "contactType": "Customer service"
      }
    }
    </script>

また Google 検索では、構造化データを利用して検索結果の特別な機能や拡張機能を有効にします。たとえば、以下のようにレシピページに有効な構造化データを含めると、検索結果が画像付きで表示されます。

検索結果の機能 対応する構造化データ(簡略化のために短縮)
アップルパイのレシピのリッチリザルト 

    <html>
  <head>
    <title>Grandma's Holiday Pie</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@type": "Recipe",
      "name": "Grandma's Holiday Apple Pie",
      "author": "Elaine Smith",
      "image": "http://images.edge-generalmills.com/56459281-6fe6-4d9d-984f-385c9488d824.jpg",
      "description": "A classic apple pie.",
      "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": "4",
        "reviewCount": "276",
        "bestRating": "5",
        "worstRating": "1"
      },
      "prepTime": "PT30M",
      "totalTime": "PT1H",
      "recipeYield": "8",
      "nutrition": {
        "@type": "NutritionInformation",
        "servingSize": "1 medium slice",
        "calories": "230 calories",
        "fatContent": "1 g",
        "carbohydrateContent": "43 g"
      },
      "recipeIngredient": [
        "1 box refrigerated pie crusts, softened as directed on box",
        "6 cups thinly sliced, peeled apples (6 medium)",
        "..."
      ],
      "recipeInstructions": [
        "1...",
        "2..."
       ]
    }
    </script>
  </head>
  <body>
  </body>
</html>

構造化データによってレシピの各要素がラベル付けされるため、ユーザーは材料、カロリー数、加熱時間などでレシピを検索できます。

構造化データは、情報が適用されるページ上で、ページ内マークアップを使用してコーディングします。ページ上の構造化データで、そのページのコンテンツを記述します。構造化データを保持するためだけに空のページを作成する必要はありません。また、ユーザーに表示されない情報に関する構造化データは、その情報が正確であっても追加する必要はありません。技術に関するガイドラインと品質に関するガイドラインについては、構造化データに関する一般的なガイドラインをご覧ください。

構造化データの形式

このドキュメントでは、Google 検索にとって特別な意味を持つ構造化データの必須、推奨、オプションの各プロパティについて説明します。検索用の構造化データでは主に schema.org のボキャブラリが使用されていますが、Google 検索の動作の定義には、schema.org のドキュメントではなく developers.google.com のドキュメントをご利用ください。ここに記載されていない属性やオブジェクトは、schema.org で必須と示されていても、Google 検索では必須ではありません。

開発中は構造化データ テストツールを使用して構造化データをテストし、導入後はリッチリザルトのステータス レポートを使用してページの正常性を確認してください。テンプレートや配信の問題が原因で導入後にページの正常性が損なわれることがあります。

Google 検索で拡張表示機能を使用してオブジェクトを表示できるようにするには、必須プロパティをすべて含める必要があります。一般には、推奨プロパティの機能の定義が多いほど、検索結果に拡張表示機能が適用されて情報が表示される確率が高くなります。 しかし、完全性、形式、または精度に欠けたデータを集めて推奨プロパティをたくさん提供するより、少数でも完全で正確な推奨プロパティを提供するほうが重要です。

Google 検索では、ここに記載したプロパティやオブジェクトだけでなく、sameAs プロパティや他の schema.org の構造化データを幅広く使用できます。役に立つと判断されれば、将来の検索機能にこれらの要素が使用される可能性もあります。

特に別段の記載がなければ、Google 検索では以下の形式の構造化データを使用できます。

形式 説明と配置
JSON-LD*(推奨) ページの見出しや本文の <script> タグ内に埋め込まれる JavaScript 表記。このマークアップにはユーザーに表示するテキストをそのまま挿入しないため、ネストされたデータアイテム(Event の MusicVenue の PostalAddress の Country など)を簡単に表現できます。また、コンテンツ管理システムの JavaScript コードや埋め込みウィジェットなどの方法でページのコンテンツに動的に挿入される JSON-LD データも、Google は読み取ることができます。
microdata HTML コンテンツ内に構造化データをネストするために使用される、オープン コミュニティの HTML 仕様。RDFa と同様に、HTML タグ属性を使用して、構造化データとして公開するプロパティに名前を付けます。通常はページの本文で使用しますが、見出しでも使用できます。
RDFa 検索エンジンに伝えたいユーザー表示コンテンツに対応する HTML タグ属性を追加することによってリンクデータをサポートする HTML5 の拡張機能。RDFa は一般に、HTML ページの見出しと本文の両方で使用されます。

構造化データのガイドライン

構造化データに関する一般的なガイドラインと、使用する構造化データタイプに固有のガイドラインに準拠してください。ガイドラインに準拠しない構造化データは、Google 検索でリッチリザルトとして表示されない場合があります。

構造化データの作成、テスト、リリース

新しい構造化データページを作成する場合の推奨プロセスをご覧ください。