WordPress

コメントスパムが多すぎるのでreCAPTCHAとプラグインでガードした

コメントスパムが多過ぎる

私はWordPressでブログを作るのはここが初めてでした。作ってみて驚いたのがコメントスパムの多さです。

だって、まだ作りたてで1日数回しかアクセスがなくてGoogle検索にもロクに引っかからないようなブログに、連日コメントスパムが投稿されるんですよ。

コメントスパムのほとんどは英語で、文面は記事を賞賛する内容です。ただし「すごい」とか「役に立つ」とか言ってるだけで、具体的な内容には言及しません。そういう定型文を集めてあるんですかねぇ。そして怪しいサイトへのリンクとフリーメールのアドレスが付いています。

このブログではコメントを承認式に設定しているので表にはでませんが、毎日のようにWordPressの管理画面でコメントスパムとしてマークするのもだんだん面倒になってきました。

最初にコメントスパムの防止法を調べたときは有料のプラグインを使わないとダメそうだったので、そこまでしなくてもなぁという感じで諦めていました。

が、最近になってコメントスパムの量が増えたので、もう一度調べてみるとGoogleのreCAPTCHAと無料プラグイン「Invisible reCaptcha」の組み合わせでコメント欄も守れることが判明しました。

Google reCAPTCHA

Inviible reCaptcha

 

reCAPTCHAは、現在コメント欄の下に表示されている奴です。このバッジが表示されている入力欄はreCAPTCHAで守られています。

reCAPTCHAは、アクセスしてきたのがBOTなのか人間なのかを自動でチェックしてくれます。以前はたくさんある写真の中から横断歩道が移っているものを選ぶとかのパズル的な認証だったと思いますが、最新のv3ではユーザーは特別なことを何もしなくてもBOTか人間かを判別できるそうです。どういう原理かは分かりませんが、すげー。ただ、私は人間なのでBOTと判断されたときにどんな挙動になるのか試せないのが残念。

もともとこのサイトでも、reCAPTCHAとContact Form/7プラグインの組み合わせを問い合わせフォームのスパム対策に使っていました。

おかげで問い合わせフォームからのスパムメールは届いたことがなく、これがコメント欄でも使えたらなぁと思っていたところでした。

 

reCAPTCHAにサイト登録してアクセスキーを発行する

Google reCAPTCHA

reCAPTCHAを使うには、まずGoogle reCAPTCHAにアクセス。もちろんGoogleアカウントが必要です。初めての時はGoogleアカウントでreCAPTCHAを使う設定が必要だったかもしれません。他のサービスもだいたいそうだし。

設定はこんな感じです。

 

step
1
[Admin Console]を選択

 

step
2
[+]を選択

 

step
3
reCAPCHAを設定

  • reCAPCHA v3を選択
  • ラベル(分かりやすい名前)、ドメイン、管理者のメールアドレスを入力
  • 規約に同意、「アラートをオーナーに送信」にチェック

 

設定が終わると「サイトキー」とシークレットキー」が発行されます。後でこの二つのキーをプラグインにコピペするので、メモるかページを開いたままにしておきます。もちろん後からでも管理画面で見られます。

 

 

登録したサイトはreCAPTCHAのAdmin Consoleページに表示されます。複数サイトがある場合はポップアップリストで切り替えます。歯車アイコンで設定の修正やキーの再表示ができます

 

 

Invisible reCaptchaプラグインを導入・設定

reCAPTHAの登録が済んだら、WordPressプラグインとの連携を行います。

step
1
WordPressの管理画面で[プラグイン]>[新規追加]を選択

 

step
2
"Invisible reCaptcha"を検索してインストール、有効化

 

step
3
WordPressの管理画面で[設定]>[Invisible reCaptcha]を選択

 

step
4
"Settings"タブにreCAPTCHAから発行されたサイトキーとシークレットキーを入力

 

 

step
5
"WordPress"タブで全部にチェック(もしくは任意のものだけ)

 

 

step
6
"Contact Form 7"タブで"Enable Protection for Contact Form 7"にチェック

Contact Form 7を使っていない人は不要です。

 

変更を保存

これでブログのコメント欄やコンタクトフォームの投稿欄にreCAPTCHAのバッジが表示されれば大丈夫だと思います。

あと、私の場合はそれまで使っていたContact Form 7のreCAPTCHA連携を外しておきました。

 

このサイトでの効果はてきめん。コメントスパムは全く投稿されなくなりました。

 

-WordPress