あなたのサイトにどのぐらいのボットアクセスがあるか知っていますか?
たぶん想像以上に多くのボットが訪れています。Google Analitics 等で一日に1000件ぐらいアクセスがあるサイトだと、それ以上のボットアクセスがあるかもしれません
ボットには Google, Yahoo, Bing 等の検索サイトへインデックスするための良いボットもあれば、サイトへの攻撃や記事等のデータを取得するような悪いボットもあります
そこで、あなたのサイトにどのようなボットが来ているかを把握することや悪質なボットに対しては強制的にブロックすることをお勧めします
悪質なボットによりサーバーリソースが使われるのはとても無駄ですし、サイトの負荷となり応答性にも影響するので対策することが大切です
robots.txt によるボット制御
サイトのドキュメントルートに robots.txt を設置することでボットのアクセスを制御することが出来ます
WordPress では、robots.txt が設置されていない場合は、自動的に仮想 robots.txt が設置されてボットに admin 領域をアクセスしないように設定されます
ただ、これは性善説にもとづいた紳士協定のようなもので、Google 等の検索エンジンのボットに関しては有効に働きますが、悪質なボットには効果はありません
robots.txt に関しては下記記事にわかり易く書かれておりとてもためになります
初心者にも分かる!robots.txtの作り方
robots.txt に関しては SEO 対策的な意味合いもありますので下記記事も参考になります
これらの robots.txt を設置するのは大切ですが、十分ではありません。悪質なボットに関しては 一般的に .htaccess 等で対策しますが、もっと手軽にどんなボットが訪れているかを確認しながらボットをブロックする為の機能を Yasakani Cache プラグインに実装しましたので紹介します
Yasakani Cache によるボット確認とブロック
Yasakani Cache に関しては下記ページを参照してください
WordPress Plugin : YASAKANI Cache
なんでボットブロックにキャッシュプラグインが? と疑問をお持ちかもしれませんが、キャッシュプラグインに実装するのは意外に理にかなっています
キャッシュプラグインというのは、出力するページデータをキャッシュして同じページの要求があれば、キャッシュされたデータを出力して高速化を図っているのですが、その仕組み上、WordPress のコアの機能をロードする前に働いているので、そこで同時に悪質なボットであるか判断することでサーバーに負荷をかけずに対応できるからです
使い方
ボットアクセスの確認方法
Yasakani Cache の設定画面を開きます
Yasakani Cache の ログと統計情報機能が有効なら、アクセスログから不正なアクセスのIPリストや同一IPアドレスから多くのアクセスがあった IP の一覧リストを表示します
ブロックリストの登録
ボットアクセスのブロックにブロックしたいボットのIPまたはユーザーエージェントに含まれているボットを識別する為の文字列を設定してください(設定文字列や IP は改行で区切ってください)
ここに登録されている条件にマッチするアクセスはブロックされます
※ユーザーエージェントやIPで検索を行い、悪質なボットと思われるもののみをブロックしてください。間違って Google 等の検索エンジンのボットをブロックすると検索サイトにインデックスされなくなってしまうのでご注意ください
※一覧リストからはログインユーザーのIPは除外していますが、念のため 自分のIPアドレスを登録されないようご注意ください
これで robots.txt では防げなかったボットのアクセスを強制的にブロックすることが出来ますので、robots.txt の設置と合わせてご利用ください
以上
Yasakani Cache プラグインを使った手軽なボットアクセスの確認とブロック方法を紹介しました