robots metaタグ/X-Robots-Tag バリデーター
タグやX-Robots-Tagヘッダーの値を貼り付けるだけでディレクティブを一括検証。noindexとindexの併記など矛盾する指定や、max-snippet等の値の誤りを検出し、ディレクティブごとの内訳を一覧表示します。
Tips
- 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タグを複数書いても後勝ちにはならず、両方が個別に評価されるため注意が必要です。
よくある質問
余談ですが ― 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で表示を完全にオフにするしかなかったため、表示量を細かく調整できるようになったのはパブリッシャーにとって歓迎すべき変更でした。