ContactForm7のreCAPTCHAによるスパム対策

Contact Form7を使っている人に必見です。GoogleのreCAPTCHAを使ってスパムが送信されるのを防止しましょう。

スパムに困っている人に

WordPressを使ってサイト構築して、問い合わせフォームを設置するのにContact Form7を使っている人は多いと思います。

しばらく使っているとスパムが送信されてきて、徐々に送信されてくる数も増えてきてとってもうっとうしいです。

Akismetなどのプラグインを使って対策している人も多いかと思いますが、Contact Form7はGoogleのreCAPTCHAでスパム対策できるようになっています。

ここではContact Form7のreCAPTCHA設定方法を紹介します。

reCAPTCHAのサイト登録

reCAPTCHAはスパムなどの不正アクセスを防ぐGoogleのサービスです。

お問い合わせフォームを悪用してスパムメールを配信するような不正利用から防御してくれます。

reCAPTCHA(V2)とreCAPTCHA(V3)の利用は無料です。

サイト登録して利用するので、サイトのドメインを登録します。

登録するにはGoogleアカウントが必要です。

まずは以下のURLでreCAPTCHAのサイトに行って、サイトキーとシークレットキーを作成します。

reCAPTCHAサイト(https://www.google.com/recaptcha/about/

サイトの画面上にある「v3 Admin Console」をクリックします。

はじめて登録するときは、登録画面が表示されます。

①ラベルにはわかりやすい名前を入れます。

②タイプはreCAPTCHA v3を選択します。

③ドメインはサイトのドメイン名を入れます。

④「reCAPTCHA利用条件に同意する」にチェックを入れます。

すべて入力できたら送信ボタンを押して登録します。

これで登録は完了です。

サイトキーとシークレットキーが発行されます。

サイトキーとシークレットキーはContact Form7のインテグレーションで利用するのでコピーして控えておきます。

Contact Form7にインテグレーション

次にContact Form7でreCAPTCHAを利用できるようにします。

WordPressの管理画面から左メニューの「問い合わせ」-「インテグレーション」をクリックします。

表示される項目中央のreCAPTCHAの「インテグレーションのセットアップ」をクリックします。

次に表示される画面でreCAPTCHAのサイト登録時に発行されたサイトキーとシークレットを入力します。

変更を保存をクリックすると設定完了です。

reCAPTCHAのバッジの非表示

これまでの設定でフォームを悪用したスパムメールは防止できるようになりましたが、サイトの画面にreCAPTCHAのバッジが常時表示されるようになります。

それでも特に問題がない場合はこのままでいいですが、バッジがサイトの邪魔になる場合もあります。

サイトの画面上に戻るアイコンなどを画面右下に表示していると、バッジとかぶるので機能しなくなります。

そこでバッジを非表示にするよう設定したいと思います。

方法はreCAPTCHAのFAQに掲載されています。

reCAPTCHAのFAQ(https://developers.google.com/recaptcha/docs/faq

つまり、reCAPTCHAはGoogleのプライバシーポリシーと利用規約が適用されますよとサイトに表示すれば、CSSでバッジを非表示にできますよということです。

まずはCSSにこのスタイルを追記します。

.grecaptcha-badge { visibility: hidden; }

WordPress管理画面からカスタマイズCSSを使ってもいいですし、独自のテーマや子テーマを使っている人はそのCSSに追記してもいいです。

CSSの記述や設定方法については割愛します。

バッジを非表示にできたら、ページに以下を記述し表示します。(FAQに載っているものです)

This site is protected by reCAPTCHA and the Google
  <a href="https://policies.google.com/privacy">Privacy Policy</a> and
    <a href="https://policies.google.com/terms">Terms of Service</a> apply.

英語でもいい人はこのまま使えます。

以下は日本語にしたものです。

このサイトはreCAPTCHAによって保護されており、Googleの
    <a href="https://policies.google.com/privacy">プライバシーポリシー</a>と
    <a href="https://policies.google.com/terms">利用規約</a>が適用されます。

これでバッジ非表示の作業は完了です。

まとめ

サイトをしばらく運営していると気がつくとスパムメールが届くようになってきます。

増え始めると加速的に増え、毎日のように届くようになるので早めに対処しましょう。