HTMLのnoindexの書き方と検索除外

noindexは、ページを検索結果に表示させないための指定で、head内にmeta robotsタグとして書きます。nofollowと併用すると「インデックスせず・リンクもたどらせない」制御ができます。

noindexとは - 検索除外の仕組み

noindexは、「このページを検索結果に載せない」と検索エンジンに伝えるmetaタグの指定です。クローラー(検索エンジンの巡回プログラム)がこの指定を読むと、ページはインデックス(検索データベースへの登録)から除外されます。

robots.txtはクロール(巡回)自体を拒否する別の仕組みで、検索除外は保証されません。確実に検索結果から外したいページにはnoindexを使います。

noindexの書き方(Try it)

head内に<meta name="robots" content="noindex">を1行書くだけです。

meta robotsでのnoindex記述例

ページ全体では次のように書きます。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta name="robots" content="noindex">
  <title>検索結果に表示しないページ</title>
</head>
<body>
  <p>このページは検索エンジンにインデックスされません。</p>
</body>
</html>

name="robots"はすべての検索エンジン向けの指定です。挙動の詳細はGoogle検索セントラルのドキュメントで確認できます。

noindexとnofollowの併用 - 書き方と使い分け

content属性の値をカンマ区切りで並べると併用できます。noindexは「登録させない」、nofollowは「ページ内のリンクをたどらせない」指定で、目的が異なります。

content="noindex, nofollow" の書き方

併用時は、head内に次の1行を書きます。

<meta name="robots" content="noindex, nofollow">

検索除外だけが目的ならnoindex単独で足ります。nofollowの詳細は「HTMLのnofollowの意味と書き方」のページで扱います。

反映されない・除外されない時の原因

noindexを書いたのに検索結果に残る場合、よくある原因は以下の3つです。

  • robots.txtでクロールをブロックしている
  • 再クロールがまだ来ていない
  • body内への記述などの書き間違い

特にrobots.txtとの併用は逆効果です。クロールを拒否するとクローラーがnoindexを読めず、検索結果に残ることがあります。

HTMLのnoindexの書き方と検索除外に関するよくある質問

noindexを書けばすぐ検索結果から消えますか?

いいえ。再クロールで反映されるまで、数日から数週間かかることがあります。

nofollowだけを指定するとどうなりますか?

ページはインデックスされ続け、リンクをたどる動作だけが抑制されます。検索除外にはnoindexが必要です。

robots.txtとnoindexはどちらを使うべきですか?

既にインデックスされたページを消したい場合、robots.txtでブロックするとクローラーがnoindexを読めなくなります。noindexを残したままクロールは許可しておくのが正しい手順です。