WordPressのスパムコメント「54,722件」をほぼ0にした画期的な方法

s-cb_0097

僕のブログ(ワードプレス)はヤバいくらいスパムコメントが多い。例えば、2016年4月にはなんと「54,722件」ものスパムコメントが投稿されました。

幸いにもAkismetプラグインによって、99.97パーセント以上のスパムコメントは自動的に削除できているので大して影響は出ていません。

しかし、スパムが自動削除されているとしても、5万件ものスパムが来ると「スパム判定処理」などによってサーバーに負荷がかかってしまいます。

さすがに「これはマズイぞ」と思って、いろいろ試してみたところ「ある方法」が効果抜群で、スパムコメントをほぼゼロにすることに成功しました。

スポンサーリンク

スパムコメントの大半は海外から

s-cb_0099

スパムコメントを見てみるとほぼ100パーセントが英語のスパムコメントでした。

まれに日本語のスパムも見かけますが、割合は極めて低かったので、あまり気にする必要はなさそうです。

つまり、海外からのコメントを遮断すればほぼスパムコメントをなくすことができます。

海外からのスパムコメントを遮断する方法

海外からのスパムコメントを遮断する方法としては

  • プラグインで英語のみのコメントを投稿できないようにする
  • 海外からのコメント投稿をできないようにする

という方法があると思います。

プラグインで英語のみのコメントを投稿できないようにする

手軽なのはプラグインで英語のみのコメントをシャットアウトする方法でしょう。たとえば「Throws SPAM Away」を使えば、日本語が含まれていないコメント自体を投稿できなくすることができます。

しかし、この方法ではAkismetプラグインによってスパム判定しているのと大して差がなくて、結局サーバーに負担がかかってしまうのでイマイチです。

海外からのコメント投稿をできないようにする

そこで、私がとった方法は海外からのIPアドレスからのコメント投稿を遮断するという方法です。

この方法だとWordpressの機能ではなくサーバー側で遮断するため負荷がほぼありません。どんなにたくさんのスパムがきてもへっちゃらです。

まぁ、海外からのコメント投稿を全てシャットアウトしてしまうため、海外にいる日本人がコメントを投稿できなくなるという問題はありますが、僕のようなブログの内容なら影響はほぼないでしょう。

海外からのコメント投稿をできないようにする具体的な方法

WordPressのコメント機能は「wp-comments-post.php」で制御されているので、このファイルへの海外からのアクセスを遮断すればOKです。

方法としては

  • .htaccessで制限をかける
  • エックスサーバーの機能で制限をかける

僕はエックスサーバーを使っているので後者の方法を使いました。さすがはブロガー御用達のエックスサーバーって感じで管理画面からクリックするだけで海外からのコメント投稿を遮断できました。

[1] .htaccessで制限をかける方法

エックスサーバー以外をお使いの方は.htaccessで制限をかける方法をご紹介します。エックスサーバーをお使いの場合は[2]を参照してください。

適当なテキストエディタを準備してください。Windowsのメモ帳ではダメ、フリーのTeraPad などをインストールしてください。

s-s-s-cb_0103CGI’sというサイトで 日本国外からのアクセスを制限する.htaccessのファイルをダウンロードしてください。

s-cb_0104

ダウンロードしたファイルをテキストエディタで開いてください。

s-cb_0106

このままだと、海外からの閲覧まで遮断してしまうので、

<FilesMatch “(post)\.php$”>



</FilesMatch>

で区切ります。

以下のような感じです。

<FilesMatch “(post)\.php$”>
order deny,allow
deny from all

allow from 1.0.16.0/20
allow from 1.0.64.0/18
allow from 1.1.64.0/18


省略


allow from 223.223.208.0/21
allow from 223.223.224.0/19
</FilesMatch>

もし、テキストエディタ「TeraPad」で編集できない場合は一度「名前を付けて保存」してください。ファイル名は「.htaccess」だとWindowsで扱えないので、「1.htaccess.txt」など適当な名前するといいと思います。

編集が終わったら、FTPソフト(FFFTPなど)でWordpressのファイルが保存されている直下にアップロードしてください。アップロードしたら、FTPのソフト上でファイル名を「.htaccess」(hの前にドットが必要)に変更してください。

サーバー上に、既に「.htaccess」ファイルが存在する場合はそのファイルの末尾に今回の内容を張り付けてください。

これで海外からのコメント投稿ができなくなります。万が一、動作がおかしい場合は、「.htaccess」を消すか内容を元に戻してください。

※なお、.htaccessが使えないサーバーでは今回の方法は機能しません。

[2] エックスサーバーの機能で制限をかける

エックスサーバーをお使いならサーバーパネル上から簡単に制限をかけることが可能です。こんな素晴らしい機能があることに最近気が付きました・・・。

s-cb_0114

サーバーパネルにログインして「WordPressセキュリティ設定」をクリックします。

s-cb_0123

ドメイン選択画面が表示される場合は制限をかけたいドメインを選択します。

s-cb_0126

コメント・トラックバック制限設定をクリックします。

s-cb_0129

「国外IPアドレスからのコメント・トラックバック制限」の設定をONにすれば完了です。

ほぼすべてのスパムがなくなります

海外からのアクセスを制限することでほぼスパムコメントがなくなりサーバーの負荷は大きく軽減されると思います。僕はこの方法を使ってから1件もスパムコメントが書き込まれていません。

もちろん、数は少ないですが日本からのスパムは弾けません。でもAkismetプラグインが遮断してくれるので大丈夫。

もし、大量のスパムコメントでお困りの方は今回の方法を試してはいかがでしょうか。特にエックスサーバーをお使いの方は凄く簡単に設定できるので是非設定されることをお勧めします。

スポンサーリンク
WordPressのスパムコメント「54,722件」をほぼ0にした画期的な方法
この記事が気に入ったら
いいね!をお願いします<(_ _)>
コメント欄は廃止しました。ご意見・ご感想はツイッターでお願いします。
関連コンテンツ