記事一覧

百度(バイドゥ)のWEBページクロールを拒否する

  • このエントリーをはてなブックマークに追加

ファイル 302-1.jpg

最近、自分のWEBページのアクセス数の割には、リクエスト数がやたら多くて、サーバーに負荷がかかっていたため、原因を調べてみることにしましたみることにしました。すると、検索エンジンの百度(バイドゥ)が、やたらページをクロールしまくっていることがわかりました。

WEBページのクロールと言ったら、Googleや他の検索エンジンもしていることなんですが、Googleの場合、サイトに負荷をかけないような対策がとられています。百度(バイドゥ)も昔に比べてだいぶんマシになったらしいのですが、どうも頭の悪いクローラーのようで、動的なサイトだと相変わらず無闇やたらにクロールしてくるようです。僕のサイトで言えば、1日に10,000~15,000ものリクエストを要求してきて、サーバーに負荷がかなりかかるので、百度のアクセスを拒否することにしました。

拒否する方法は、いろいろあるのでしょうが、僕はあまり詳しくないので、手軽な.htaccessファイルを使う方法を使うことにしました。

やり方は簡単で、以下の文字列をコピーし、メモ帳などのテキストエディタに貼り付け、「.htaccess」というファイル名で保存し、あとはWEBページの拒否したいところに「.htaccess」ファイルをアップロードするだけです。

AddHandler cgi-script htaccess

#<Files ~ "^\.(htaccess|htpasswd)$">
#deny from all
#</Files>

order deny,allow
deny from baidu.jp
deny from baidu.com
deny from 119.63.192.0/21

ここに「.htaccess」ファイルが、そのままあるので、これをダウンロードしてサーバーにアップロードするだけでもいいです。レンタルサーバーなどの場合、「public_html」にアップロードしておけば、全ページて百度を拒否する設定になっています。


書いてある内容を簡単に説明。

AddHandler cgi-script htaccess
.htaccess ファイル自体の閲覧を拒否する設定。

#<Files ~ "^\.(htaccess|htpasswd)$">
#deny from all
#</Files>
これも、.htaccess ファイル自体の閲覧を拒否する設定ですが、ISPが許可していない場合もあるので、コメントアウトしてあります。上のAddHandlerが使えない場合は、#を取り除いてこちらの設定を使ってください。

order deny,allow
deny from baidu.jp
deny from baidu.com
deny from 119.63.192.0/21
アクセス制限の設定です。「deny from 119.63.192.0/21」で百度が使うIPの範囲を指定しているので、本来なら「deny from baidu.jp」「deny from baidu.com」の行は必要ないのですが、一応書いてあったほうがわかりやすいので。

で、実際へアクセス制限してみると、以下のようにリクエスト数が減ってサーバーへの負荷がかなり軽減されました。(20110306の途中から制限)

自分のサイトが、原因不明の負荷に悩まされているという場合は、一度試してみてもいいかもしれません。

タグ:パソコン操作

  • このエントリーをはてなブックマークに追加

トラックバック

この記事のトラックバックURL
http://netakiri.net/diary/diary-tb.cgi/302
スポンサーリンク
 

トラックバック一覧