検索ロボット(クローラ)拒否で負荷軽減

検索ロボット(クローラ)拒否で負荷軽減

レンタルサーバーで、案外、負荷がかかりやすいのが検索ロボットです。

特に悪評高い「百度」(Baidu)は、やたらとサイト情報を採取しに来ます。

サイトの大きさに比例して「百度」(Baidu)のアクセス数も増えてくるのが知られています。

もし、あなたのサイトが、中国に一切関係ないのであれば、拒否するのも一つの案かもしれません。
特にWordpress,Joomla!などPHPで動的にページを作成する場合は、負荷の軽減が望まれるでしょう。

今回は、その方法を説明してみます。

robots.txtを使ったクロール拒否

普通のクローラは、robots.txtの設定に従ってくれます。

robots.txtには、以下の情報を設定します。
User-Agent:ユーザエージェント名
Disallow: 拒否するディレクトリ名

以下は、その設定例です。

1
2
3
4
5
6
7
8
User-Agent: Baiduspider
Disallow: /
User-Agent: Baiduspider+
Disallow: /
User-Agent: BaiduImagespider
Disallow: /
User-Agent: BaiduMobaider
Disallow: /
筆者は、この設定を行って、1週間経ちましたが、ユーザエージェントを変え、IPアドレスを変えながら、アクセスは、全く止まることはありませんでした。
つまり、「百度」(Baidu)は、表面的に従っているふりはしますが、全くアクセスを止めることはありません。残念ながら。 ;( 悲しすぎる・・・。

.htaccessを使ったクロール拒否

ある意味では、.htaccessを使える共有レンタルサーバーの環境では、最後の手段になります。

.htaccessファイルは、このファイルを置いたディレクトリとその配下のサブディレクトリのアクセス制限を設定することができます。
ほとんどの場合、httpd.confで設定できるディレクトリのアクセス制限が、そのまま、.htaccessファイルに記述することができます。

以下は、その設定例です。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# BEGIN crawler
SetEnvIf User-Agent "[Bb]aidu" deny_ref
SetEnvIf User-Agent "[Yy]eti" deny_ref
SetEnvIf Referer "^http://www\.baidu\.jp" deny_ref
SetEnvIf Referer "^http://www\.baidu\.com" deny_ref
SetEnvIf Referer "^http://help\.naver\.com" deny_ref
SetEnvIf Remote_Host "\.baidu\.jp" deny_ref
SetEnvIf Remote_Host "\.baidu\.com" deny_ref
SetEnvIf Remote_Host "\.hinet\.net" deny_ref
SetEnvIf Remote_Host "\.naver\.com" deny_ref
 
order allow,deny
allow from all
deny from env=deny_ref
 
##############
# robots.txt #
##############
<Files robots.txt>
    allow from all
</Files> 
# END crawler

SetEnvIf は、以降に記述する条件に一致した場合、env(グローバル変数のようなもの)に指定された値を設定します。

2行目は、 User-Agentの名前が、Baidu あるいは baidu を含んでいるならdeny_refenvに設定します。
3行目は、 User-Agentの名前が、Yeti あるいは yeti を含んでいるならdeny_refenvに設定します。
4行目は、 Refererの名前が、http://www.baidu.jpで始まる場合deny_refenvに設定します。
5行目は、 Refererの名前が、http://www.baidu.comで始まる場合deny_refenvに設定します。
6行目は、 Refererの名前が、http://help.naver.comで始まる場合deny_refenvに設定します。 — これは、NHN Corp.という「百度」(Baidu)とは異なりますが、韓国系の検索エンジンのクローラです。これまた、かなり頻繁にクロールしに来ます。ここで同じように拒否してみます。
7行目は、 Remote_Hostの名前が、baidu.jpドメインからのアクセスの場合deny_refenvに設定します。
8行目は、 Remote_Hostの名前が、baidu.comドメインからのアクセスの場合deny_refenvに設定します。
9行目は、 Remote_Hostの名前が、hinet.netドメインからのアクセスの場合deny_refenvに設定します。
12行目は、 ここからアクセス規制を許可(allow)、拒否で指定します。(deny)
13行目は、 まず、すべてのアクセスを許可します。
14行目は、 アクセスの中で、envdeny_refを設定されるようなアクセスの場合、そのアクセスを拒否します。
19-21行目は、 robots.txtファイルだけは、だれでもアクセスできるようにします。
通常、この設定を行うと拒否された情報が、エラーロギングへ設定されます。
また、通常のアクセスロギングには、403で拒否された情報が残ります。

[エラーロギング]
[Sat May 08 15:41:01 2010] [error] [client 119.63.198.26] client denied by server configuration: /var/www/html/wordpress/
[アクセスロギング]
119.63.198.26 - - [08/May/2010:15:41:01 +0900] "GET / HTTP/1.1" 403 214 "-" "Baiduspider+(+http://www.baidu.jp/spider/)"


この設定で、負荷が大きくてアクセスエラー(500,503)がでているような場合は、その頻度が減ると思います。
少なくとも筆者は、データベースアクセスエラーは、減りました。
どうしても共有レンタルサーバーの場合は、データベースへの同時接続できる数には、限界があります。「百度」(Baidu)などのクローラがデータベースへのアクセスリソースを占有してしまっている場合もあります。

一度、試されるのも有りだと思います。 (Y)

この記事を読んだ人は次の記事も読んでいます:



口コミ・評判



口コミ・評判を投稿 :

お名前 *

メールアドレス *
(口コミ・評判欄には、表示されませんが入力が必要です。)

サイトアドレス

*


KDDI CloudCore VPSが新規受付の完全再開!!


人気のあまり新規受付停止中でしたが、
新規受付再開しました。 :)

12ヶ月契約 月額¥1,470 → キャンペーン価格 月額¥945 のキャンペーン実施です。 :D

  • 仮想化技術 : KVM になりました。
  • CPU : 物理 1 core になりました。
  • メモリ : 2GB になりました。
  • ディスク : 100GB になりました。
  • 回線 : 100MBPS共有 になりました。
  • 初期設定費: 無料 になりました。

CloudCore VPSの詳細については、 こちらのKDDI CloudCore VPSのサイト CloudCore VPSのサイトへへどうぞ。(お試し期間が10日あります。)

さくらインターネットでデータベース機能強化!!


さくらインターネット
データベース大幅機能アップ実施!!
もちろん既に利用している方もこれから借りる方も全ての利用者対象です。 :)

  • データベース作成数を大幅に増量
    スタンダード 1個 → 20個
    プレミアム  1個 → 50個
    ビジネス   2個 → 100個
    ビジネスプロ 3個 → 200個
  • ストレージエンジン「InnoDB」の追加提供
  • データベースサーバのスペック増強 (従来比5倍のパフォーマンスを実現)

さくらインターネットのお申し込みは、 こちらのさくらインターネット サイト さくらインターネットのサイトへからどうぞ。(お試し期間が14日あります。)

サイトメニュー(カテゴリ)




一押し!!キャンペーン情報

  • 共有サーバー
  • VPS
  • マネージド
  • ドメイン

その他のキャンペーン情報は、こちらをご確認ください。





主なラインキング

共有レンタルサーバー& みんなの評価

みんなの評価は、このサイトを利用されている方の評価平均でランキングされています。

各レンタルサーバーの機能概要一覧は、 こちらからどうぞ


VPS& みんなの評価

みんなの評価は、このサイトを利用されている方の評価平均でランキングされています。

各VPS機能概要一覧は、 こちらからどうぞ


マネージドサーバー& みんなの評価

みんなの評価は、このサイトを利用されている方の評価平均でランキングされています。

各マネージドサーバー機能概要一覧は、 こちらからどうぞ


ドメインレジスタ& みんなの評価

みんなの評価は、このサイトを利用されている方の評価平均でランキングされています。

各ドメインレジスタの主要ドメイン価格一覧は、 こちらからどうぞ

: この表示がある価格は、キャンペーン価格になります。

Valid XHTML 1.0 Transitional


  • はてなブックマークへ追加するはてな登録数
  • Yahoo!
  • Livedoor Clip
  • FC2
  • Nifty Clip
  • POOKMARK. Airlines
  • Buzzurl(バザール)
  • Choix
  • newsing
  • del.icio.us
ページトップへ