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

WordPressプラグイン

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

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

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

Contact form 7標準のreCaptchaは非推奨

Contact form7にはreCaptcha機能が初めから備わっていますが、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」への切り替えも済ませておいてください。

次に、設定画面下までスクロールして「Badge」を[Bottom Right]から[Inline]に変更します。

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

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

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

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

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

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

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

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

Acceliv