WordPressブログのスパムコメント対策

2021年4月19日

海外からのスパムコメントを阻止する。

ここ数か月、特に多いのが中国からなのですが、海外IPアドレスからのスパムコメントが増えてしまっています。

管理者として承認しない限り公開されない設定にしているので、訪問者さんには影響は無いのでお目汚しすることはありません。

しかし、その都度削除しなければいけないのも手間が掛かります。

現在行っている対策方法を共有すべく記事に公開します。

ブログ運用環境
  • WordPressブログ。使用テーマはルクセリタス。
  • 問い合わせフォーム、コメントフォームにはContact form 7を使用。
  • セキュリティプラグインWordfence使用。
  • スパムフィルターはWordfenceに備わっているので、動作が重く機能が重複するAkismetは利用停止。Akismet anti-spamはフィルターとしては高性能。利用停止を推奨するものではありません。

ランダムなアルファベットの羅列された捨てアドでスパムコメントが届きます。同じメールアドレスが2回以上使われることがないので、メールアドレスによるブロックフィルターは有効ではありません。

スパムコメント

毎回ユーザー名とメールアドレスを変更して(捨てアド)いるので、スパムとして学習させてもスパムコメントが減ることはありません。

スパムコメント対策その1

WordPressの標準機能でフィルタリングする。

WordPressコメントフィルター設定

スパムコメントにはURLが記述されている場合がほとんどです。

ダッシュボード⇒設定⇒ディスカッションとクリックしていき、

コメントモデレーションやコメント内で許可されないキーワードで『http』などで非承認に設定することが可能です。

しかし、この方法ではコメントが公開されないだけで、その都度削除しなければいけないことには変わりません。

参考資料としてコメント欄でURLのやり取りが必要になる場合もあるでしょう。

削除の手間は変わらないし、この方法は取りたくないのが本音です。ブロックではなくゴミ箱に入るだけでスパムコメントが届いてしまうことには変わりがありません。

では、どうするか。

スパムコメント対策その2|Wordfenceの機能を使ってフィルタリング

本命の対策です。ブロックフィルターなので、そもそもスパムコメントが届かないようにする方法になります。

ダッシュボード⇒Wordfence⇒Toolsとクリックしていきます。

セキュリティプラグインWordfence管理ツール

アクセスログが展開されるので『ブログアドレス/wp-comments-post.php』でスパムコメントを送ってきたアクセスログをクリック。

画像のようにアクセスの詳細が展開されます。

『RUN WHOIS』をクリックすると、次の画像の画面が展開されます。

この例では42.179.196.49のIPアドレス単体をブロックするのではなく、WHOIS LOOKUP欄にあるBLOCK NETWORKのいずれかをクリックしてネットワークごとブロックしてアクセスを遮断します。

3つの選択肢は下へいくほど、ブロックする同一ネットワーク内のIPアドレスの範囲が広がり、より厳しい設定になっています。

2番目又は3番目をクリックし、幅のあるIPアドレスでネットワークごと遮断することをお勧めします。

『BLOCK NETWORK』をクリックすると、次の画面に移動します。

コメントスパムをブロックする1

Block Reasonは入力必須欄なので『spam comment』等、アクセスブロックする理由を入力します。

青背景の『BLOCK VISTORS THIS PATTERN』をクリック。

コメントスパムをブロックする2

該当IPアドレスがBlocking欄に登録され、完了です。

注意点

後回しにすると該当アクセスログを見つけにくくなります。スパムコメントが届いたら即対応。

海外からのスパムコメント対策になります。日本国内のIPアドレスからのスパムコメント対策としては非推奨。
一般訪問者さんのIPアドレスも同時にブロックしてしまうことになる為です。

セキュリティプラグインとして非常に高性能で信頼のおけるWordfence

仕事で使っている有料のプレミアム版では、中の人と何度もメールでやり取りしたこともあります。その対応は誠実で丁寧、ユーザー本意の対応で高感度の高いものでした。毎回レスポンスも早いです。

手作業で設定しなければならないのが手間と言えば手間が掛かります。しかしメットワークごとアクセスをブロックするので、1度送られて来たスパムコメントに対して2回目以降は無い

その都度メールアドレスを変えてスパムコメントが送られてきても

2度と繰り返させないぞ!

ユーザー名とメールアドレスを毎回変更し幾度となく繰り返しコメントスパムを送信するBotに対し、強力なアクセスブロックフィルターになります。
1か月で20~30回コメントスパムの送信を試みるログが記録されています。

ここ最近はAkismet anti-spamプラグインを使っているブログでも、フィルターを通過して受信してしまうスパムコメントが増えていると聞いています。

不正ログインや不正アクセス対策としても優秀なセキュリティプラグインWordfence

その性能は国産セキュリティプラグインの遥かに上をいく高機能で確実性の高い高性能なもの。日本語版がないのが唯一の欠点と言えば欠点ですが。

是非試してみてください。

その3 スターサーバーのサーバー管理ツール

このブログはスターサーバーを使用しています。スターサーバーのサーバー管理ツール内『WordPressセキュリティ設定』からドメインを選択。

このブログでは行っていませんが『国外IPアクセス制限』で海外IPアドレスからのアクセスをブロックすることも可能です。
海外からのアクセス=全てが不正アクセスではないので。

もう一つの方法は『コメント・トラックバック制限』から『国外IPアドレスからのコメント・トラックバック制限』を有効化。

スターサーバー国外IPアドレスからのコメント・トラックバック制限

WordfenceのIPアドレスブロック機能を使って5月15日現在、最大数十件来ていたコメントスパムが1日0~3件程度まで減少しました。

海外在住の日本人の閲覧者からコメントが来る可能性も捨てきれないことから、今までサーバー側でアクセス制限を加えることはしていませんでした。

しかし完全にスパムコメントがゼロにはならないことからスターサーバー『国外IPアドレスからのコメント・トラックバック制限』を有効化。経過を検証していきたいと思います。

その4 CAPTCHAプラグインを使う

CAPTCHAプラグインを導入するのも有効な手段のひとつです。

必要最小限のプラグインに留め軽く早くを優先したいので、このブログでは使用していませんがお勧めです。

CAPTCHAプラグイン

ダッシュボード⇒プラグイン⇒新規追加⇒検索窓に「CAPTCHA」と入力し、該当プラグインを検索。

選択基準は他のプラグインと同じです。

プラグインの選び方
  • 有効インストール数の多い(利用者の多い)プラグイン
  • 更新頻度が比較的新しい(アップデートが途絶えていないこと)
  • 管理画面の使いやすさ(見本を見て使いやすいと感じられるか)
  • 重要度の高いプラグインは機能や性能、利用者の評価を事前に調べる
  • 日本語化されているかどうか(プラグインによって、又は運営者によっては必須ではありません)

今後の経過を踏まえて、必要な情報があれば追記や更新をしていきます。