サイト(WordPress Drupal)が重いと思ったら奴らが原因だったので排除 robots.txt

サイト(Wordpress Drupal)が重いと思ったら奴らが原因だったので排除 robots.txt
複数のサイトを管理しているが、そのうちのいくつかはWordpressやDrupalなどのCMSを使用している。
DBを使用しており貧弱なサーバーだとちょっとアクセスが集中したりすると動作が鈍ってしまう。
結構みんなレスポンスで悩んでいるようだ。
php-apcでphp自体の高速化をしたり、キャッシュ機能を組み込んだりといろいろと策を練る訳だ。

まるむしも基本的に極貧環境を用いることが多いので同様の悩みを抱えている。
レスポンス改善の一環としてアクセスログを見たところ、
なんとアクセスの70%以上がBOTという異常事態になってしまっていた。
なかでも以下のBOTの来訪(自動巡回プログラムによるアクセス)がやたらと多いようだ。
Google Bot
Naver Bot
MJ12 Bot

Gooleは言わずと知れた検索サイトですね。
Naverは韓国で、最近多いLINEユーザーなら名前ぐらい聞いたことがあるのでは?
こちらはまぁなんとも行儀の悪い下品なアクセスをしてきます。(秒単位で情報を抜き続けています)
MJ12は、良く知らないのですがネットで調べても情報源の信憑性に欠けるので説明は省略します。
さて
Google は活発にアクセスはしているが、まぁこちらとしてもインデックスされるなどのメリットがあるのでしょうがないとしましょう。
問題はのこりの2つ。
Naverですが、情報を食い散らかす様なアクセスをしておきながら、こちらには何のメリットもないので確実に排除ですね。(もしかすると一種の諜報活動でしょうかね?)
MJ12ですが、どこの誰かもわからないものが激しくアクセスしてくるのは、お前一体何様だ!状態なのでこちらも排除しましょう。
まぁ排除といってもまるむしはやさしいので完全には遮断せずにペナルティだけ与えます。
今回のペナルティは、アクセス間隔の設定です。
失礼な連続アクセスを禁止して一定時間ごとにしかアクセスできないように設定します。
※ペナルティを無視して無茶なアクセスをするようであれば完全にシャットアウトする予定です。
 昔のNaver Botがこの類です。
方法ですが、robots.txtという名前のテキストファイルに以下のコードを書いて
サイトの最上部フォルダに入れるだけです。

最上部フォルダというのは、/Public_htmlなどのフォルダ名が多く、
一番最初に表示されるindex.htmlなどが格納されているフォルダですね。


User-agent: Yetibot
Crawl-delay: 300
User-agent: Majestic-12
Crawl-delay: 300


簡単に説明すると、NaverのBOT名は、Yetibot でしたので、
Yetibotという名前のBOTさんは、300秒以上の間隔でアクセスしなさい。
と命令しています。
同様に
MJ12のBOT名は、Majestic-12でしたので、
Majestic-12と言う名前のBOTさんも、300秒以上の間隔でアクセスしなさい。
と命令しています。
世の中には命令すら無視する輩がおり、
やつらも、もしこの命令を無視するようであれば別の手を打つ必要がありますがログを見る限りおとなしく従ってくれているようです。
で、肝心のアクセス感ですが、
異常と思えるレスポンスの悪さは改善され普通にサイトが表示される様になりました。

サイトの高速化ばかりに注視せず、アクセスログも見たほうがいいですね。
高速化だけをすれば、やつらが喜ぶだけですよ。

コメント

タイトルとURLをコピーしました