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

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

Google は、ウェブ上で検出した構造化データを使用して、ページのコンテンツを把握するだけでなく、ウェブと世間一般に関する情報も収集します。たとえば、下記の JSON-LD 構造化データ スニペットをレシピページに含めて、レシピのタイトルやレシピの作成者などの詳細情報を記述できます。

<html>
  <head>
    <title>Party Coffee Cake</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@type": "Recipe",
      "name": "Party Coffee Cake",
      "author": {
        "@type": "Person",
        "name": "Mary Stone"
      },
      "datePublished": "2018-03-10",
      "description": "This coffee cake is awesome and perfect for parties.",
      "prepTime": "PT20M"
    }
    </script>
  </head>
  <body>
  <h2>Party coffee cake recipe</h2>
  <p>
    This coffee cake is awesome and perfect for parties.
  </p>
  </body>
</html>

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

検索での見え方

アップルパイのレシピのリッチリザルト

構造化データ

<html>
  <head>
    <title>Apple Pie by Grandma</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@type": "Recipe",
      "name": "Apple Pie by Grandma",
      "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.8",
        "reviewCount": "7462",
        "bestRating": "5",
        "worstRating": "1"
      },
      "prepTime": "PT30M",
      "totalTime": "PT1H30M",
      "recipeYield": "8",
      "nutrition": {
        "@type": "NutritionInformation",
        "calories": "512 calories"
      },
      "recipeIngredient": [
        "1 box refrigerated pie crusts, softened as directed on box",
        "6 cups thinly sliced, peeled apples (6 medium)"
      ]
    }
    </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 表記。このマークアップにはユーザーに表示するテキストをそのまま挿入しないため、ネストされたデータアイテム(EventMusicVenuePostalAddressCountry など)を簡単に表現できます。 また、Google は、コンテンツ管理システムの JavaScript コードや埋め込みウィジェットなどでページのコンテンツに動的に挿入される JSON-LD データも読み取ることができます。
microdata HTML コンテンツ内に構造化データをネストするために使用される、オープン コミュニティの HTML 仕様。RDFa と同様に、HTML タグ属性を使用して、構造化データとして公開するプロパティに名前を付けます。通常はページの本文で使用しますが、見出しでも使用できます。
RDFa 検索エンジンに伝えたいユーザー表示コンテンツに対応する HTML タグ属性を追加することによってリンクデータをサポートする HTML5 の拡張機能。RDFa は一般に、HTML ページの見出しと本文の両方で使用されます。

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

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

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

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