
WordPressのお問い合わせフォームで使われる「Fluent Forms」。スパム対策として reCAPTCHA(リキャプチャ)を設定する方も多いと思いますが、
「設定したはずなのに、reCAPTCHAのマークが全然表示されない・・・」
というご相談をいただいたので、その原因と解決までの流れを備忘録としてまとめておきます。
こんな症状に困っていました
- Google reCAPTCHAの管理画面で対象ドメインのサイトキー・シークレットキーを発行し、Fluent Forms側にも設定した
- Fluent Formsの設定画面で「ReCAPTCHAは有効です」という緑色のメッセージも表示されている
- なのに、実際のお問い合わせページを見てもreCAPTCHAのマーク(右下に出るはずのアイコン)がどこにも見当たらない
1.以前使っていたContact Form 7を無効化
以前使用していた Contact Form 7 (CF7) にもreCAPTCHAが設定されていたので無効化。
CF7を無効化した際、CF7が読み込んでいたreCAPTCHA用のスクリプトも一緒に読み込まれなくなったことを確認。
2.フォームに「reCAPTCHAフィールド」を追加
管理画面の設定でAPIキーを登録するだけでは、フォームにreCAPTCHAは表示されません。
フォームの編集画面(フォームビルダー)を開いて、「入力フィールド」の「先端分野」を開き、「再キャプチャ」という専用のフィールドを、フォームの中にドラッグ&ドロップで追加。
イメージとしては、こんな感じ。
- APIキーの登録 = reCAPTCHA機能の「電源を入れる」作業
- フィールドの追加 = その機能を「このフォームで実際に使う」ための配置作業
3.「バッジを表示する」設定を「はい」にする
reCAPTCHAフィールドを追加したフォームの「入力のカスタマイズ」を開き、「Render ReCaptcha V3 badge(reCAPTCHA V3バッジを表示する)」という項目を「はい」にする。
reCAPTCHA v3は、そもそも「見えないreCAPTCHA(Invisible reCAPTCHA)」と呼ばれる仕組みで、ユーザーの目に見える操作(チェックボックスを押すなど)を必要としません。
そのため、この「バッジ表示」設定を「いいえ」にしていると、機能自体は裏側で動いていても、画面上には何も表示されない、という状態になります。
reCAPTCHA v3はもともとユーザーへの表示を必須としていません。
バッジを表示しない場合は、フォーム付近に「このサイトはreCAPTCHAによって保護されています」といった注記を入れることが、Googleの利用規約上推奨されています。
4.ブラウザキャッシュ・ページキャッシュをクリア
上記の設定をすべて直したにもかかわらず、それでもマークが表示されないという場合、キャッシュ系プラグインが原因のことがあります。
- LiteSpeed Cache
- WP-Optimize
- WP Rocket
- W3 Total Cache
などのキャッシュ系プラグインがインストールされている場合は、そちらのキャッシュもクリア。
今回のトラブルシューティングまとめ
同じような症状に困っている方は、次の順番で確認してみることをおすすめします。
- 以前使っていた別のフォームプラグイン(CF7など)の設定が影響していないかを確認する
- Fluent Formsのフォーム編集画面で「reCAPTCHA」フィールドが追加されているか確認する
- reCAPTCHAフィールドの詳細設定で、「Render ReCaptcha V3 badge」の項目が「はい」になっているかを確認する
- それでも直らない場合は、キャッシュ系プラグイン(LiteSpeed Cache、WP-Optimizeなど)のキャッシュをクリアして確認してみる

