Contact Form 7にreCAPTCHAを設定する

2019年5月30日

以下はContact Form 7 Ver 5.1以前の場合であることに注意。現在はreCAPTCHA v2ではなく、v3対応になっているので、v3を取得しなければならない。

WordPressでContact Form 7を使用しているのだが、あまりにもスパムが多い。Contact Form 7 honeypotは設定してあるのだが、効果があるとは思えない。これは中止することにして、とりあえずGoogleがサービスしているreCAPTCHAを使用することにした。

これにより、コンタクトフォームは以下のようになる。

手順としては二つ。

  • GoogleにてreCAPTCHAの登録を行い、Site Key、Secret Keyを発行してもらう。
  • 取得したSite KeyとSecret KeyをContact Form 7に設定する。

GoogleにてreCAPTCHAの登録を行う

これはGoogleアカウントがあればすぐにできる。https://www.google.com/recaptchaにいって、右上のMy reCAPTCHAをクリックする。以下のように入力する(もちろん、あくまでも例)

Labelは、わかりやすい名前であれば何でもよい。reCAPTCHA v2を選択すると、Domains入力欄が現れるので、このCAPTCHAを使用するドメインをすべて列挙する(一行に一つ)。最後にRegisterをクリックする。

以下のようにSite KeyとSecret Keyが表示される。この二つをContact Form 7に指定することになる。

Contact Form 7の設定

WordPress管理画面のお問い合わせ>インテグレーションをクリックする。先のSite Key、Secret Keyを入力する。

お問い合わせ>コンタクトフォームをクリックし、対象とするフォームの編集をクリック。

[recaptcha]という文字列を適当な場所に入れる。