Google、検索結果のスニペットを制御するための新しいrobots metaタグとHTML属性を導入

[レベル: 上級]

検索結果に表示されるスニペットをより細かく制御する仕組みを提供することを Google は発表しました。

専用の robots meta タグおよび HTML 属性の 2 とおりの方法を利用できます。

スニペット制御用の robots meta タグ

robots meta タグでスニペットをページレベルで制御できます。

以下の 3 種類のコンテンツに利用できます。

  • テキスト
  • 画像
  • 動画

nosnippet

nosnippet タグは、テキストのスニペットを検索結果に表示させません。
なおこの robots meta タグは新しくありません。
以前から利用できます。

<meta name="robots" content="nosnippet">

max-snippet:[number]

max-snippet タグは、テキストスニペットの文字数を指定します。
[number] のところに数字を入れます。

下のように記述すると、そのページが検索結果に出てきたときのスニペットは最大で 160 文字になります。

<meta name="robots" content="max-snippet:160">

数字に「0」を指定するとスニペットは表示されません。
nosnippet と同じ働きになります。
「-1」を指定すると、文字数制限をしていないことになります(つまり、このタグは意味がなくなる)。

max-image-preview:[setting]

画像のサムネイルが検索結果に表示されるスニペットがあります。
max-image-preview タグはスニペットに表示される画像のサイズを指定します。

[setting] には 3 種類の値のいずれかを使用します。

  • none: 画像をスニペットに表示しません
  • standard: デフォルトの大きさの画像をスニペットに表示します
  • large: viewport の幅に合わせて大きな画像を表示します

大きな画像をスニペットに表示させたければ次のように記述します。

<meta name="robots" content="max-image-preview:large">

画像サイズの制御は、AMP 結果と Discover フィードに掲載される画像にも影響します。

max-video-preview:[number]

max-video-preview タグは、検索結果に表示された動画のプレビューの再生時間を指定します。

[number] には秒数を入れます。
たとえば、プレビュー時間を 30 秒にするときは次のように記述します。

<meta name="robots" content="max-video-preview:30">

値に「0」を入れると、プレビュー再生されません。
つまり静止画になります。
静止画の大きさは、1 つ上で紹介した max-image-preview タグで指定可能です。

「-1」を入れると制限なく再生します(最初から最後まで?)。

併用可能

ここまでで説明した robots meta タグは併用可能です。
最大文字数を 100 文字にし、大きなサムネイル画像を指定するなら次のようになります。

<meta name="robots" content="max-snippet:100, max-image-preview:large">

強調スニペットにも適用

テキスト制御の robots meta タグは強調スニペットにも適用されます。
必要な文字数が強調スニペットにはあります。
その文字数に満たないスニペットを max-snippet で指定していた場合はそのページは強調スニペットとしては引用されないでしょう。

なお、強調スニペットに必要な文字数は言語のよって変わってきます。
明確に ○ 文字とは定まっていません。

X-Robots-Tag での構成可

HTML での meta タグではなく、X-Robots-Tag で HTTP ヘッダーに出力しても有効です。

Apache ならこうなりますかね。

Header set X-Robots-Tag "max-snippet:200"

導入は 10 月後半

検索結果に実際に反映されるのは、10月の中旬から後半にかけてになります。
すべての国での展開が完了するまでには 1 週間程度かかる見込みです。
新しい robots meta タグの利用を考えているなら今から準備して構いません。

スニペット制御用の HTML 要素

data-nosnippet 属性を使うと、そのページの中でスニペットに使わせたくないテキストを指定できます。

spandiv または section 要素とともに用います。

検索結果に表示されるスニペットをより細かく制御する仕組みを提供することを Google は発表しました。専用の robots meta タグおよび HTML 属性の 2 とおりの方法を利用できます。

上の文章の 2 つめの文をスニペットしては使ってほしくなければ、次のように記述できます。

<p>検索結果に表示されるスニペットをより細かく制御する仕組みを提供することを Google は発表しました。<span data-nosnippet>専用の robots meta タグおよび HTML 属性の 2 とおりの方法を利用できます。</span></p>

すべてのコンテンツを data-nosnippet する

ページ内のテキストをスニペットに使ってほしくない、meta description タグの記述を使ってほしいと望んだとしたら、ページ内のテキストコンテンツすべてを data-nosnippet 属性で囲むことが可能です。

絶対にとは言えませんが、ページ内のテキストコンテンツはスニペットに利用されなくなります。
ほぼ確実に meta description が利用されるでしょう。

今年後半から導入開始

data-nosnippet 属性は今年の後半に導入する予定です。

今から準備してももちろん構いません。

ウェブ検索以外にも適用

新たに導入されるスニペット制御用の robots meta タグおよび HTML 属性は、ウェブ検索以外のプロダクトにも適用されます。
たとえば、次のプロダクトです。

  • 画像検索
  • Discover
  • Google アシスタント

構造化データ優先

リッチリザルトを表示するために構造化データを構成している場合は、リッチリザルト表示は構造化データの設定が優先されます。

構造化データでの説明文には構造化データで指定する説明文が使われます。
最大文字数の制限には従わないでしょう。

画像を表示しないようにしていても、レシピのリッチリザルトでは画像が表示されるでしょう。

ヒントではなく命令

ヒントとしての利用ではなく、命令 (Directive) として設定内容に必ず従います。
強制力があるということですね。

以上です。

スニペットのコントロールする選択肢が増えたのはいいことです。
利用価値がありそうなら、準備を進めるといいでしょう。
でも、このブログでは使わないかな。;)

【UPDATE】
日本語ブログでの翻訳記事が公開されました。
Google 検索におけるコンテンツのプレビューをもっと制御できるようになります

技術ドキュメントはこちらです(今のところ英語のみ)。
Robots meta tag, data-nosnippet, and X-Robots-Tag specifications