構造化データに関する一般的なガイドライン
Google 検索の検索結果でリッチリザルトとして表示されるようにするには、構造化データが Google 検索のコンテンツ ポリシー(スパムに関するポリシーを含む)に違反していない状態にする必要があります。さらに、このページではすべての構造化データに適用される一般的なガイドラインについて詳細に説明します。Google 検索でリッチリザルトとして表示されるには、それらのガイドラインを遵守する必要があります。
ページに構造化データの問題がある場合は、手動による対策が実施される可能性があります。構造化データに関する手動による対策が実施されると、ページがリッチリザルトとして表示されなくなります。ただし、Google ウェブ検索でのページの掲載順位には影響しません。手動による対策がとられたかどうかを確認するには、Search Console の手動による対策レポートを開いてください。
技術に関するガイドライン
技術に関するガイドラインを遵守しているかどうかは、リッチリザルト テストや URL 検査ツールを使用してテストできます。このテストで技術的なエラーのほとんどを検出できます。
形式
リッチリザルトを表示できるようにするには、サポートされている 3 つの形式のいずれかを使用して、サイトのページをマークアップする必要があります。
- JSON-LD(推奨)
- microdata
- RDFa
アクセス
Googlebot が構造化データページにアクセスできるようにするため、robots.txt、noindex
などのアクセス制御方式を使用してページをブロックしないでください。
品質に関するガイドライン
品質に関するガイドラインは、自動化ツールで簡単にテストすることはできません。品質に関するガイドラインに違反すると、構文的に正しい構造化データが Google 検索においてリッチリザルトとして表示されなくなったり、構造化データがスパムとしてマークされたりすることがあります。
コンテンツ
- Google ウェブ検索のスパムに関するポリシーを遵守するようにしてください。
- 最新の情報を提供します。日時によって関連性がなくなったコンテンツに関してはリッチリザルトを表示できません。
- 自分またはユーザーが生成したオリジナルのコンテンツを提供します。
- 関連性がないコンテンツや誤解を招くコンテンツ(虚偽のレビュー、ページの内容と関係のないコンテンツなど)をマークアップしないでください。
- 構造化データを使用してユーザーを欺いたり、誤解を与えたりしないでください。他人や組織になりすましたり、自らのオーナーや所属、主な目的を偽ったりしないでください。
- 構造化データのコンテンツはさらに、特定の機能のガイドに記載されているコンテンツ ガイドラインまたはコンテンツ ポリシーも遵守している必要があります。たとえば、
JobPosting
構造化データのコンテンツは、求人情報のコンテンツ ポリシーを遵守している必要があります。また、練習問題の構造化データは、練習問題のコンテンツ ガイドラインを遵守している必要があります。
関連性
構造化データはページ コンテンツを正確に表している必要があります。以下は関連性が低いデータの例です。
- スポーツをライブ ストリーミングするサイトが、放送を地域イベントとしてラベル付けしている。
- 木材工芸のサイトが、木材工芸の方法をレシピとしてラベル付けしている。
完全性
- 特定のリッチリザルト タイプに関するドキュメントに記載されている必須プロパティをすべて指定してください。必須プロパティが指定されていないアイテムは、リッチリザルトに表示されません。
- 指定する推奨プロパティが多いほど、表示される検索結果の質が高くなります。たとえば求人情報は、給与が明示されていない情報よりも明示されている情報が好まれます。また、レシピについては、ユーザーからの実際のレビューや星による真正な評価がついているものが好まれます(実際のユーザーによるものではないレビューや評価は、手動による対策とみなされる可能性があります)。リッチリザルトのランキングでは追加情報が考慮されます。
場所
- ドキュメントで特に指定されていない限り、構造化データは、内容を記述するページに実装します。
- コンテンツが同一の重複するページがある場合は、正規ページだけでなく、重複するすべてのページに同じ構造化データを実装することをおすすめします。
具体性
- schema.org でマークアップ用に定義されている最も具体的で適切なタイプとプロパティ名を使用するようにしてください。
- 特定のリッチリザルト タイプに関するドキュメントに記載されているその他すべてのガイドラインを遵守してください。
画像
- 構造化データのプロパティとして画像を指定する場合は、その画像が掲載されているページに関連するものであることを確認してください。たとえば、
NewsArticle
のimage
プロパティを定義する場合、画像はそのニュース記事に関連している必要があります。 - 構造化データで指定されているすべての画像 URL は、クロールとインデックス登録が可能であることが必要です。対応できない場合、Google 検索では画像が検索結果ページに表示されません。ページに Google がアクセスできるかどうかは、URL 検査ツールで確認できます。
ページ上の複数のアイテム
ページ上に複数のアイテムがあるということは、複数の種類のものがページ上にあることを意味します。1 つのページには、たとえばレシピ、レシピの調理方法を示す動画、レシピの見つけ方に関するパンくずリスト情報などを含めることができます。ユーザーに表示される情報はすべて構造化データでマークアップできるため、Google 検索などの検索エンジンがページ上の情報を理解しやすくなります。ページに適用する項目を追加すると、Google 検索ではそのページの全体像を認識したうえで、ページを別の検索機能で表示できるようになります。
Google 検索では、アイテムをネストするか、個々のアイテムを指定するかにかかわらず、ページ上の複数のアイテムが認識されます。
- ネスト: メインアイテムが 1 つで、追加のアイテムがメインアイテムの下にグループ化されている場合。これは、関連するアイテム(動画やレビューを含むレシピなど)をグループ化する場合に特に便利です。
- 個々のアイテム: 各アイテムが同じページ上の別個のブロックである場合。
これらの例は簡潔にするために省略されており、機能の必須プロパティと推奨プロパティがすべて含まれているわけではありません。詳細な例については、特定の構造化データタイプのドキュメントをご覧ください。
ネスト
以下に、ネストされた構造化データの例を示します。Recipe
がメインアイテムで、aggregateRating
と video
が Recipe
にネストされています。
<html> <head> <title>How To Make Banana Bread</title> <script type="application/ld+json"> { "@context": "https://schema.org/", "@type": "Recipe", "name": "Banana Bread Recipe", "description": "The best banana bread recipe you'll ever find! Learn how to use up all those extra bananas.", "aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.7", "ratingCount": "123" }, "video": { "@type": "VideoObject", "name": "How To Make Banana Bread", "description": "This is how you make banana bread, in 5 easy steps.", "contentUrl": "https://www.example.com/video123.mp4" } } </script> </head> <body> </body> </html>
個々のアイテム
以下に、構造化データの個々のアイテムの例を示します。2 つの異なるアイテムとして Recipe
と BreadcrumbList
があります。
<html> <head> <title>How To Make Banana Bread</title> <script type="application/ld+json"> [{ "@context": "https://schema.org/", "@type": "Recipe", "name": "Banana Bread Recipe", "description": "The best banana bread recipe you'll ever find! Learn how to use up all those extra bananas." }, { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{ "@type": "ListItem", "position": 1, "name": "Recipes", "item": "https://example.com/recipes" },{ "@type": "ListItem", "position": 2, "name": "Bread recipes", "item": "https://example.com/recipes/bread-recipes" },{ "@type": "ListItem", "position": 3, "name": "How To Make Banana Bread" }] }] </script> </head> <body> </body> </html>
その他のヒント
- Google 検索がページの主な目的を認識できるようにするには、ページの主な目的が反映されたメインの構造化データタイプを含めるようにします。たとえば、主にレシピに関するページの場合は、Video および Review 構造化データに加えて、Recipe 構造化データを含めます。それにより、このページが検索での各種の見え方(レシピのリッチリザルト、動画検索、レビュー スニペット)に対応できるようになります。ページに動画の構造化データしか含まれていなければ、Google 検索はそのページをレシピのリッチリザルトとして表示できるだけの情報が得られません。
- ユーザーがアクセスできるすべてのコンテンツがページに表示されるように、構造化データアイテムが完全に揃っていることを確認してください。たとえば複数のレビューを含める場合は、ページにアクセスしたユーザーに表示されるレビューをすべて含める必要があります。ページ上のすべてのレビューがマークアップされていないと、(検索結果でのページの見え方に基づいて)当然すべてのレビューが表示されていると考えるユーザーの誤解を招く可能性があります。