強調スニペットを非表示にする方法【デメリットを回避】
強調スニペットは検索結果ページにおいて非常に目立つ要素なので、そこに表示されることは基本的に望ましい事象です。
しかし、場合によってはページの狙いとは齟齬がある形で抜粋されて、通常のフォーマットで表示されるよりも成果が悪くなることもあります。
また、スニペット内で検索クエリへの回答が完結する場合は、クリック率が下がる可能性もあります。
そこで本記事では、強調スニペットを非表示にする方法を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を使用するのがよいでしょう。