強調スニペットを非表示にする方法【デメリットを回避】
強調スニペットは検索結果ページにおいて非常に目立つ要素なので、そこに表示されることは基本的に望ましい事象です。
しかし、場合によってはページの狙いとは齟齬がある形で抜粋されて、通常のフォーマットで表示されるよりも成果が悪くなることもあります。
また、スニペット内で検索クエリへの回答が完結する場合は、クリック率が下がる可能性もあります。
そこで本記事では、強調スニペットを非表示にする方法をGoogleの公式アナウンスに基づいて解説します。
強調スニペットを非表示にする方法
強調スニペットを非表示にする方法には、特定箇所を非表示にする方法とページ内の全要素を非表示にする方法が存在します。
特定箇所を非表示にする
特定箇所を強調スニペットに表示されないようにするにはdata-nosnippet
を活用できます。このタグでマークアップした要素は、強調スニペット・通常のスニペット両方から除外されます。
対応しているタグはspan
, div
, section
なので、例えば下記のように記述します。
<p><span data-nosnippet>スニペットから除外したい文章</span></p>
注意点として、data-nosnippet
を適用した要素は、強調スニペットだけでなく通常のスニペット(meta description)からも除外されます。
そのため、強調スニペットからのみ除外したい場合は、後述するmax-snippet
を使います。
ページ内の全要素を非表示にする
ページ内の全要素をスニペットから除外するには、nosnippet
を使用します。
これはdata-nosnippet
と違い、下記のようにhead
内でmeta
タグのcontent
属性の値として用います。
<head>
...
<meta name="robots" content="nosnippet">
...
</head>
これにより強調スニペットを完全にブロックできますが、data-nosnippet
と同じく通常のスニペットにも適用される点に注意が必要です。
強調スニペットのみを除外するには次の章で解説するmax-snippet
をご覧ください。
通常のスニペットは残しつつ強調スニペットだけを非表示にする方法
強調スニペットからのみ除外する完璧な方法は本記事の執筆時点では存在しませんが、それに近いことを実現するテクニックをGoogleが公式にアナウンスしています。
それが、max-snippet
を用いる方法です。
max-snippet
は検索結果に表示されるスニペットの最大文字数を指定するコードで、<meta>タグのcontent属性として使います。
<!-- 100字の場合 -->
<meta name="robots" content="max-snippet:100">
前提として、強調スニペットは通常のスニペットよりも文字数が多い傾向があります。つまり「通常のスニペット以上、強調スニペット以下」の文字数のレンジを指定することで、後者のみを除外することを図る手法です。
ただし、強調スニペットに最小文字数は無いので「ここまで下げれば表示されなくなる」という値は存在せず、このテクニックを紹介しているGoogleも下記のように述べています。
max-snippet
の値を低く設定すれば、そのページが強調スニペットに表示されなくなる、という保証はありません。
そのため、望ましくない箇所が強調スニペットとして表示される場合は、max-snippet
に加えて前述したdata-nosnippet
を使用するのがよいでしょう。