【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 website security and fraud protection
reCAPTCHA is bot protection for your website that prevents online fraudulent activity like scraping, credential stuffing, and account creation.

 

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

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

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

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

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

 

設定のキモとしては、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でサイト運営されている方は導入必須かと思います。

コメント