【スパム対策】Contact Form7はreCaptchaの導入が必須

WordPressには、誰でも簡単にお問い合わせフォームを作成できるContact Form7というプラグインが用意されています。

ですが、ただただ問い合わせフォーム設置しただけでは不完全で、スパムなどの迷惑メールが大量に届く事になってしまいかねません。

そのため、Contact Form7を設置する際は、スパム排除に役立つGoogle reCaptchaを設置することが必須とも言えます。

目次から探す

Contact form 7標準のreCaptchaは非推奨

Contact form7にはreCaptcha機能が初めから備わっていますが、reCaptcha v3なのであまりおすすめしません。

reCaptcha v3とは?

reCaptcha v3とは、ユーザーによるクリックチェックをせずにボットかどうかのチェックができる最新reCaptchaです。

ユーザーの手間を大幅に減らすことができるため非常に便利でもありますが、reCaptcha v3を導入している全ページにreCaptchaaバッジが表示される仕様も追加されています。

というのも、設定したreCaptchaバッジが全ページに表示されてしまうんですね。

PC表示なら画面右下に小さく表示されている程度にしか感じませんが、スマホだとどうでしょうか?

スマホだとかなり大きく表示されてしまうため、ユーザーにとって非常に邪魔なんですよね

display:noneで非表示にしてはいけない

邪魔ならCSSプロパティでdisplay:noneを設定すればいいと思うかもしれません。

ですが、それはreCaptchaの利用規約で禁止されており、強引に非表示にできません。

そのため、画面右下にreCaptchaバッジが固定表示されないタイプのreCaptchaを設定する必要があります。

Contact Form 7でreCaptchaを使用するおすすめの方法

おすすめの方法は、「Advanced noCaptcha & invisible Captcha(v2 & v3)」というプラグインを使用した方法です。

このプラグインを使えば簡単に使い勝手の良いreCaptchaを設置できます。

プラグイン新規追加画面からインストールできるので「Advanced noCaptcha & invisible Captcha (v2 & v3)」を検索してインストール・有効化しておいてください

有効化したら、設定ページに移動します

設定ページに移動したら、以下のreCaptcha管理ページにアクセスしてください

アクセスしたら、画面右上の+をクリックしてreCaptcha設定を作成します。

次に、ラベルを入力してreCaptcha v2にチェック。そして非表示reCaptchaバッジを選択します。

reCaptchaを使用するドメインを入力します。http:// https://など余計な文字が入っていると登録できないので気をつけましょう。

最後に「reCaptcha利用条件同意する」にチェックを入れて[送信]を押します。

これでreCaptcha設定用のキーが発行されます。

ここで発行されたサイトキーとシークレットキーをそれぞれ、WordPress側の設定画面で入力します。

一番最初の設定項目を「V2 “I’m not a robot”」から「V2 Invisible」への切り替えも済ませておいてください。

次に、設定画面下までスクロールしてBadgeBottom RightからInlineに変更します。

ここまでの設定が完了したら、変更を保存を押して設定変更を確定させてください。

これでreCaptchaを使用する準備が整いましたが、もうワンステップあります。

左メニューのお問い合わせをクリックし、問い合わせフォームで使用しているフォームの編集を選択してください。

[submit "送信"]の直前に[anr_nocaptcha g-recaptcha-response]を貼り付けてフォームを保存します。

フォームを保存したら、設置したお問い合わせページを開いてみてください。

このように、「reCaptchaで保護されています」のバッジが挿入されているはずです。

これで、ボットによる問い合わせの大半をブロックできるようになり、スパムが届くことがほとんどなくなるでしょう。

また、この設定は余計なページでreCaptchaを読み込まない設定にもなっているので、ページの表示速度が大きく低下することもありません。

目次から探す