検索よけのためのrobots.txtの書き方

検索エンジンのクローラーが来ないようにするためのrobots.txtの書き方について書いておきます。いわゆる検索よけのrobots.txtです。

robots.txtは「ろぼっつ てくすと」または「ろぼっつ てきすと」と読みます。なお、私は、英語の発音で、\'roʊ bɑts 'tεkst\と読んでいます。それにしても、バックスラッシュって打ちにくいですね。font-familyをArial, Verdana, Calibriにしてやっと出ました。

効果のほどは、そこそこですが、robots.txtでやりたい人は、こういうディレクティブを書きましょう。

ボットは全部排除します。

User-agent: *
Disallow: /

しかし、大手の検索エンジンであるGoogleは、一部のボットでこれに従わないことがわかりました。広告関連のボットです。User Agentは「AdsBot-Google」です。これはUser Agentを名指ししないと、制御できないようです。よって、これを出入り禁止にするには・・・

User-agent: AdsBot-Google
Disallow: /

・・・とします。

これを含めて、全てのボットを出入り禁止にするには・・・

User-agent: *
Disallow: /

User-agent: AdsBot-Google
Disallow: /

・・・と書いてやればいいことになります。

なお、Googleだけを名指しで排除するには・・・

User-agent: Googlebot
Disallow: /

また、bingだけを名指しで排除するには・・・

User-agent: bingbot
Disallow: /

・・・と言ったところです。

Googleとbingの両方を名指しで排除するには、両方書きます。こんな具合です。

User-agent: Googlebot
Disallow: /

User-agent: bingbot
Disallow: /

User-agentのところは複数列挙できないため、こういう形になります。

もっと徹底的にやる場合は、各検索サイトが使っている全てのボットのuser agentを調べて、全部について上記の記述を行います。

なお、悪質なボットは、そもそも、robots.txtなんて無視するので、robots.txtは無効です。

robots.txtと言うのは、その昔、Martijn Kosterと言う人が考案して、広まったものです。1994年のことだとされています。法律と言ったものではないので、その考え方に賛同した人がそれに従っているだけです。また、その意味の解釈の仕方もそれぞれです。

悪質なボットは、徹底的に情報を集めようとしますので、無視します。検索エンジンも、結構、執拗に集めようとするので、検索エンジンが嫌いな人にとっては、かなりしつこい害虫です。

私個人は、robots.txtを使うことはまずなく、.htaccessで対抗しています。.htaccessなら、相手にデータを渡さないということができますので、これは絶対的な力となります。

まあ、user agentを偽装されたら、どうにもなりませんが・・・。一部のボットは、本当にしつこくて、そう言うことをしますから、挙動を元に判断して、IPアドレスで排除するしかありません。

ただ、そう言う連中は、IPアドレスも四六時中変えるので、IPアドレスを範囲で指定して、排除することになります。そうなると、一般人も巻き込んでしまいます。困ったものです。

robots.txtは、.htaccessに比べると、ずいぶんボットにやさしいやり方です。

robots.txtの置き場所ですが、ルートにおきます。ディレクトリーに設置しても無効です。

例えば、このサイト、つまり、hotaruweblog.comの場合だと、こうなります。

有効

hotaruweblog.com/robots.txt

www.hotaruweblog.com/robots.txt

personal.hotaruweblog.com/robots.txt

無効

hotaruweblog.com/myhobby/robots.txt

www.hotaruweblog.com/worldpeace/robots.txt

無料ホームページサービスや無料ブログサービスなどでは、.htaccessはもちろん、robots.txtも設置できないようになっているのが普通です。

一方、有料のレンタル・サーバーでは、robots.txtは設置可能です。例外はないと思います。ついでながら、.htaccessも大半のレンタル・サーバーでは設置できます。しかし、一部のレンタル・サーバーでは、設置できません。こちらは例外が存在するので要注意です。