StopBadBotsの使い方と設定を解説
Web ページにアクセスしてくるのは人だけではありません。
GoogleBot や msnbot などのクローラーなども検索エンジンへインデックス化するための情報を集めるために巡回してきます。
公開している Web ページの中には、インデックス化されたくないものもあるかと思います。
そのような時には、robots.txt に命令文を記述しておくと、
普通のクローラーは、robots.txt を読み込んで、その指示に従ってくれます。
しかしながら、悪意のある、もしくは行儀の悪いクローラーは、その指示に従ってくれません。
クローラーにアクセスされても、
人にアクセスされるのと同様に Web サーバーは、各種リクエスト処理をしますので、
短時間に大量にアクセスされると相当な負荷が掛かってしまいます。
負荷が掛かるだけなら一時的なものになりますが、
悪意のあるクローラーだと、コンテンツを盗んだり、脆弱性を探したりしてきます。
.htaccess ファイルにクローラーの IP アドレスなどを記述してブロックすることもできますが、
アクセス解析をして手動で追加していくのは非現実的です。
そのような時に便利な WordPress 用プラグインがあります。
それは「StopBadBots」です。
その導入手順から日本語化・使い方と設定などを解説していきます。
- 1. StopBadBots
- 2. Gutenberg エディターでの動作
- 3. StopBadBots のインストール手順
- 4. StopBadBots の日本語化
- 5. 専用テーブル
- 6. 専用メニュー
- 7. StopBadBots の使い方
- 8. ダッシュボード(Dashboard)
- 9. StopBadBots の設定(Settings)
- 10. Bad Bots Table)
- 11. Bad IPs Table)
- 12. Bad Referer Table)
- 13. Add Bad Bot to Table)
- 14. Add Bad IP to Table)
- 15. Add Bad Referer to Table)
- 16. 専用ボックス(ダッシュボード)
- 17. URL
StopBadBots
StopBadBots は、robots.txt や .htaccess ファイルを変更することもなく、
登録されているクローラー(ボット)のアクセスをブロックできます。
Google、Yahoo、Bing のボットはブロックしません。
ボットからのアクセスだけでなくて、
スパム IP とリファラースパムからのアクセスもブロックできます。
ブロックには、wp_load() 関数をフックしてブロックしています。
各ブロックテーブルは、週 3 回の頻度で自動アップデートされます。
手動でブロックしたいボット・IP・リファラースパムを登録することもできます。
不正なボットからのコメントフォームも保護可。
不正なボットから Contact Form 7 と WP Form のフォームも保護可。
ボットとフォース攻撃からログインフォームを保護可。
ユーザー列挙攻撃をブロックしたり、PingBack リクエストもブロック可。
不正なアクセスがあるとメール通知を受け取ることもできます。
記事を作成もしくは更新時点での StopBadBots のバージョン:6.02
マルチサイトでの利用:可
Gutenberg エディターでの動作
Gutenberg エディターに追加される機能は無いので、気にする必要は無いです。
StopBadBots のインストール手順
StopBadBots をインストールするには 2 種類の方法があります。
下記の URL から ZIP ファイルを入手して、管理画面からアップロードして有効化する。
StopBadBots – WordPress.org
もしくは、WordPress.org の公式プラグインディレクトリにリリースされているので、
管理画面からインストールできます。
ダッシュボードから「プラグイン」メニューの「新規追加」を選択し、
プラグイン追加画面右上の検索窓に「StopBadBots」と入力します。
検索結果の一番左上に表示されると思うので、「今すぐインストール」をクリックします。
※一番左上に表示されない場合は、上記の画像から探して下さい。
インストールが完了したら、プラグインを「有効化」します。
プラグインのインストールに慣れていない方は、
下記の記事にて詳しく解説していますので、御覧ください。
WordPressプラグインのインストール手順を解説 – WordPress活用術
StopBadBots の日本語化
StopBadBots を有効化した際に日本語化されない場合には、
日本語化用の言語パックを translate.wordpress.org から入手できる場合があります。
WordPress と関連プロジェクト(テーマ・プラグイン)用の翻訳プラットフォームとして、
translate.wordpress.org (GlotPress) が導入されています。
※ボランティアで翻訳されている場合が多いので、
全てのプラグインで、必ずしも日本語化用の言語パックが用意されているわけでは無いです。
また、用意されていても 100% 翻訳されている保証もありません。
日本語化用の翻訳ファイルの探し方は、下記の記事を参照してください。
WordPress公式での日本語化用の翻訳ファイルの探し方 – WordPress活用術
専用テーブル
下記のテーブルを StopBadBots 専用のテーブルとして作成し利用します。
テーブル作成時に $wpdb->prefix も使用しているので、マルチサイトにも対応。
functions/functions.php に記述されています(長文になるので省略)。
専用メニュー
ダッシュボードの「設定」メニューの下に追加されています。
StopBadBots の使い方
「Stop Bad Bots」のメニューの必要なメニューを開きます。
ダッシュボード(Dashboard)
StopBadBots の設定(Settings)
スタートアップガイド(Startup Guide)
一般設定(General Settings)
- Block all Bots included at Bad Bots Table?
Bad Bots テーブルに含まれる全てのボットをブロックするかどうか。 - Block all IPs included at Bad IPs Table?
Bad IP テーブルに含まれる全ての IP をブロックするかどうか。 - Block all bots included at Bad Referer Table?
Bad Referer テーブルに含まれる全てのボットをブロックするかどうか。 - Enable Firewall? (available only in pro version)
Pro 版のみの機能です。ファイヤーウォールを有効にするかどうか。
- Receive bot’s table updates by participate in the Real-Time Bad Bots Security Network?
Real-Time Bad Bots Security Network に参加して、ボットのテーブルの更新を受け取るかどうか。 - Update this plugin automatically when new version is available?
このプラグインの新しいバージョンが利用可能になったら、自動的に更新するかどうか。 - Block all with Blank User Agent?
空のユーザーエージェントのアクセスを全てブロックするかどうか。
- Block User enumeration to improve security?
ユーザー列挙攻撃をブロックするかどうか。 - Block PingBack Request?
PingBack リクエストをブロックするかどうか。 - Protect Contact Form 7 and WP Forms?
Contact Form 7 と WP Forms のフォームを保護するかどうか。
- Protect Comments Form by check external spammer’s databases (only when comment form is submited)?
外部のスパム送信者のデータベースをチェックしてコメントフォームを保護するかどうか。 - Protect Login Form against bots?
ログインフォームをボットから保護するかどうか。 - Block False Googlebot and Msnbot & Bingbot? (available only in pro version)
Pro 版のみの機能です。偽のGooglebotとMsnbot&Bingbotをブロックするかどうか。
ボットからのアクセス制限設定(Limit Bot Visits)
Pro 版のみの機能です。
HTTP ブロックツール(Block HTTP Tools)
Pro 版のみの機能です。
ホワイトリスト(Whitelist)
Pro 版のみの機能です。
メール通知機能(Email and Notifications)
- email
通知メールを受け取るメールアドレスを入力します。 - Alert me by email each Bots Attempts
ボットでのアクセスごとにメール通知を受け取るかどうか。 - Alert me All Times Firewall Block Something. (available only in pro version)
Pro 版のみの機能です。ファイヤーウォールが何かをブロックするとメール通知を受け取るかどうか。
アンチハッカーツール(Anti Hacker Tools)
Pro 版移行(Go Pro)
Bad Bots Table)
登録されているボットとボットごとのブロック数を一覧で確認できます。
ブロック対象とするかどうか(有効・無効)の個別切り替えもできます。
Bad IPs Table)
登録されている IP と IP ごとのブロック数を一覧で確認できます。
ブロック対象とするかどうか(有効・無効)の個別切り替えもできます。
Bad Referer Table)
登録されているリファラースパムとリファラースパムごとのブロック数を一覧で確認できます。
ブロック対象とするかどうか(有効・無効)の個別切り替えもできます。
Add Bad Bot to Table)
ブロックしたいボットを手動で登録するのに使用します。
Add Bad IP to Table)
ブロックしたい IP を手動で登録するのに使用します。
Add Bad Referer to Table)
ブロックしたいリファラースパムを手動で登録するのに使用します。