【WordPress】スパム対策はreCAPTCHA→10分で完了

WordPressで運用している当サイトの問い合わせフォームから、スパムメール多く届くようになりました。

以前は週に1度位だったのですが、最近は一日3〜4通位届きます。

大抵は英語のメールです。内容は「サイトをもっと良くしよう!私に任せれば大丈夫です」的なものもあれば「N95マスクが用意できますよ」みたいな話まで。

怪しい。。。

 

きっと怪しいプログラムでbotを操作してスパムを送りつけているものと思います。

 

スパムなんて読まなくてもいいのですが、スパムが多いと本当に必要なメールも見逃してしまい、困りもの。

 

という事で対策をしましたので備忘録です。

設定は10分位で終了しました。

 

前提:問い合わせフォームはContact Form 7を使用

当サイトの問い合わせフォームはContact Form 7を使用しています。

この記事はそれを前提に記載しています。

 

reCAPTCHAでスパム対策

googleが提供している「reCAPTCHA」を導入してスパム対策をしました。

botが送ってくるスパムはこれで簡単に回避できます。

reCAPTCHA以前のバージョン(v2)のはクイズに答えるようなものでしたが、現在のバージョン(v3)はクイズは無く、サイト訪問者の振る舞いを見てbotか人間かを見極めています。

 

reCAPTCHAを登録して、サイトキーとシークレットキーを取得しましょう。

 

reCAPTCHA登録はこちらから。

reCAPTCHA
reCAPTCHA is a security service that protects your websites from fraud and abuse.

 

必要なプラグインはInvisible reCaptcha for WordPress

reCAPTCHAは登録するだけでは使用できません。

プラグインは「Invisible reCaptcha for WordPress」をインストールして設定してください。

使い方は以下のサイトが詳しいです。

reCaptcha v3を自在に配置・消去~Invisible reCaptcha for WordPress | 綾糸.net
reCaptcha v3は、全ページの右下に利用規約のロゴが出るのが意外と邪魔だったりします。 PageTopボタンと被ると位置調整なども必要ですし、コメント欄にも reCaptc...

 

設定のキモとしては、reCAPTCHAロゴを表示する位置の設定(Badge Position)を「Inline」にすることです。

こうすることでreCAPTCHAロゴは問い合わせフォームのみに表示されます。

 

逆にこれをやらないと、サイト内全てにがreCAPTCHAロゴが表示されてユーザー操作の邪魔になります。

Contact Form 7でreCAPTCHAはやらない方がいい

実は問い合わせフォームの本体、Contact Form 7にもreCAPTCHAを追加する機能があるのですが、こちらは使わない方が無難です。

Contact Form 7でreCAPTCHAを追加した場合、前述のreCAPTCHAロゴが全サイトに表示されてしまいます。問い合わせフォームだけに的を絞ることができません。(ver.5.3.2で確認)

 

この問題については以下のサイトが詳しいです。

プラグインInvisible reCAPTCHAを使ってreCAPTCHA v3のバッジを邪魔にならずに表示させる方法
プラグイン Invisible reCAPTCHA for WordPress を使ったreCAPTCHA v3のバッジをフォームページ内にのみ埋め込み表示させる方法のご紹介です。

 

まとめ

Invisible reCaptcha for WordPressを使えば、スパムは簡単に撃退できます。

しかもサイト訪問者は面倒なクイズに答える必要もありません。

WordPressでサイト運営されている方は導入必須かと思います。

コメント