目次を見る07

max-snippetの使い方|スニペットを全部消さずに短くする設定

Wemiro編集部読了目安 11分
テクニカルSEOスニペットrobotsメタタグ

有料記事の要点が、検索結果の説明文にほとんど出てしまっている。かといって nosnippet で説明文を消すと、何のページか伝わらずにクリックされなくなりそうで怖い。

答えは、robots メタタグの max-snippet で、説明文の長さに上限を付けることです。Google の公式ドキュメントは、スニペット(検索結果でタイトルの下に出る短い説明文)の扱いを次のように整理しています。消すなら nosnippet、長さを決めるなら max-snippet。全部消すか、全部出すか。その二択ではありません。

つまずきやすいのは、数値そのものより、ほかの指定との重なりです。

nosnippet と max-snippet は「消す」と「短くする」の違い

Google の「検索結果のスニペットを管理する」には、スニペットを制御する方法がこうまとめられています。

To control snippets, use nosnippet to prevent them or max-snippet to set length. The data-nosnippet attribute blocks specific content.

つまり、目的ごとに道具が分かれています。

やりたいこと使う指定書く場所向いている場面
ページの説明文を出さないnosnippetrobots メタタグ説明文が出ること自体が困るページ
説明文の長さに上限を付けるmax-snippetrobots メタタグ中身の雰囲気は見せたいが、出しすぎたくないページ
ページの一部だけ説明文から外すdata-nosnippet本文の HTML 要素の属性価格や答えの部分だけ引用されたくないページ

表の3行目は、ページ単位ではなく文章の一部を指定する点が違います。外したい箇所がはっきり決まっているなら、こちらのほうが影響は小さく済みます。書き方は「検索とAI概要の引用を部分制御|data-nosnippetの書き方」で詳しく扱っています。

max-snippet が役に立つのは、どこを隠すかではなく、どれだけ出すかを決めたい場合です。

書き方:max-snippet のあとに数値を書く

同じページには、もう少し具体的な説明もあります。

To specify the maximum length for your snippets, use the max-snippet: [number] meta tag.

スニペットの最大の長さを指定するには、max-snippet: [number] のメタタグを使う、ということです。上限を80にしたいなら、たとえば次のような形になります。

<head>
  <meta name="robots" content="max-snippet:80">
</head>

[number] の部分が上限です。ここでは、ふつうの正の数値で上限を決める使い方に絞ります。それ以外の値を入れたくなったら、公式の仕様ページの表で扱いを確かめてからにしてください。

数値を書き忘れたり、全角で書いたりしないよう注意します。仕様ページには、プレビュー系の別の指定(max-video-preview)について「読み取れる数値がなければ無視される」と書かれています。max-snippet でも、書式が崩れていれば意図どおりに読まれないことがある、と考えておくほうが安全です。

HTML 以外のファイルは X-Robots-Tag

PDF などの HTML 以外のファイルには、メタタグを書けません。仕様ページは、robots メタタグをページ単位の設定、X-Robots-Tag(サーバーが返す HTTP レスポンスのヘッダー)を HTML 以外のリソース向けの設定として説明しています。

公式ページに載っているのは、サイト全体の画像ファイルに noindex を付ける例です。NGINX なら次の形です。

location ~* \.(png|jpe?g|gif)$ {
  add_header X-Robots-Tag "noindex";
}

Apache 向けの例も同じページにあります。PDF の説明文の長さを抑えたいときは、ヘッダーに何をどう書けるかを、仕様ページの表と例で確認してから設定してください。

指定が重なったら「いちばん厳しい」ほうが効く

指定は、気づかないうちに重なります。テンプレートが出すメタタグと、CMS のプラグインが出すメタタグ。その両方に robots の指定が入っていた、というのはよくある話です。

公式の仕様ページは、指定どうしが食い違う場合のルールを、例つきで書いています。

In the case of conflicting robots rules, the more restrictive rule applies. For example, if a page has both max-snippet:50 and nosnippet rules, the nosnippet rule will apply.

食い違ったら、より厳しいほうが適用される。max-snippet:50 と nosnippet が両方あれば、nosnippet が効く。そういうルールです。

困るのは、これに気づかない場合です。テンプレートの共通部分に nosnippet が残っていると、個別ページで max-snippet をいくら調整しても説明文は出ません。それなのに、原因を数値のせいだと思い込んでしまいます。

同じ考え方で、max-snippet:150 と max-snippet:50 が別々のタグに書かれていたら、短いほうが効く可能性が高いと見ておくのが自然です。だから、数値を変える前に「このページに、ほかの指定が書かれていないか」を先に確かめます。

AI による概要にも同じ指定が挙げられている

AI による概要(検索結果の上部などに、AI が複数のページをまとめて答えを出す機能)に、文章を長く引用されたくない。そう考えて max-snippet を調べる人もいるはずです。

Google の「AI 機能と Google 検索」には、次のように書かれています。

To limit the information shown from your pages in Search, use nosnippet , data-nosnippet , max-snippet , or noindex controls.

検索で表示される情報を制限したいなら、これらの指定を使う、ということです。AI 機能の説明ページで挙げられている手段は、ふだんのスニペット制御と同じものです。

裏を返すと、max-snippet は AI 機能だけを狙って制限する手段ではない、と考えておくのが安全です。上限を短くすれば、ふつうの検索結果の説明文も短くなるかもしれません。そこは割り切りが必要です。

なお、同じページには、Google のほかのシステムでの AI の学習などを制限したい場合は Google-Extended を参照するよう書かれています。検索での表示の話とは別の仕組みなので、混ぜないようにしてください。

よくある誤解:「上限を付ければ、その長さで出る」

max-snippet:80 と書けば、毎回ちょうど80字で切り取られる。そう考えがちです。

ただ、公式の説明は「最大の長さを指定する」です。ちょうどその長さで出すとは書かれていません。上限より短い説明文が出ることもある、と考えておくのが安全です。

また、説明文の見え方は、検索した語や端末によっても変わることがあります。スマートフォンで短く見えたからといって、設定が効いた証拠にはなりません。逆に、長く見えたからといって、効いていないとも言い切れません。判断するときは、同じ検索語・同じ端末で、設定の前後を比べるようにします。

そもそも説明文に meta description(ページの説明文として HTML に書く文)が使われない理由は、「メタディスクリプションが反映されない原因と直し方」にまとめています。

例:会員制ノウハウ記事で上限を決める

ここからは、会員制のノウハウ記事を持つサイトを例に、流れを一度通してみます。

状況はこうです。記事の冒頭は無料で読めて、続きは会員限定。検索結果の説明文に、無料部分の要点がまるごと出ていて、クリックしなくても答えが分かってしまう。社内からは「説明文を消してほしい」と言われています。

  1. 何を見せたいかを決める。 無料部分のうち、「この記事で何が分かるか」が伝わる最初の一文だけは見せたい。要点の箇条書きは見せたくない。ここで、全部消す nosnippet は候補から外れます。
  2. 部分指定で足りるかを考える。 見せたくないのが要点の箇条書きだけなら、data-nosnippet をその部分に付けるほうが的確です。今回は「どこが引用されるか読めない」ので、長さで抑える max-snippet を選びます。
  3. 上限の数値を仮に決める。 冒頭の一文の長さを数えて、それが収まる程度の数値にします。この値はあくまで出発点です。
  4. 既存の指定を洗い出す。 ページのソースを開き、name="robots" のメタタグがいくつあるかを数えます。2つ以上あれば、それぞれの中身を見ます。nosnippet が残っていれば、前の節のとおりそちらが効きます。
  5. メタタグを入れる。 記事テンプレートの <head> に max-snippet:[数値] を足します。全記事ではなく、会員限定のある記事だけに出し分けます。
  6. 出力を確かめる。 公開後のページのソースで、メタタグが1つだけ、意図した数値で出ているかを確認します。ログインした状態と、していない状態の両方で見ておくと、出し分けの漏れに気づけます。
  7. 時間をおいてから比べる。 検索結果への反映には時間がかかることがあります。入れた翌日に検索結果を見て「変わっていない」と判断するのは早すぎます。

7番で見るのは、検索結果の見た目と、クリック率(検索結果に出た回数のうち、クリックされた割合)の動きです。説明文が短くなったあとにクリック率が下がったなら、上限が短すぎた可能性があります。ただし、クリック率は順位や時期、検索結果に並ぶほかのページにも左右されます。設定だけが原因と決めつけず、仮説として扱ってください。

4番で nosnippet が見つかったら、それが冒頭の「説明文を消すと怖い」の答えにもなります。消すつもりがなかったのに消えていた、ということです。

タイトルと説明文がクリック率にどう効くかは「クリックされるタイトルと説明文の作り方」で扱っています。

設定前のセルフチェック

最後に、max-snippet を入れる前に確認したいことを表にまとめます。1つでも「いいえ」があれば、先にそちらを片づけてください。

確認することはいの場合いいえの場合
説明文を「消す」のではなく「短くしたい」のかmax-snippet を検討するnosnippet を検討する
隠したい箇所が特定できないかページ単位の max-snippetdata-nosnippet で部分指定する
ページ内の robots メタタグに、より厳しい指定が残っていないかそのまま進める先に既存の指定を整理する
数値は半角で、max-snippet: のあとに書いているかそのまま進める書式を直す
HTML のページかrobots メタタグで指定するX-Robots-Tag の書き方を仕様ページで確認する
比べるときに、順位や時期の変化も記録しているか結果を判断材料にできる記録してから比べる

いちばん大事なのは、3行目です。指定が重なると、書いた本人の意図とは関係なく、厳しいほうが勝ちます。数値をいじる前に、まず今ページに何が書かれているかを確かめる。そこから始めてください。

出典

  1. robots メタタグ、仕様、X-Robots-Tag HTTP ヘッダー(Google 検索セントラル)
  2. 検索結果のスニペットを管理する(Google 検索セントラル)
  3. AI 機能と Google 検索(Google 検索セントラル)

NEXT STEP

クライアントへの説明に使える実際の画面を見てみませんか

ご自身の目で、GA4・Search Consoleのデータがどう整理されるかを確認いただけます。

無料デモを見てみる