OXY NOTES

シンプルなスパムコメント対策プラグイン「Simple AntiSpam」を作成しました

有効にするだけでスパムコメント対策ができます

WordPressを運用していて困るのが大量のスパムコメントです。その殆どはAkismetで防げますが、一部のコメントはすり抜けてしまいます。
すり抜けたスパムも、IPをブラックリストに登録したり、特定のキーワードをブロックすれば、予防することができます。しかし、たかがスパムのために貴重な時間が取られるのも癪に障ります。

そこで有効にするだけで動作するスパムコメント用のプラグイン「Simple AntiSpam」を作成しました。


スパムコメントを排除する3つのフィルター

Simple AntiSpam」は以下の3つのフィルターでスパムを排除します。
一般的な環境では変更する必要はないと思いますが、それぞれのフィルターは「設定 > Simple AntiSpam」で設定できます。

日本語フィルター

外国のスパムを排除するために、日本語を含まないコメントを拒否します。

JavaScriptフィルター

多くのスパムはJavaScriptを実行しないので、JavaScriptが無効な場合コメントを拒否します。
また、入力項目に適当な値を入れるタイプのスパムや、ページを表示して5秒以内のコメントも拒否します。

IPフィルター

スパムに登録されているIPのコメントを拒否します。

これはAkismetとの連携が前提です。
Akismetは99%以上の精度でスパムを判定してくれます。しかし一部のスパムはAkismetをすり抜けるべく、同一のIPで多種多様のコメントを送信してきます。そうなると数千件に1件はすり抜けてしまいます

このフィルターはAkismetで一度でもスパムに登録されたIPのコメントは拒否します。そのためスパムがすり抜ける可能性は大幅に下がります。

Akismetの設定で「Always put spam in the Spam folder for review.」にチェックを入れておくとスパムが15日間保存されます。
そのためスパムを投稿したIPからの投稿は15日間無効になります。


Simple AntiSpamのログ

設定画面で、フィルターの動作ログを表示することができます。
ログの保存期間は6ヶ月です。

グラフはamChartsを利用しており、凡例をクリックすると、それぞれの項目の表示・非表示を切り替えることができます。(日本語フィルターだけ有効にした状態)

右上の矢印をクリックするとログを保存することもできます。


このプラグインでスパムによる負荷を少しでも減らすことができれば幸いです。