WordPressのコンタクトフォームのスパム対策にreCAPTCHA v3を入れる

reCAPTCHAページ

WordPressで企業サイトを作っていると、コンタクトフォームはほぼ必須になります。

最近、自分のお問い合わせページからスパムがよく届くんですが、スパムメールがくるだけならフィルター機能でごみ箱に振り分ければいいだけです。
一番の問題は、アナリティクスのコンバージョン計測・目標設定の邪魔になることです。

企業サイトではお問い合わせページでコンバージョンを設定していることがよくありますので、本当に困ります。

コンタクトフォームにreCAPTCHA v3を導入する方法を解説します。

スパムはreCAPTCHAで対策する

Google reCAPTCHAは入力フォームなどで、「私はロボットではありません」のチェックボックスや、信号機、バスなどの画像を選択させられる、おなじみの機能です。

reCAPTCHAはv2からv3にバージョンアップして、画像選択はなくなり、ユーザーの挙動を評価しスコアからスパム判別を自動で行うようになりました。
画像選択などの操作が不要のため、利用者のストレスが減り、より便利になりました。

登録はヘッダーメニューの「Admin Console」ボタンから(Googleアカウントが必要)。

reCAPTCHAページ


以前はv2の「非表示 reCAPTCHA バッジ」「セキュリティ重視」で使っていましたが、スパムが届くようになりました。
ということで、今回はv3の効果を確かめます。

reCAPTCHA タイプは、「reCAPTCHA v3」を選びます。
ラベルは、任意の名称(複数登録時の識別用)。
ドメインは、入力したドメインと、そのサブドメインが登録対象となります。
WordPressのローカル開発環境(XAMPPなど)がある場合はドメインにlocalhostの登録もするとよいです。

WordPressプラグイン側の設定

上で「新しいサイトを登録する」を送信した直後にキーが2つ表示されます。
コピペして保管します。

保管し忘れた場合は、reCAPTCHA側の設定(右上の歯車アイコン)から、「reCAPTHCAのキー」をクリックして、サイトキー・シークレットキーを取得します。

あとでWordPressプラグイン側に入力して設定します。

Contact Form 7 プラグイン

人気のコンタクトフォームプラグイン「Contact Form 7」を使っている方も多いと思います。国産プラグインで、日本語のマニュアルがしっかりしていておすすめです。

ダッシュボードのメニュー「お問い合わせ>インテグレーション」から
「インテグレーションのセットアップ」ボタンをクリックして、
赤枠にサイトキー、シークレットキーを入力します。


Contact Form 7 公式に丁寧なマニュアルがありますので、不明な点は確認してみましょう。
ドメイン全ページに設置されます。このあたりもマニュアルに理由が記載されていますが、効果は絶大です(おすすめ!)。
reCAPTCHA (v3) | Contact Form 7 [日本語]

Invisible reCaptcha プラグイン

Invisible reCaptcha」はreCAPTCHAを設置するプラグインです。
Contact Form 7を使っている場合は基本的にこのプラグインは不要です。

設置箇所を自分で選択したい場合はこのプラグインを導入します。全ページに設置しないかわりに、判定が甘くなるらしいです(すりぬけてくるスパムがあります)。
コンタクトフォーム、ログインフォーム、コメント欄などにreCAPTCHAを設置できます。

Setting下の各タブでは、どのページでreCAPTCHAを有効化するか設定できます。
Contact Formsタブから、「Enable Protection for Contact Form 7」をチェックします。

レポート結果

縦軸がリクエスト数、横軸がスコア値です。
低スコア(0.1が13件、0.3が2件)はスパムと判断しています。

reCAPTCHAの設定をうっかり消さない

WordPressのログインフォームをreCAPTCHAで保護している場合がありますが、reCAPTCHAの設定をうっかり消すと、バッジ(下画像)にエラーメッセージが出て、ダッシュボードに入れなくなります。

その場合は、WordPressのサーバーにFTPでログインして、プラグインのディレクトリをリネーム(または削除)して、ダッシュボードにログインしてプラグインをインストールし直します。

例)プラグインのディレクトリ
/wp-content/plugin/invisible-recaptcha

おわりに

v3効果すごいです。v2の方は見直してみたらよいと思います。
ドメイン全ページに設置する方が効果があります。

執筆者

えいじ@naeco.jp この記事を書いた人

メーカー系情報システム部門出身の個人事業主。
自作するのが好きですぐに試したくなる、凝り性なWebエンジニア。
カラーミーショップ、モールなどのECについて記事にしています。

ご相談・お問い合わせはこちら