このサイトのお問い合わせフォームでは、Contact Form 7というWordPressプラグインを使用しています。最近スパムが多くなってきたのでreCAPTCHAによるスパム対策を試みた結果、reCAPTCHA v2には対応していないことが分かりました。
reCAPTCHAとは
ロボットによる自動投稿を防ぐためにGoogleから提供されているツールです。他のサイトを見ると、たまに「私はロボットではありません」というチェックボックスをONにさせたり、指定されたお題が含まれている画像を選択させたりする画面が現れる場合がありますが、これがreCAPTCHA v2です。
最近ではreCAPTCHA v3というものも出てきており、詳しくは分かりませんが、ユーザのWebページ内での操作をスコア化してロボットか人間かを判定しているようです。reCAPTCHA v3では、v2にあったチェックボックスや画像の選択は不要になります(結果として、reCAPTCHAが入っているのか見た目では分からないことになる)。
最新のContact Form 7ではreCAPTCHA v2は使用できない?
有名な問い合わせフォーム作成用のWordPressプラグインとしてContact Form 7というものがあり、本サイトでも使用しています。これにreCAPTCHAを入れようと思って、某サイトに従ってv2をセットアップしましたが、動作検証のために問い合わせフォームからダミーの内容を送信するとエラーになりました。
そこで、Contact Form 7のサイトを調べてみると次のような記述がありました。
reCAPTCHA API の現在の最新バージョンは v3 です。バージョン 5.1 以降の Contact Form 7 はこの reCAPTCHA v3 API を使用します。
https://contactform7.com/ja/recaptcha/
どうやら最新のContact Form 7ではreCAPTCHA v3を使用しており、v2のキーはv3で使用できないため、単純に解釈するとreCAPTCHA v2を利用できないようです(Contact Form 7を古いバージョンにすれば可能だとは思いますが…)。実用上は強いてreCAPTCHA v2を使い続ける必要はないはずなので、Contact Form 7の設定画面でキーを入力する際は、reCAPTCHA v3のキーを取得して入力するようにしましょう。