robots.txtでアクセスブロックをしてみる。

503エラー

このサイトを置いているサーバーの限界なのだろうが、タグ検索で503エラーが頻発している。こんな感じ。(↓)

Service Temporarily Unavailable
The server temporarily unable to service your request due to capacity problems. please try again later.

サーバへのアクセスが集中しているため一時的にアクセスできません。
時間を置いて再度アクセスしてください。

時間を置いても問題が解消しない場合にはこのエラーメッセージをサイト管理者様にご連絡ください。
---
503 Service Temporarily Unavailable

Googleウェブマスターツールを見ても、Googlebot がクロールできなかったURLが343件あり、そのすべてがタグ検索のページであり、原因は503エラーなのである。

対策

これはちょと厄介な問題で、根本的にはサーバーを変えるしかないのだろうが、それもおいそれとはいかない。

そこでどの程度の効果があるかはわからないが、robots.txtを置くことで、検索エンジンロボットが、タグ検索結果をクロールすることを制限することにしてみた。

参考にしたのは、Googleのウェブマスター向けヘルプセンターにある「ブロックするすべてのファイルを表示しなくてもよいのですが、 パターン一致を使用できますか。

robots.txt

記述は以下のとおり。

User-Agent: *
Disallow: /*?

この記述だと、Disallow: /*? で、1つの ? を含むURLをブロックする。

例えば、タグ検索ページは、(↓)のようなURLになるので、ブロックできるはずなのである。

http://www.momoti.com/mt/mt-search.cgi?tag=16%E6%9C%AC%E9%AA%A8%E5%82%98&blog_id=2 

MTでつくる

今回は、robots.txtはMovable Typeのインデックステンプレートの新規作成で行った――robots.txtはルートに置かなくてはならない(つまりhttp://www.momoti.com/robots.txt となる)ので、「ももち ど ぶろぐ」ではなく(ルートにhtmlを吐き出している)「ももち どっと こむ」の方で作成を行った 。

テンプレート名 robot (なんでもよい)
出力ファイル名 robots.txt
このテンプレートにリンクするファイル 空欄のママ。

確認

Googleウェブマスターツールのrobots.txt 解析でステータスを確認――200 (成功しました)表示を確認。(確認できるまで1日程度時間をみておいた方がよいだろう。直ぐには確認作業は行われない)。

SEO

さて、この対策はSEO的には検索ヒット数が減ることが予想されている。つまりタグ検索結果がかなり検索エンジンにキャッシュされているが、それがなくなるからだ。このあたりは痛し痒しなのだが、暫く様子をみていきたいと思う。

追記

2007/03/28:確実に検索ヒット数は減るようだ。(2割程度)。ただ検索精度はかなり上昇するのも確かで、各ページのキャッシュが確実に行われている印象だ。