各検索エンジンのREP(ロボット排除プロトコル)について、以前「Yahoo!、Google、Live SearchがREPの共通仕様を発表
」で説明しました。
その中で、Yahoo!、Google、Live Searchでサポートが一部異なるものが下記です。
- Yahoo!
- NOYDIR
- Robots-nocontent
- Yahoo!、Live Search
- Crawl-Delay
- UNAVAILABLE_AFTER
- NOIMAGEINDEX
- NOTRANSLATE
今回は、この中の"Crawl-Delay"について説明いたします。
検索エンジンロボットは、インターネット上にある(日々増え続けている)ウェブページ全てを収集対象としています。仮に1つのサーバでロボットを運用した場合、全てのウェブページを収集するのにどれだけ時間がかかるか想像してみて下さい。現実的に収集することは不可能に近いですよね。そこで検索エンジンは、いくつかのサーバから同時にロボットを巡回させるので、まれに巡回経路が重複してしまう場合があるのです。これが複数のサーバ(IP)から同じサイトに何回もアクセスされる原因と考えられます。またその他の要因としては、以前収集したウェブページの更新確認と収集のためのロボットが、異なるサーバからアクセスされるケースが多いこともあげられます。
ロボットの過剰なアクセスは、サーバにかなりの負荷を与えてしまう危険性があるため、通常ある程度の間隔があるはずですが、ネットワークによる問題やサーバの問題等のなんらかの要因で、アクセスが集中することがまれにあります。
思い出すのが百度のロボットです。一昨年/昨年の一時期、百度のロボットがものすごくサーバにアクセスしてきて困った、なんて話をよく聞きました。もちろんサイトによってはGoogleやYahoo!のロボットも当てはまるかとは思います。問合せやクレームがたくさんあったのか、百度からはこんなリリースがされています。
Baidu.jp、Baidu Spiderに関する御詫びと対処法について
http://www.baidu.jp/search/s308.html
さて、このリリースの中にあるCrawl-Delayですが、robots.txtに対象ロボットと数値を記述することにより、そのロボットの巡回頻度を調整することが可能です。
書き方は下記の通り。
- ■Yahoo!
User-agent: Slurp
Crawl-delay: 5- ■Live Search
User-agent: msnbot
Crawl-delay: 120- ■百度
User-agent: baiduspider
Crawl-delay: 5
Crawl-delay: xxの「xx」に5や10などの数値を記述することで、クローラーのアクセス頻度の調整ができますが、ここで注意が必要なのは、YSTとLive Search/百度では、指定する数値の単位が違う、ということです。Live Searchと百度のヘルプには、アクセスの間隔は"秒単位"と記載されていますが、Yahoo!のインフォセンターには特にその指定がありません。
そこでYahoo!に問い合わせてみました。
お問い合わせくださいました、下記のヘルプページ内に記載されておりますCrawl-delayの数字単位は、「分」単位となっております。
◇検索エンジン用ロボットからのリクエスト数を減らすには
http://help.yahoo.co.jp/help/jp/search/indexing/indexing-22.html
上記ヘルプページにつきましては、お分かりにくい点がございましたことをお詫び申し上げます。
※この問い合わせた直後にYahoo!インフォセンターが公開されたので、上記URLは既にリダイレクトされています
Yahoo!は"分"単位とのことです。なのでアスタリスクで全てのロボットに対して一括指定するのではなく、各ロボット個別に指定しましょう。
- 例)
User-agent: *
Disallow: /private/
User-agent: msnbot
Crawl-delay: 120
Disallow: /private/
User-agent: Slurp
Crawl-delay: 2
Disallow: /private/
ただし、GoogleはこのCrawl-Delayをサポートしていません。Matt Cuttsによれば、今後もCrawl-delayを導入することはない、と名言しています。※ただし最新でも2006年3月の情報ですが
http://www.mattcutts.com/blog/new-robotstxt-tool/
http://www.mattcutts.com/blog/googlebot-keep-out/
http://www.mattcutts.com/blog/update-on-jagger-3-still-a-few-more-days/
じゃあGoogleの場合はどうすれはいいのでしょうか?
Googleは、ウェブマスターツール上の運用ツールにて、「クロール頻度を設定」を標準から低(高頻度から標準)にすることによって対応することが可能です。また、同コンテンツから「Googlebot に関する問題を報告」することもできます。このフォームからクロール頻度の問題を報告したサイトの中には、直ぐGoogleから返信が来て翌日からはボットのアクセス数が半減された、というサイトもあるようです。
なお、これによる順位下落の注釈など特にガイドラインには見当たりませんでした。
考え方によってはrobots.txtでCrawl-delay以外でもアクセス制限などした場合、ページ分析のデータ収集が制限されてしまう訳なので、結論順位に影響が出ないとも言えませんね。
こちらは検証してまた公開しますので、楽しみにお待ち下さい。
Yahoo!、Google、Live SearchがREPの共通仕様を発表
http://ameblo.jp/ca-seo/entry-10103741675.html
クローラーの巡回頻度の調整
http://info.search.yahoo.co.jp/archives/002853.php
検索エンジン用ロボットからのリクエスト数を減らすには
http://help.yahoo.co.jp/help/jp/search/indexing/indexing-22.html
How can I reduce the number of requests you make on my web site?
http://help.yahoo.com/l/us/yahoo/search/webcrawler/slurp-03.html
MSNBot およびサイトのクロールに関する問題に対処する
http://help.live.com/Help.aspx?market=ja-JP&project=WL_Webmasters&querytype=topic&query=WL_WEBMASTERS_TROU_MSNBotIndexing.htm
Baidu.jp、Baidu Spiderに関する御詫びと対処法について
http://www.baidu.jp/search/s308.html
(三澤直哉)