メタタグ:機械が読むページの指示とプレビュー

メタタグは、ページのheadに置くHTML要素です。タグの種類に応じて、ページの説明、クローラーの動作の制御、ソーシャルのプレビュー用メタデータの提供を担います。

メタタグごとに役割が違う

メタタグは、ページのheadにある、機械が読めるHTML要素です。ページを説明するもの、クローラーに指示するもの、ソーシャルのプレビュー用データを提供するものがあります。選ぶときは機能で考えます。robotsディレクティブはインデックス登録の可否を制御し、メタディスクリプションは検索結果のスニペットに使われることがあり、ソーシャル用のメタデータはリンクのプレビューを支えます。どのタグも、内容の薄いページや利用できないコンテンツを、役立つ検索結果に変えることはできません。

title要素は関連していますが、それ自体はメタタグではありません。検索エンジンは、表示されている情報や構造化された情報を複数使って、タイトルリンクを生成できます。そのため、titleと見出しは、フレーズを機械的に繰り返すのではなく、ページの内容と合わせます。メタディスクリプションは、スニペットへの提案です。クエリにより合う表示テキストが他にあれば、Googleはそれを使えます。

メタタグ:機械が読むページの指示とプレビューの、主な入力要素、確認項目、判断の流れを示した図です。

robotsディレクティブとスニペット

要素主な機能テスト
meta robots noindexHTMLページをインデックスに登録しないよう、クローラーに伝えるクロールされたHTMLに含まれていて、ページをクロールできる
X-Robots-TagHTTPヘッダーでrobotsディレクティブを送る意図したURLでレスポンスヘッダーが返る
meta descriptionページの要約テキストを提案する表示されているコンテンツを正確に反映している
Open Graphメタデータソーシャルのプレビューを提供するデバッガーが、最終的な正規ページの値を読み取れる

PDFや画像にはHTMLのheadがないため、多くの場合、適用できるディレクティブはX-Robots-Tagです。HTMLページでは、meta robotsとヘッダーのディレクティブが互いに矛盾してはいけません。robots.txtでブロックしたページは、noindexのルールを読むためのクロールができない場合があります。そのため、ブロックとインデックスからの削除は、別々の判断になります。

レスポンスを確認する

  1. 正規URLを取得し、HTMLとレスポンスヘッダーの両方を確認します。
  2. title、description、canonical、robotsの値が、表示されるページの目的に合っているか確認します。
  3. 別ホスト、末尾スラッシュ違い、絞り込みURLで、矛盾するディレクティブがないかテストします。
  4. URL検査は、後からクローラーの状況を知る証拠として使います。実装の唯一のテストにはしません。
  5. キャッシュやデプロイの変更後に再チェックします。テンプレートがページ単位の値を上書きすることがあるためです。

例えば、ページネーションのあるカテゴリには、現在の商品に合った役立つtitleとdescriptionがあってよいのですが、絞り込み用テンプレートのnoindexを引き継いではいけません。タグを変更する前に、実際のレスポンス、canonicalの指す先、サイトマップに含まれているかを比べます。

矛盾するシグナル

よくある不具合は、エラーメッセージを表示する200のページ、リダイレクトされるURLを指すcanonical、サイトマップに入っているnoindexのページ、何百ものページにコピーされた汎用的なdescriptionです。対策はタグを増やすことではありません。HTTPレスポンス、表示されるコンテンツ、canonical、robotsディレクティブ、内部リンク、サイトマップのすべてで、意図した1つの状態にそろえることです。

robotsディレクティブはインデックス登録の制御、descriptionはプレビューのヒントとして扱います。CMSのフィールドだけでなく、レンダリング後のレスポンスで確認します。

FAQ

メタディスクリプションで、Googleのスニペットを制御できますか?
いいえ。メタディスクリプションは提案にすぎません。クエリにより適した表示テキストが他にあれば、Googleはそちらを選ぶことがあります。
robots.txtは、noindexの代わりになりますか?
いいえ。noindexのディレクティブを読み取るには、一般にクローラーがページにアクセスできる必要があります。クロールの制御とインデックス登録の制御は、役割が異なります。
タグはどうやってテストしますか?
正規URLと代表的なバリエーションについて、実際のレスポンスのHTMLとヘッダーを確認します。そのうえで、値をレンダリング後のコンテンツやサイトマップの方針と比べます。