1. Googlebotの過剰クロール
2. Crawl-delayの非サポート
3. robots.txtが利かない?(理由不明)
4. 言うことを聞かないGooglebotの強制排除の仕方(他のクローラーにも使えます)
5. Mediapartners-Googleのクロール動作
6. robots.txtで禁止しても効果が見えない
7. 理由の推測
8. 最終手段
クローラー(ホームページのコンテンツを集めるソフトウェア)の日々の動作を把握できるようにして分かったこととして(薄々思っていましたが)、GoogleのクローラーのGooglebotはサーバーに対する負荷が高いです。
YSTは一日のクロール数が安定していますが(Crawl-delayが利くので)、Googlebotは一日に数千の時もあれば、10万近くも集めてくることもあった。
1秒に1ファイル以上集めるという状態を1日中に渡って継続していることになる。
もちろん、より新しい情報を表示できるというメリットをもたらすことはできるのだが、ここまで負荷が高くなると、その副作用(サーバーへの負荷)も大きくなる。
その為、ちょっと考察してみた。
Ask.jpやYahoo!は、robots.txtに
Crawl-delay: 間を空けるべき秒数
を書くと、それだけクロールする間隔を空けてくれるので、サーバー管理者側は、サーバーに対する負荷を制御できる。
だが、Googlebotはその仕様をサポートしていないので、クロールの間隔を制御することができない。
robots.txtに変更をかけても2週間以上に渡ってそれを無視してガンガン集めまくってくる。
User-agent: *
...
Disallow: /anime/edit_works_comment.asp
Disallow: /anime/edit_works_comment.asp?
Disallow: /anime/edit_works_comment.asp*
...
と、3パターンも書いたのに、無視して集め続ける。
しかし、robots.txtは1日に20回弱も取りに来ているので、反映する仕様としている筈ではないかと思われるのだが。
Apacheを使っていて、mod_rewriteを使えるようにしておけば、httpd.confに
RewriteCond %{HTTP_USER_AGENT} Googlebot
RewriteRule ^/anime/edit_works_comment\.asp.*$ - [F]
RewriteCond %{HTTP_USER_AGENT} Googlebot
RewriteRule ^/anime/comment\.asp.*$ - [F]
と書いて、
su -
apachectl -t
apachectl graceful
とapacheを再起動すれば良い。
結果として、
$ tail -f access_log| grep Googlebot
66.249.72.198 - - [11/Dec/2005:07:28:04 +0900] "GET /anime/edit_works_comment.asp?lang=j&written_time=2004%2F10%2F18%2020%3A46%3A48&file=Tactics&wanted=z HTTP/1.1" 200 8715 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.72.198 - - [11/Dec/2005:07:28:43 +0900] "GET /anime/edit_works_comment.asp?lang=j&written_time=2004%2F08%2F13%2015%3A36%3A48&file=Re-Cutiehoney&wanted=zHTTP/1.1" 403 230 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
と、取得を制限することに成功した(HTTP反応が403で返っている)。
robots.txtでの排除と違って、ウェブサーバー側が判断しなくてはいけないので、無駄な負荷なのであるが、仕方ない。
Googlebotは、まずhttpd.confで弾く+robots.txtで禁止をして、来なくなったと確認してから、httpd.confの制限を外す、とした方がいいようだ。
昔、Googleの広告を入れていた時は、Mediapartners-Googleが、1秒に2URL以上取得していくなんてこともしていた。
しかも同じURLにアクセスしてくる。
その後、Googleの広告は外したが、それでもアクセスしてくるので何かと思ったが、どうもOperaがGoogleの広告を表示するので、Operaがアクセスしてくる度に、Mediapartners-Googleがアクセスしてくるようになっていた。
こっちに何のメリットもないのに負荷をかけてくるのは全く困った話なので、
User-agent: Mediapartners-Google
Disallow: /
をrobots.txtに書いてみた。
こちらは現在はアクセスがなくなっている。
仕組みは分からないが、Operaに表示される広告は、それでも中身を反映はしているようだ。
Mediapartners-Googleで取得できない場合には、通常のGooglebotの収集の方の結果を反映させるのだろうか?
とれなくしたのはいいけど、とれない状態のまま何度もアクセスしてくる。
66.249.72.198 - - [11/Dec/2005:07:55:20 +0900] "GET /aime/edit_works_commet.asp?lag=j&writte_time=2005%2F08%2F23%2020%3A19%3A38&file=Kaleido%20star&wated=z HTTP/1.1" 403 230 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.72.198 - - [11/Dec/2005:07:55:27 +0900] "GET /aime/edit_works_commet.asp?lag=j&writte_time=2005%2F07%2F20%2019%3A37%3A15&file=ShiroiKyotou%60drama&wated=z HTTP/1.1" 403 230 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.72.198 - - [11/Dec/2005:07:55:30 +0900] "GET /aime/edit_works_commet.asp?lag=j&writte_time=2005%2F06%2F13%2023%3A32%3A36&file=POKEMO&wated=z HTTP/1.1" 403 230 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.72.198 - - [11/Dec/2005:07:55:33 +0900] "GET /aime/edit_works_commet.asp?lag=j&writte_time=2004%2F02%2F21%2017%3A17%3A25&file=Atack%20o.1&wated=z HTTP/1.1" 403 230 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.72.198 - - [11/Dec/2005:07:55:44 +0900] "GET /aime/edit_works_commet.asp?lag=j&writte_time=2005%2F03%2F23%2013%3A04%3A38&file=WOLF'S%20RAI&wated=zHTTP/1.1" 403 230 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.72.198 - - [11/Dec/2005:07:56:05 +0900] "GET /aime/edit_works_commet.asp?lag=j&writte_time=2004%2F07%2F09%2001%3A23%3A16&file=Doraemo%60game&wated=z HTTP/1.1" 403 230 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.72.198 - - [11/Dec/2005:07:56:11 +0900] "GET /aime/edit_works_commet.asp?lag=j&writte_time=2004%2F01%2F16%2020%3A20%3A40&file=Asagiri%20o%20Miko&wated=p HTTP/1.1" 403 230 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.72.198 - - [11/Dec/2005:07:56:13 +0900] "GET /aime/edit_works_commet.asp?lag=j&writte_time=2005%2F01%2F15%2015%3A35%3A59&file=CASSHER%60special&wated=p HTTP/1.1" 403 230 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.72.198 - - [11/Dec/2005:07:56:20 +0900] "GET /aime/edit_works_commet.asp?lag=j&writte_time=2005%2F09%2F26%2001%3A02%3A07&file=PiMe&wated=z HTTP/1.1" 403 230 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.72.198 - - [11/Dec/2005:07:56:22 +0900] "GET /aime/edit_works_commet.asp?lag=j&writte_time=2004%2F03%2F14%2018%3A48%3A23&file=PiMe&wated=z HTTP/1.1" 403 230 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.72.198 - - [11/Dec/2005:07:56:24 +0900] "GET /aime/edit_works_commet.asp?lag=j&writte_time=2004%2F03%2F25%2022%3A00%3A20&file=Asagiri%20o%20Miko&wated= HTTP/1.1" 403 230 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.72.198 - - [11/Dec/2005:07:56:26 +0900] "GET /aime/edit_works_commet.asp?lag=j&writte_time=2004%2F03%2F23%2001%3A02%3A48&file=PiMe&wated= HTTP/1.1" 403 230 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.72.198 - - [11/Dec/2005:07:56:28 +0900] "GET /aime/edit_works_commet.asp?lag=j&writte_time=2005%2F08%2F01%2000%3A56%3A10&file=Maihime%60book&wated=z HTTP/1.1" 403 230 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.72.198 - - [11/Dec/2005:07:57:10 +0900] "GET /aime/profile.asp?lag=e&ame=%5E%5E&base=0&hide=0&focus=&mode=freq&eval=0 HTTP/1.1" 200 9766 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.72.198 - - [11/Dec/2005:07:57:15 +0900] "GET /aime/edit_works_commet.asp?lag=j&writte_time=2005%2F06%2F01%2012%3A58%3A48&file=Akihabara%20Deou%20Gumi&wated=z HTTP/1.1" 403 230 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.72.198 - - [11/Dec/2005:07:57:18 +0900] "GET /aime/edit_works_commet.asp?lag=j&writte_time=2005%2F02%2F13%2021%3A47%3A59&file=Drago%20Quest7%60game&wated=z HTTP/1.1" 403 230 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
ある程度時間が経った後にもまた見てみたが、やはりまた取得を禁止しているファイルばかりとろうとしていた。
robots.txtでは3パターンの禁止パターンを書き、
リンクはjavascriptで書いたし、仮に解釈できても辿らないように、ref="nofollow"も加えた。
metaタグにもnofollowにnoindexも加えた。
それなのにGooglebotはまだまだやってくる。
理由を説明できるとしたら、過去にインデックスに入れたURLについては、robots.txtには従わずに、その内容のアップデートの為、集めに来ているということだ。
だったら、ある程度経ったら、収集されなくなるのではないか、と思われるが、それにはもうちょっと観察が必要そうだ。
とにかく、即効で効果を発揮させるには、robots.txtではなく、httpd.confのmod_rewriteでやる方が良い、というのがGooglebotのクロール制御方法のようだ。
2006/03/09
Y!J BSCのクロールを、Yahoo!さんに止めて頂いたのに気を良くして、Googleのヘルプ経由で、クロール遅くして、とお願いを投げてみた。
お願いを投げた当日は5万アクセスを超えた状態が続いて、更にイライラすることになったが、翌日に対応終了のメールを頂けた。
ちなみに、日本語の方と英語の方の両方のヘルプにリクエストを投げてみたが(日本語と英語それぞれ別で)、日本語の方に先にリクエストを投げたにも関わらず、英語の方が速く反応を頂けた。
オペレーションは英語の方が持っているようだ。
根本的には、これを最終手段にしてしまったのが間違いだったようだ。
まず先にお願いしてみましょう。
参考までに英語でのやりとりを記しておきます。
Hi Hajime,
Thank you for bringing this to our attention. We've reduced the load on
your servers. We apologize for any inconvenience and appreciate your
patience. If we can assist you further, please let us know.
Regards,
The Google Team
Original Message Follows:
------------------------
From: ...
Subject: Please make googlebot run slowly for accessup.org
Date: Thu, 09 Mar 2006 05:33:48 -0000
Hello,
Googlebot crawls my site too fast.
It keeps crawling about from 30,000 to 100,000 urls from my site a day.
I put crawl-delay:10 for other search engines, so I hope googlebot follows
the same rule.
Yesterday googlebot crawls 43,147 urls.
Here is example.
(Timezone is Japanese one).
It often keeps cralwing multiple urls within a second.
21474 66.249.65.70 08/Mar/2006:16:16:50 200
/evj/7_Warainodaigaku_60jpmovie/2006_01_27-225505.html Mozilla/5.0
(compatible; Googlebot/2.1; +http://www.google.com/bot.html)
21475 66.249.65.70 08/Mar/2006:16:16:50 200
/evj/7_Time_20Crisis_202_60game/2004_11_07-010517.html Mozilla/5.0
(compatible; Googlebot/2.1; +http://www.google.com/bot.html)
21476 66.249.65.70 08/Mar/2006:16:16:51 200
/evj/7_Spacecraft_20Sagittarius/2005_07_07-224150.html Mozilla/5.0
(compatible; Googlebot/2.1; +http://www.google.com/bot.html)
21477 66.249.65.70 08/Mar/2006:16:16:51 200
/evj/7_Obotutyama_20kun_60manga/2005_02_24-215954.html Mozilla/5.0
(compatible; Googlebot/2.1; +http://www.google.com/bot.html)
21478 66.249.65.70 08/Mar/2006:16:16:52 200
/evj/7_THE_20INVADERS_60special/2006_03_01-000128.html Mozilla/5.0
(compatible; Googlebot/2.1; +http://www.google.com/bot.html)
21479 66.249.65.70 08/Mar/2006:16:16:52 200
/evj/7_Mister_20Zipangu_60manga/2005_01_31-015750.html Mozilla/5.0
(compatible; Googlebot/2.1; +http://www.google.com/bot.html)
21480 66.249.71.62 08/Mar/2006:16:16:52 200
/anime_j/Mekazawakun%2560manga.html Googlebot/2.1
(+http://www.google.com/bot.html)
21481 66.249.65.70 08/Mar/2006:16:16:53 200
/anime_j/Final%2520Fantasy%2520Tactics%2560game/2.html Mozilla/5.0
(compatible; Googlebot/2.1; +http://www.google.com/bot.html)
21482 66.249.65.70 08/Mar/2006:16:16:54 200
/evj/7_Solomon_27s_20Key_60game/2004_08_31-152602.html Mozilla/5.0
(compatible; Googlebot/2.1; +http://www.google.com/bot.html)
21483 66.249.65.70 08/Mar/2006:16:16:55 200
/evj/7_Solomon_27s_20Key_60game/2005_08_08-204132.html Mozilla/5.0
(compatible; Googlebot/2.1; +http://www.google.com/bot.html)
21484 66.249.65.70 08/Mar/2006:16:16:55 200
/pj/6_C6E6A4CEA5DCA5B9A4E8A4EAA4AAB8C0CDD5/writing.html Mozilla/5.0
(compatible; Googlebot/2.1; +http://www.google.com/bot.html)
21485 66.249.65.70 08/Mar/2006:16:16:56 200
/evj/7_Dr_2E_20Slump_20Ararechan/2005_07_12-031522.html Mozilla/5.0
(compatible; Googlebot/2.1; +http://www.google.com/bot.html)
21486 66.249.65.70 08/Mar/2006:16:16:57 200
/evj/7_UFO_20Fighter_20Daiaporon/2006_02_23-010225.html Mozilla/5.0
(compatible; Googlebot/2.1; +http://www.google.com/bot.html)
21487 66.249.65.70 08/Mar/2006:16:16:57 200
/evj/7_Sonic_20Soldier_20Borgman/2006_03_06-172711.html Mozilla/5.0
(compatible; Googlebot/2.1; +http://www.google.com/bot.html)
21488 66.249.65.70 08/Mar/2006:16:16:58 200
/pj/6_A4AFA4EDA4CEA4AFA4EBA4EAA4F3A4C1A4E721/freq.html Mozilla/5.0
(compatible; Googlebot/2.1; +http://www.google.com/bot.html)
21489 66.249.65.70 08/Mar/2006:16:16:58 200
/evj/7_WAZUKA_20ICCHOMAE_60manga/2005_03_21-174331.html Mozilla/5.0
(compatible; Googlebot/2.1; +http://www.google.com/bot.html)
21490 66.249.65.70 08/Mar/2006:16:16:59 200
/evj/7_Animal_20yokochou_60manga/2006_01_10-171223.html Mozilla/5.0
(compatible; Googlebot/2.1; +http://www.google.com/bot.html)
21491 66.249.65.70 08/Mar/2006:16:16:59 200
/pe/7_Princess_20Garnet_20til_20Alexandros/profile.html Mozilla/5.0
(compatible; Googlebot/2.1; +http://www.google.com/bot.html)
21492 66.249.65.70 08/Mar/2006:16:17:00 200
/evj/7_Animal_20yokochou_60manga/2004_10_06-210544.html Mozilla/5.0
(compatible; Googlebot/2.1; +http://www.google.com/bot.html)
21493 66.249.65.70 08/Mar/2006:16:17:00 200
/evj/7_Love_20of_20power_60drama/2006_02_28-012758.html Mozilla/5.0
(compatible; Googlebot/2.1; +http://www.google.com/bot.html)
Best regards,
Hajime Kurita