robots metaタグ/X-Robots-Tag チェッカー
タグやX-Robots-Tagヘッダーの値を貼り付けるだけでディレクティブを一括検証。noindexとindexの併記など矛盾する指定や、max-snippet等の値の誤りを検出し、ディレクティブごとの内訳を一覧表示します。
クロールとインデックスの指示を点検する
`` と `X-Robots-Tag` は、検索エンジンに対して「このページをインデックスするな」「リンクをたどるな」といった指示を伝えるものです。このツールは値を貼り付けるだけでディレクティブを分解し、矛盾する指定や値の誤りを洗い出して、内訳を一覧にします。
**まず押さえたいのは、矛盾した指定を書いた場合は制限の強いほうが採られるという点です。** `index, noindex` のように両方書けば `noindex` が勝ちます。**そして最も多い事故が、`noindex` を付けたページを robots.txt で同時に拒否してしまうことです。** クローラーはそのページを取得できなくなるため、**`noindex` という指示自体を読めず、結果としてインデックスから消えません。** 消したいページは、クロールを許したうえで `noindex` を読ませる必要があります。なお `X-Robots-Tag` は HTTP ヘッダーなので、HTML を持たない PDF や画像にも指示を出せます。
使い方
- 値を貼り付ける `` タグの形でも、`X-Robots-Tag:` 付きでも、ディレクティブだけでもかまいません。
- サンプルで挙動を確かめる 良い例と悪い例が用意してあります。
- 矛盾と誤りを読む **`noindex` と `index` の併記や、`max-snippet` などの値の誤りが指摘されます。**
- 内訳の一覧を確認する どのディレクティブが効いているのかを分解して見られます。
使いこなすためのヒント
- noindexとrobots.txtのdisallowを同時に設定するのは避けましょう。disallowでクロール自体をブロックすると、クローラーはページ内のnoindexタグを読み取れず、インデックス削除が意図通りに進まないことがあります。
- Googleは認識できないディレクティブ名をエラーにせず単に無視します。そのため未知のディレクティブが混ざっていても致命的ではありませんが、typoに気づけないままになるため確認は重要です。
- max-snippet:-1・max-video-preview:-1は「無制限」を意味する特別な値です。0は「スニペットを一切表示しない」という別の意味になるため混同しないよう注意してください。
- X-Robots-TagヘッダーはPDFや画像等、HTML以外のファイルにもnoindex等の指示を出せる唯一の方法です。metaタグはHTML文書にしか埋め込めません。
- 複数のディレクティブを併記する場合はカンマ区切りで1つのcontent属性・ヘッダー値にまとめます。同じ名前のmetaタグを複数書いても後勝ちにはならず、両方が個別に評価されるため注意が必要です。
活用シーン
テスト環境の公開事故を防ぐ
**`noindex` が本当に効いているかを、公開前に確かめられます。**
インデックスから消えない原因を探る
**robots.txt での拒否と `noindex` を併用していないかを見直す手がかりになります。**
検索結果の見え方を調整する
`max-snippet` や `max-image-preview` の指定が正しいかを確認できます。
PDFなどの扱いを決める
HTMLを持たないファイルには `X-Robots-Tag` を使う必要があります。
robots指示の用語
- noindex
- 検索結果に出さないよう求める指示です。**robots.txt で拒否すると読まれないため、併用してはいけません。**
- nofollow
- そのページ上のリンクをたどらないよう求める指示です。
- noarchive
- キャッシュされたページを検索結果に出さないよう求める指示です。
- max-snippet
- 検索結果に表示する説明文の最大文字数を指定します。`0` で抑制、`-1` で制限なしです。
- max-image-preview
- 画像プレビューの大きさを `none`・`standard`・`large` から指定します。
- X-Robots-Tag
- 同じ指示を **HTTPヘッダーで返す方式**です。PDF や画像など HTML を持たない資源に使えます。
よくある質問
余談ですが ― robots.txtとrobots metaタグは何が違うのか ― クロールとインデックスの分業
robots.txtとrobots metaタグはどちらも検索エンジンへの指示に使われますが、担当する段階が異なります。robots.txtは「クロールしてよいか」をURLパターン単位で制御するファイルで、サイトのルートに設置する静的なテキストです。一方robots metaタグ(およびX-Robots-Tagヘッダー)は「クロール済みのページをインデックスしてよいか・リンクを辿ってよいか」をページ単位で細かく制御する仕組みで、両者は独立したレイヤーとして機能します。
この分業構造ゆえに、robots.txtでdisallowしたページにnoindexタグを書いても効果はありません。クローラーがそもそもそのページを取得できないため、ページ内に書かれたnoindexの指示を読み取る機会自体がないからです。ページを検索結果から除外したい場合は、クロール自体は許可したままnoindexディレクティブだけを使う必要があります。
X-Robots-Tagヘッダーは2007年頃にGoogleが導入した仕組みで、metaタグが使えないPDF・画像・動画等の非HTMLリソースに対しても同様の制御を可能にしました。Apache等のWebサーバー設定でファイル拡張子ごとに一括付与できるため、大量のPDFファイルを一括でnoindexにするといった運用にも向いています。
max-snippet・max-image-preview・max-video-previewといった値付きディレクティブは比較的新しく、2019年にGoogleが検索結果のスニペット表示に関するポリシーを整理した際に追加されました。それ以前はnosnippetで表示を完全にオフにするしかなかったため、表示量を細かく調整できるようになったのはパブリッシャーにとって歓迎すべき変更でした。