レシピを Google のインデックスに登録する

構造化データを使用してレシピのコンテンツを Google に伝え、レシピをユーザーが見つけられるようにします。レビュー投稿者の評価、調理時間、準備時間、栄養成分などの情報を提供すると、Google がレシピを理解しやすくなり、ユーザーの興味を引く方法で表示できます。レシピは Google 検索の検索結果と Google 画像検索に表示されます。

Google 検索と Google 画像検索に表示されたレシピ

コンテンツのマークアップ方法に基づき、レシピは次の機能強化の対象となります。

レシピの機能強化
ガイド付きレシピ: Recipe 構造化データを追加することにより、Google Home やスマート ディスプレイで Google アシスタントを使用してユーザーにレシピを案内できるようになります。ガイド付きレシピで必須となっている追加プロパティには、Google 検索で単に推奨となっているものもあります。recipeIngredientrecipeInstructions は必ず追加してください。

Google アシスタントに表示するレシピの詳細については、ウェブ コンテンツからアクションを作成するをご覧ください。

アシスタントに表示されたレシピ
レシピのホスト カルーセル: ItemList 構造化データを追加することで、ユーザーがレシピのギャラリー ページを探索できるようにします。 Google 検索に表示されたレシピ カルーセル

構造化データを追加する方法

構造化データは、ページに関する情報を提供し、ページ コンテンツを分類するための標準化されたデータ形式です。構造化データを初めて使用する場合は、構造化データの仕組みについてをご覧ください。

構造化データの作成、テスト、リリースの概要は次のとおりです。ウェブページに構造化データを追加するための手順ガイドについては、構造化データの Codelab をご覧ください。

  1. 必須プロパティを追加します。ページ上の構造化データを配置する場所について詳しくは、JSON-LD 構造化データ: ページでの挿入場所をご覧ください。
  2. ガイドラインを遵守します。
  3. リッチリザルト テストでコードを検証します。
  4. 構造化データが含まれているページを数ページ導入し、URL 検査ツールを使用して、Google でページがどのように表示されるかをテストします。Google がページにアクセスでき、robots.txt ファイル、noindex タグ、またはログイン要件によってページがブロックされていないことを確認します。ページが正常に表示される場合は、Google に URL の再クロールを依頼できます。
  5. 今後の変更について Google への情報提供を続けるには、サイトマップを送信することをおすすめします。これは、Search Console Sitemap API で自動化できます。

JSON-LD コードを使用したレシピの例を示します。

ガイド付きレシピ

以下に、Google 検索に表示されるだけでなく、アシスタントにもガイド付きレシピとして表示されるページの例を示します。

<html>
  <head>
    <title>Party Coffee Cake</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@type": "Recipe",
      "name": "Party Coffee Cake",
      "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
      ],
      "author": {
        "@type": "Person",
        "name": "Mary Stone"
      },
      "datePublished": "2018-03-10",
      "description": "This coffee cake is awesome and perfect for parties.",
      "prepTime": "PT20M",
      "cookTime": "PT30M",
      "totalTime": "PT50M",
      "keywords": "cake for a party, coffee",
      "recipeYield": "10",
      "recipeCategory": "Dessert",
      "recipeCuisine": "American",
      "nutrition": {
        "@type": "NutritionInformation",
        "calories": "270 calories"
      },
      "recipeIngredient": [
        "2 cups of flour",
        "3/4 cup white sugar",
        "2 teaspoons baking powder",
        "1/2 teaspoon salt",
        "1/2 cup butter",
        "2 eggs",
        "3/4 cup milk"
        ],
      "recipeInstructions": [
        {
          "@type": "HowToStep",
          "name": "Preheat",
          "text": "Preheat the oven to 350 degrees F. Grease and flour a 9x9 inch pan.",
          "url": "https://example.com/party-coffee-cake#step1",
          "image": "https://example.com/photos/party-coffee-cake/step1.jpg"
        },
        {
          "@type": "HowToStep",
          "name": "Mix dry ingredients",
          "text": "In a large bowl, combine flour, sugar, baking powder, and salt.",
          "url": "https://example.com/party-coffee-cake#step2",
          "image": "https://example.com/photos/party-coffee-cake/step2.jpg"
        },
        {
          "@type": "HowToStep",
          "name": "Add wet ingredients",
          "text": "Mix in the butter, eggs, and milk.",
          "url": "https://example.com/party-coffee-cake#step3",
          "image": "https://example.com/photos/party-coffee-cake/step3.jpg"
        },
        {
          "@type": "HowToStep",
          "name": "Spread into pan",
          "text": "Spread into the prepared pan.",
          "url": "https://example.com/party-coffee-cake#step4",
          "image": "https://example.com/photos/party-coffee-cake/step4.jpg"
        },
        {
          "@type": "HowToStep",
          "name": "Bake",
          "text": "Bake for 30 to 35 minutes, or until firm.",
          "url": "https://example.com/party-coffee-cake#step5",
          "image": "https://example.com/photos/party-coffee-cake/step5.jpg"
        },
        {
          "@type": "HowToStep",
          "name": "Enjoy",
          "text": "Allow to cool and enjoy.",
          "url": "https://example.com/party-coffee-cake#step6",
          "image": "https://example.com/photos/party-coffee-cake/step6.jpg"
        }
      ],
      "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": "5",
        "ratingCount": "18"
      },
      "video": {
        "@type": "VideoObject",
        "name": "How to make a Party Coffee Cake",
        "description": "This is how you make a Party Coffee Cake.",
        "thumbnailUrl": [
          "https://example.com/photos/1x1/photo.jpg",
          "https://example.com/photos/4x3/photo.jpg",
          "https://example.com/photos/16x9/photo.jpg"
         ],
        "contentUrl": "http://www.example.com/video123.mp4",
        "embedUrl": "http://www.example.com/videoplayer?video=123",
        "uploadDate": "2018-02-05T08:00:00+08:00",
        "duration": "PT1M33S",
        "interactionStatistic": {
          "@type": "InteractionCounter",
          "interactionType": { "@type": "WatchAction" },
          "userInteractionCount": 2347
        },
        "expires": "2019-02-05T08:00:00+08:00"
      }
    }
    </script>
  </head>
  <body>
  </body>
</html>

検索にのみ表示されるレシピ

検索で表示されるページの例を示します。アシスタントのガイド付きレシピとしては表示されません。

<html>
  <head>
    <title>Non-alcoholic Pina Colada</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@type": "Recipe",
      "name": "Non-alcoholic Pina Colada",
      "image": [
      "https://example.com/photos/1x1/photo.jpg",
      "https://example.com/photos/4x3/photo.jpg",
      "https://example.com/photos/16x9/photo.jpg"
      ],
      "author": {
        "@type": "Person",
        "name": "Mary Stone"
      },
      "datePublished": "2018-03-10",
      "description": "This non-alcoholic pina colada is everyone's favorite!",
      "recipeCuisine": "American",
      "prepTime": "PT1M",
      "cookTime": "PT2M",
      "totalTime": "PT3M",
      "keywords": "non-alcoholic",
      "recipeYield": "1 serving",
      "recipeCategory": "Drink",
      "nutrition": {
        "@type": "NutritionInformation",
        "calories": "120 calories"
      },
      "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": "5",
        "ratingCount": "18"
      },
      "recipeIngredient": [
        "2 cups of pineapple juice",
        "5/8 cup cream of coconut",
        "ice"
      ],
      "recipeInstructions": [
        {
          "@type": "HowToStep",
          "text": "Blend 2 cups of pineapple juice and 5/8 cup cream of coconut until smooth."
        },
        {
          "@type": "HowToStep",
          "text": "Fill a glass with ice."
        },
        {
          "@type": "HowToStep",
          "text": "Pour the pineapple juice and coconut mixture over ice."
        }
      ],
      "video": {
        "@type": "VideoObject",
        "name": "How to make a Party Coffee Cake",
        "description": "This is how you make a Party Coffee Cake.",
        "thumbnailUrl": [
          "https://example.com/photos/1x1/photo.jpg",
          "https://example.com/photos/4x3/photo.jpg",
          "https://example.com/photos/16x9/photo.jpg"
         ],
        "contentUrl": "http://www.example.com/video123.mp4",
        "embedUrl": "http://www.example.com/videoplayer?video=123",
        "uploadDate": "2018-02-05T08:00:00+08:00",
        "duration": "PT1M33S",
        "interactionStatistic": {
          "@type": "InteractionCounter",
          "interactionType": { "@type": "WatchAction" },
          "userInteractionCount": 2347
        },
        "expires": "2019-02-05T08:00:00+08:00"
       }
    }
    </script>
  </head>
  <body>
  </body>
</html>

itemList 構造化データを含むレシピの概要ページ(レシピのリストを含むページ)の例を示します。このコンテンツは、検索結果のグリッドに表示される可能性があります。

<html>
  <head>
    <title>Grandma's Best Pie Recipes</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "ItemList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "url": "https://example.com/apple-pie.html"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "url": "https://example.com/blueberry-pie.html"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "url": "https://example.com/cherry-pie.html"
        }]
    }
    </script>
  </head>
  <body>
  </body>
</html>

ガイドライン

レシピを検索結果に表示するには、構造化データに関する一般的なガイドラインを遵守する必要があります。レシピをアシスタントにガイド付きレシピとして表示するには、アシスタントのコンテンツ制限に関するポリシーを遵守するコンテンツである必要があります。

Recipe 構造化データには以下のガイドラインが適用されます。

  • Recipe 構造化データは特定の料理の作り方に関するコンテンツに使用します。たとえば、「スクラブ洗顔料」や「パーティーのアイデア」は有効な料理名ではありません。
  • レシピをカルーセルまたはグリッドに表示するには、以下のガイドラインを遵守する必要があります。
    • ItemList 構造化データを使用して、リスト用にレシピを要約します。ItemList 構造化データは、単独で使用することも、レシピの構造化データと組み合わせて使用することもできます。
    • コレクション内のすべてのレシピを一覧表示する概要ページをサイトに含める必要があります。たとえば、ユーザーが検索結果から概要のリンクをクリックすると、検索条件に関連するレシピが一覧表示されるページに移動するようにします。

構造化データタイプの定義

コンテンツが Google 検索でリッチリザルトとして表示されるようにするには、必須プロパティを含める必要があります。また、推奨プロパティを使用することでコンテンツに関する詳細情報を追加でき、ユーザー エクスペリエンスの向上につながります。

Recipe

schema.org の Recipe タイプの以下のプロパティでレシピ コンテンツをマークアップします。Recipe の定義の全文は schema.org/Recipe で確認できます。

必須プロパティ
image

URL または ImageObject

完成した料理の画像。

画像に関するその他のガイドライン:

  • すべてのページに画像を少なくとも 1 つ含める必要があります(マークアップを含めるかどうかは問わない)。Google は、アスペクト比と解像度に基づいて、検索結果に表示する最適な画像を選択します。
  • 画像の URL は、クロールやインデックス登録に対応できる必要があります。ページに Google がアクセスできるかどうかは、URL 検査ツールで確認できます。
  • 画像はマークアップされたコンテンツを表している必要があります。
  • 画像のファイル形式は Google 画像検索でサポートされている必要があります。
  • 適切な画像が選択されるようにするために、アスペクト比が 16x9、4x3、1x1 の高解像度画像(幅と高さをかけて 50,000 ピクセル以上の画像)を複数指定してください。

次に例を示します。

"image": [
  "https://example.com/photos/1x1/photo.jpg",
  "https://example.com/photos/4x3/photo.jpg",
  "https://example.com/photos/16x9/photo.jpg"
]
name

Text

レシピの名前。

推奨プロパティ
aggregateRating

AggregateRating

アイテムに割り当てられた平均レビュースコアのアノテーション。レビュー スニペットのガイドラインと、必須および推奨の AggregateRating プロパティのリストに準拠します。

Recipe 構造化データに 1 つのレビューが含まれている場合、レビュー投稿者名は有効な個人名または組織名である必要があります。たとえば、「材料 50% 減」という名称は無効です。

author

Person または Organization

レシピを作成した個人または組織の名前。

cookTime

Duration

実際に調理するのにかかる時間(ISO 8601 形式)。子要素として最小値と最大値を使用すると、時間の範囲を指定できます。

常に prepTime と組み合わせて使用します。

datePublished

Date

レシピが公開された日付(ISO 8601 形式)。

description

Text

レシピの要約文。

keywords

Text

季節(「夏」)、行事(「ハロウィーン」)、その他の説明(「時短」、「簡単」、「本格的」)などのレシピに関するその他のキーワード。

その他のガイドライン

  • 複数のキーワードを指定する場合は、カンマで区切ります。
  • recipeCategory または recipeCuisine で指定するタグは使用しないでください。

    非推奨

    
    "keywords": "dessert, American"
    

    推奨

    
    "keywords": "winter apple pie, nutmeg crust"
    
nutrition.calories

Energy

このレシピによる 1 人分のカロリー数。nutrition.calories が定義されている場合、recipeYield はレシピでできる人数分を基に定義する必要があります。

prepTime

Duration

料理に必要な材料や作業スペースの準備にかかる時間(ISO 8601 形式)。子要素として最小値と最大値を使用すると、時間の範囲を指定できます。

常に cookTime と組み合わせて使用します。

recipeCategory

Text

レシピの食事やコースの種類。たとえば、「夕食」、「メインコース」、「デザート、軽食」などです。

recipeCuisine

Text

レシピに関連付けられている地域。例: 「フランス」、「地中海」、「アメリカ」

recipeIngredient

Text

レシピに必要な材料。

次に例を示します。


"recipeIngredient": [
  "1 (15 ounce) package double crust ready-to-use pie crust",
  "6 cups thinly sliced, peeled apples (6 medium)",
  "3/4 cup sugar",
  "2 tablespoons all-purpose flour",
  "3/4 teaspoon ground cinnamon",
  "1/4 teaspoon salt",
  "1/8 teaspoon ground nutmeg",
  "1 tablespoon lemon juice"
]

その他のガイドライン:

  • レシピに必要な材料のテキストのみを含めてください。
  • 不要な情報(材料の定義など)は含めないでください。
recipeInstructions

HowToStepHowToSection、または Text

調理方法。

recipeInstructions の値を設定する方法は複数ありますが、HowToStep を使用することをおすすめします。HowToSection は、レシピに複数のセクションがある場合に HowToSteps をグループ化するためにも使用できます。

  • HowToStep: このレシピの手順を HowToStep で指定します。
    
    "recipeInstructions": [
      {
        "@type": "HowToStep",
        "name": "Preheat",
        "text": "Heat oven to 425°F.",
        "url": "https://example.com/recipe#step1",
        "image": "https://example.com/photos/recipe/step1.jpg"
      }, {
        "@type": "HowToStep",
        "name": "Prepare crust",
        "text": "Place 1 pie crust in ungreased 9-inch glass pie plate, pressing firmly against side and bottom.",
        "url": "https://example.com/recipe#step2",
        "image": "https://example.com/photos/recipe/step2.jpg"
      }, {
        "@type": "HowToStep",
        "name": "Make filling",
        "text": "In large bowl, gently mix filling ingredients; spoon into crust-lined pie plate.",
        "url": "https://example.com/recipe#step3",
        "image": "https://example.com/photos/recipe/step3.jpg"
      }, {
        "@type": "HowToStep",
        "name": "Cover",
        "text": "Top with second crust. Cut slits or shapes in several places in top crust.",
        "url": "https://example.com/recipe#step4",
        "image": "https://example.com/photos/recipe/step4.jpg"
      }, {
        "@type": "HowToStep",
        "name": "Bake",
        "text": "Bake 40 to 45 minutes. The pie is ready when the apples are tender and the crust is golden brown.",
        "url": "https://example.com/recipe#step5",
        "image": "https://example.com/photos/recipe/step5.jpg"
      }, {
        "@type": "HowToStep",
        "name": "Cool",
        "text": "Cool on cooling rack at least 2 hours before serving.",
        "url": "https://example.com/recipe#step6",
        "image": "https://example.com/photos/recipe/step6.jpg"
      }
    ]
    
  • HowToSection(レシピに複数のセクションがある場合のみ): 手順を複数のセクションにグループ化するために使用します。HowToSection の例をご覧ください。
  • テキストの単一のプロパティまたは繰り返しフィールド: 1 つ以上の手順を含むテキストのブロック。Google では、すべての手順が単一のセクション内にあるものとして扱います。繰り返しプロパティの値は、テキストの単一のブロックに連結されます。Google は次に、テキストの単一のブロックを個々の手順に自動的に分割しようとします。また、レシピの手順のテキストに誤って表示される可能性があるセクション名、手順番号、キーワードなどをすべて見つけて削除しようとします。最善の結果を得るために、手順は HowToStep を使用して明確に指定することをおすすめします。
    
    "recipeInstructions": [
      "In large bowl, gently mix filling ingredients; spoon into crust-lined pie
    plate. Top with second crust. Cut slits or shapes in several places in top
    crust. Bake 40 to 45 minutes. The pie is ready when the or until apples are
    tender and the crust is golden brown. Cool on cooling rack at least 2 hours
    before serving."
    ]
    

その他のガイドライン

  • 他の場所に属しているメタデータは含めないでください。具体的には、author プロパティを使用して著者を指定し、料理には recipeCuisine を、カテゴリには recipeCategory を、キーワードには keywords を指定することなどは避けてください。
  • 料理方法のテキストのみを含め、それ以外のテキスト(「方法」、「動画を見る」、「手順 1」など)は含めないでください。このようなフレーズは構造化データ外で指定する必要があります。

    非推奨

    
    "recipeInstructions": [{
      "@type": "HowToStep",
      "text": "Step 1. Heat oven to 425°F."
    }]
    

    推奨

    
    "recipeInstructions": [{
      "@type": "HowToStep",
      "text": "Heat oven to 425°F."
    }]
    
recipeYield

Text または Integer

レシピの分量このレシピで出来上がる料理が何人分かを数字だけで指定します。別の単位(個数など)を使用する場合は、追加で分量情報を含めることもできます。これは、1 人分の栄養情報(nutrition.calories など)を指定する場合には必須です。


"recipeYield": [
  "6",
  "24 cookies"
]
totalTime

Duration

料理の準備と調理にかかる合計時間(ISO 8601 形式)。子要素として最小値と最大値を使用すると、時間の範囲を指定できます。

totalTime を使用するか、cookTimeprepTime を組み合わせて使用します。

video VideoObject

調理方法を表す動画。必須および推奨の動画プロパティのリストに準拠します。

  • Video without clips
    
    {
      "@context": "https://schema.org/",
      "@type": "Recipe",
      "video": [
        {
          "@type": "VideoObject",
          "name": "Delicious PieParty Coffee Cake",
          "description": "How to make a delicious pie - quickly and easily!How to make Party Coffee Cake.",
          "thumbnailUrl": [
            "https://example.com/photos/1x1/photo.jpg",
            "https://example.com/photos/4x3/photo.jpg",
            "https://example.com/photos/16x9/photo.jpg"
          ],
          "contentUrl": "https://www.example.com/videos/123_600x400.mp4",
          "embedUrl": "https://www.example.com/videoplayer?id=123",
          "uploadDate": "2018-02-05T08:00:00+08:00"
        }
      ]
    }
    ]
    
  • Video with clips: 動画のセグメントに対応するクリップを含む動画。レシピの他の部分(手順など)は、video.hasPart で定義したこれらのクリップを参照できます。
    
    {
      "@context": "https://schema.org/",
      "@type": "Recipe",
      "video": {
        "@type": "VideoObject",
        "name": "Make a pie",
        "description": "How to make a delicious pie - quickly and easily!",
        "thumbnailUrl": "https://example.com/photos/photo.jpg",
        "contentUrl": "https://www.example.com/videos/123_600x400.mp4",
        "embedUrl": "https://www.example.com/videoplayer?id=123",
        "uploadDate": "2018-02-05T08:00:00+08:00",
        "duration": "P1MT10S",
        "hasPart": [{
          "@type": "Clip",
          "@id": "Clip1",
          "name": "Preheat oven",
          "startOffset": 20,
          "endOffset": 29
          "url": "https://www.example.com/example?t=20"
         },
         {
           "@type": "Clip",
           "@id": "Clip2",
           "name": "Arrange pie crust",
           "startOffset": 29,
           "endOffset": 36
           "url": "https://www.example.com/example?t=29"
         },
         {
           "@type": "Clip",
           "@id": "Clip3",
           "name": "Make filling",
           "startOffset": 36,
           "endOffset": 45
           "url": "https://www.example.com/example?t=36"
         },
         {
           "@type": "Clip",
           "@id": "Clip4",
           "name": "Add filling",
           "startOffset": 45,
           "endOffset": 65
           "url": "https://www.example.com/example?t=45"
         },
         {
           "@type": "Clip",
           "@id": "Clip5",
           "name": "Bake",
           "startOffset": 65,
           "endOffset": 80
           "url": "https://www.example.com/example?t=65"
         },
         {
           "@type": "Clip",
           "@id": "Clip6",
           "name": "Let cool",
           "startOffset": 80,
           "endOffset": 90
           "url": "https://www.example.com/example?t=80"
        }]
      }
    }
    
video.hasPart

Clip

動画全体から一部を抽出した動画クリップ。

video.hasPart.endOffset

Number

動画の先頭からの秒数で表したクリップの終了時間。

video.hasPart.name

Text

クリップの名前。たとえば、パイ生地をパイプレートに配置して押しつける方法を示すクリップの名前を「パイ生地の配置方法」とします。

video.hasPart.startOffset

Number

動画の先頭からの秒数で表したクリップの開始時間。

video.hasPart.url

URL

クリップの開始時間へのリンク。クリップの開始時間は video.hasPart.startOffset に設定されている値と一致する必要があります。次に例を示します。


"startOffset": 20,
"endOffset": 29,
"url": "https://www.example.com/example?t=20"

HowToSection

HowToSection は、レシピの手順説明の一部を構成する一連のステップ(またはサブセクション)をグループ化するために使用します。HowToSectionrecipeInstructions プロパティの定義内で直接指定するか、別の HowToSectionitemListElement として指定します。

HowToSection タイプは、1 つのレシピのセクションを定義するもので、1 つ以上のステップを含みます。同じ料理をつくる別のレシピを定義するのに HowToSection を使用しないでください。HowToSection は、あくまでも 1 つのレシピの一部分を定義するものです。料理のレシピを複数挙げる場合は、複数の Recipe オブジェクトを使用してください。たとえば、アップルパイを作るための方法が複数ある場合は、HowToSection オブジェクトではなく、複数の Recipe オブジェクトとしてリストします。

HowToSection の定義の全文は schema.org/HowToSection で確認できます。

必須プロパティ
itemListElement HowToStep

セクションやサブセクションに含まれる詳細なステップのリスト。たとえばピザのレシピでは、生地を作る手順、トッピングを準備する手順、混ぜ合わせて焼く手順がそれぞれあります。レシピにセクションがあり、HowToSections で定義されていない場合、アシスタントがセクション名を誤って別の手順として提示する可能性があります(「生地を作る」手順の次に「小麦粉とイーストを混ぜ合わせる」手順を提示するなど)。

例:


{
  "@type": "HowToSection",
  "name": "Assemble the pie",
  "itemListElement": [
    {
      "@type": "HowToStep",
      "text": "In large bowl, gently mix filling ingredients; spoon into crust-lined pie plate."
    }, {
      "@type": "HowToStep",
      "text": "Top with second crust. Cut slits or shapes in several places in top crust."
    }
  ]
}
name Text

セクションの名前。

HowToStep

HowToStep は、レシピの一部を行う方法を説明する 1 つ以上の文章をグループ化するために使用します。text プロパティを文章で定義するか、itemListElement を文ごとに HowToDirection または HowToTip で定義します。

HowToStep タイプの次のプロパティで、レシピのステップをマークアップします。HowToSteprecipeInstructions プロパティの定義内で直接指定するか、HowToSectionitemListElement として指定します。

HowToStep の定義の全文は schema.org/HowToStep で確認できます。

必須プロパティ
itemListElement HowToDirection または HowToTip

指示やヒントなど、詳細なサブステップのリスト。

text を使用する場合は省略可能です。

text Text

このステップの手順を完全に説明するテキスト。

itemListElement を使用する場合は省略可能です。その他のガイドライン:

  • 手順を説明するテキストのみを含め、それ以外のテキスト(「方法」、「動画を見る」、「ステップ 1」など)は含めないでください。手順説明以外のテキストは、マークアップされたプロパティ外で指定してください。

    非推奨

    
    {
      "@type": "HowToStep",
      "text": "Step 1. Heat oven to 425°F."
    }
    

    推奨

    
    {
      "@type": "HowToStep",
      "text": "Heat oven to 425°F."
    }
    
推奨プロパティ
image ImageObject または URL

ステップを説明するための画像。画像に関するその他のガイドライン:

  • 画像の URL は、クロールやインデックス登録に対応できる必要があります。
  • 画像はマークアップされたコンテンツを表している必要があります。
  • 画像の形式は、.jpg、.png、.gif のいずれかである必要があります。
name Text

ステップを要約した単語または短いフレーズ(たとえば「パイ生地を配置する」など)。説明のないテキスト(「ステップ 1: [テキスト]」など)やその他の形式のステップ番号(「1. [テキスト]」など)は使用しないでください。

url URL

ステップに直接リンクする URL(ある場合)。たとえば、アンカーリンク フラグメントなど。

video VideoObject または Clip

このステップを説明するための動画または動画クリップ。

VideoObject については、動画またはクリップの必須プロパティと推奨プロパティのリストを使用してください。

HowToDirectionHowToTip

HowToDirectionHowToTip を使用して指示やヒントを記述します。どちらも同じ必須プロパティと推奨プロパティを持ちます。

HowToDirectionHowToTip の定義の全文は、それぞれ schema.org/HowToDirectionschema.org/HowToTip で確認できます。

必須プロパティ
text Text

指示またはヒントのテキスト。

ItemList

Recipe プロパティに加え、以下のホスト固有のリスト用プロパティを追加します。ItemList は必須ではありませんが、レシピをホスト カルーセルで表示できるようにするには、以下のプロパティを追加する必要があります。ホスト カルーセルの詳細については、カルーセルをご覧ください。

ItemList の定義の全文は schema.org/ItemList で確認できます。

必須プロパティ
itemListElement

ListItem

1 つのアイテムページのアノテーション。

ListItem.position

Integer

リスト内でのアイテムページの順序位置。次に例を示します。


"itemListElement": [
  {
    "@type": "ListItem",
    "position": 1,
  }, {
    "@type": "ListItem",
    "position": 2,
  }
]
ListItem.url

URL

アイテムページの正規 URL。すべてのアイテムに固有の URL が必要です。

Search Console でリッチリザルトを監視する

Search Console は、Google 検索におけるページのパフォーマンスを監視できるツールです。Search Console に登録していなくても Google 検索結果に表示されますが、登録することにより、Google がサイトをどのように認識しているかを把握して改善できるようになります。次の場合は Search Console を確認することをおすすめします。

  1. 構造化データを初めてデプロイした後
  2. 新しいテンプレートをリリースした後やコードを更新した後
  3. トラフィックを定期的に分析する場合

構造化データを初めてデプロイした後

ページがインデックスに登録されたら、関連するリッチリザルトのステータス レポートを使用して、問題がないかどうかを確認します。有効なページが増え、エラーや警告が増えていない状態が理想的です。構造化データに問題が見つかった場合の手順は次のとおりです。

  1. エラーを修正します
  2. 公開 URL の検査を行い、問題が解決したかどうかを確認します。
  3. ステータス レポートを使用して検証をリクエストします。

新しいテンプレートをリリースした後やコードを更新した後

ウェブサイトに大幅な変更を加えた場合は、構造化データのエラーや警告が増加しないかどうか監視します。
  • エラーが増加した場合は、新しく公開したテンプレートが正常に機能していないか、既存のテンプレートの動作に問題が生じていることが原因と考えられます。
  • 有効な項目が減少している(エラーの増加と一致しない)場合は、ページに構造化データが埋め込まれていない可能性があります。URL 検査ツールを使用して問題の原因を特定します。

トラフィックを定期的に分析する場合

パフォーマンス レポートを使用して Google 検索のトラフィックを分析します。このデータから、検索でページがリッチリザルトとして表示される頻度、ユーザーがページをクリックする頻度、検索結果におけるページの平均掲載順位がわかります。Search Console API を使用して、このデータを自動的に取得することもできます。

トラブルシューティング

構造化データを実装する際に問題が発生した場合は、以下のリソースを確認してください。