ロボットを制御する:robots.txt

Webサーバのルート(Webからアクセスできる最上位ディレクトリ)にファイルを置く権限があれば、robots.txt というファイルによって検索エンジンロボットの巡回を制御できます。

ルートにファイルを置く権限がない一般ユーザでも、自分のディレクトリの最上位に置いておけば丁寧なロボットなら見てくれるかもしれません。

しかし、振る舞いを制御したいロボットは多くの場合丁寧ではないロボットなので効果は薄いかもしれません。robots.txt は単なるテキストファイルです。

パーミションは 604 とか 644 としておけば良いでしょう。


中身ですが、以下のように記述します。

User-Agent: *
Disallow: /cgi-bin/
Disallow: /example.html

全てのロボットに対して /cgi-bin/ ディレクトリとexample.html への巡回を禁止しています。最下行の Disallow: の下には常に一行改行が必要です。

User-Agent: *
というのが対象ロボットを記述する部分です。

「*」というのはワイルドカードといって全てのロボットを対象にするという意味です。

例えば、Google のロボット Googlebot に対して禁止する場合は

User-agent: Googlebot

と書きます。

Disallow: /cgi-bin/

というのは、対象ロボットに対してディレクトリやファイルへの巡回を禁止する記述です。Googlebotは正規表現的な表現もきちんと読んでくれますので

Disallow: /*.gif$

としてGIF画像ファイルへのアクセスを制御することも可能です(Googleには画像収集ロボットもある)。全てのロボットに全てのファイルへのアクセスを禁止したい場合は

User-Agent: *
Disallow: /

と書きます。

複数のロボットに対して制御を記述する場合は

User-Agent: Googlebot
Disallow: /cgi-bin/
Disallow: /*.gif$

User-Agent: Slurp
Disallow: /example.html

という風に記述します。

ロボットごとのくくりは空白行で区切る必要があります。ロボットの大半はrobots.txt の記述を守ってくれますが、行儀の悪いロボットはrobots.txtを無視してインデックスしまくっていきます。そういった悪ガキに対処するにはもはやホスト規制しかないかもしれません。

robots.txtを置く時の注意点としては、robots.txt自体が丸見えだということです。

URLにルート+robots.txt と打つことで robots.txt の中身が読めてしまいます。

そしてその中にはインデックスされたくないファイルの情報が書かれているのです。ロボットはそれで制御できますが、今度はたちの悪い人間がそいういったところを盗み見て悪さを仕掛けてくることがあります。

この辺の対処には難しい所がありますが、注意した方が良いかもしれません。

METAタグによる制御にしても robots.txt による制御にしても同じですが、ロボットを100%制御できるわけではありません。METAタグなんてけっこう無視されがちだし、robots.txtでも読まなかったり、見て見ぬふりなんてザラです。そういった制御をさせない"行儀が悪い"ロボットはホスト規制と連携して弾くのが一番です。

戻る



Webサイトを持とう

SEOアクセス向上

雑学

広告