Contact Form 7 で reCAPTCHA を使うには、Google の reCAPTCHA の管理画面でキーの種類に v3(スコアで判定する型)を選んでサイトのドメインを登録し、出てきたサイトキーとシークレットキーを、WordPress の「お問い合わせ」→「インテグレーション」の reCAPTCHA の欄に入れて保存します。フォームにタグを足す必要はありません。ページの隅に出るバッジは、reCAPTCHA でサイトを守っていることを利用者の目に入る場所に書けば、隠してよいと Google が案内しています。設定のあとに送信できなくなったら、表示がオレンジの枠かどうかを見て、スコアの判定で止まっていないかを Flamingo のスパムの記録で確かめます。
この記事は、Contact Form 7 の公式ドキュメントと、Google Cloud の reCAPTCHA のドキュメント・よくある質問を、2026年11月14日に確かめた範囲で書いています。フォームの作り方そのものはWordPressのお問い合わせフォームに、プライバシーポリシーやフォームの説明への書き方は問い合わせフォームの項目と作り方に書いています。
入れる前に知っておくこと
- Contact Form 7 は 5.1 以降、reCAPTCHA の v3 を使います。v3 は画像を選ばせたりチェックを入れさせたりせず、裏でスコアを出して、人か機械かを見分けます。v2 のキーは v3 では使えないので、v2 のキーしかないときは登録し直します。
- Contact Form 7 の reCAPTCHA の説明の冒頭には、Google が reCAPTCHA の利用者をすべて reCAPTCHA Enterprise に移す予定で、多くの人にとって費用が増える、という注意があります。
- Google Cloud の移行の説明では、月10,000回の評価までが無料の枠で、超える分には Google Cloud のプロジェクトに請求先のアカウントが要ります。
- 以前に作ったキー(クラシックのキー)は、Google Cloud のプロジェクトに移されています。キーはそのまま動き、サイトのコードを変える必要はないとされていますが、キーを作る・消す・変えるには、メールで届くプロジェクトのオーナーの招待を受け入れる必要があります。
v3 の連携手順
- Google のアカウントでログインし、reCAPTCHA の管理画面(
https://www.google.com/recaptcha/admin/create)を開きます。 - ラベル(Label)にサイトの名前を入れ、キーの種類で「Score based (v3)」を選びます。日本語の画面では訳された名前で出ます。
- ドメイン(Domains)に、フォームを置くサイトのドメインを入れて追加します。Google Cloud のドキュメントでは250件まで追加できます。
- 初めて使う場合は利用規約を読んでチェックを入れ、送信(Submit)します。初めての人には Google Cloud のプロジェクトが自動で作られます。
- 表示されたサイトキーとシークレットキーを控えます。
- WordPress の管理画面で「お問い合わせ」→「インテグレーション」を開き、reCAPTCHA の欄の「インテグレーションのセットアップ」を押して、サイトキーとシークレットキーを入れ、変更を保存します。
Google Cloud のコンソールから作る場合は、Fraud Defense(reCAPTCHA)の画面の「Keys」タブで「Create key」を押し、アプリケーションの種類に「Web」を選んでドメインを入れます。WordPress のプラグインのように、reCAPTCHA Enterprise の API を使わない仕組みに渡すシークレットキーは、作ったキーを開いた「Integration」タブの「Use legacy key」(または「Integrate with a third-party service or plugin」)で確かめられます。Google は、このキーをページの中など外から見える場所に置かないよう注意しています。
Contact Form 7 の説明では、v3 には画面に出す部品がないので、フォームに [recaptcha] のタグは要りません。5.1 以降では、フォームに残っている [recaptcha] のタグは無視されます。設定が済んだら、自分で一通送って、ふつうに届くかを確かめます。
バッジの扱い:隠すなら、決められた一文を見える場所に書く
v3 を入れると、ページの隅に reCAPTCHA のバッジが出ます。Google の reCAPTCHA のよくある質問(日本語版、2026年11月12日更新)は、reCAPTCHA を使ってサイトを保護していることを明示していればバッジを非表示にできるとし、含める文として次の一文を示しています。
This site is protected by reCAPTCHA.
隠すときは、同じ質問の答えに示されている次の CSS を、サイトに CSS を足す場所(テーマの設定など)に書きます。
.grecaptcha-badge { visibility: hidden; }
英語版の答えは、この文を利用者の流れの中で見えるように置く、という書き方です。当社の見立てでは、送信ボタンのすぐ近くに小さく添えるのが、フォームを使う人の目に入りやすい置き方です。サイトの全ページに文を出す必要があるかどうかは、FAQ には書かれていません。迷う場合は、バッジを隠さずそのまま出しておくのがいちばん手間がかかりません。
設定のあとに送信できなくなったときの確かめ方
まず送信後の表示を見ます。Contact Form 7 の FAQ では、オレンジの枠は迷惑メールのしるしで、reCAPTCHA などの対策が、その送信を疑わしいと判定したことを表します。赤の枠なら、reCAPTCHA ではなくメールの送信そのものの問題です。その場合の見方はContact Form 7 でメールが届かないときの原因と直し方に書きました。
1. スパムの記録で、スコアを見る
Flamingo(送信内容を残すプラグイン)を入れていると、迷惑と判定された送信が理由と一緒に残ります。Contact Form 7 の公式の説明(Contact Form 7 5.1.2 以上、Flamingo 2.0 以上)では、例として「reCAPTCHA score (0.30) is lower than the threshold (0.50)」、つまりスコア0.30がしきい値0.50より低いため止めた、という記録が示されています。自分の送信がこの理由で止まっていれば、reCAPTCHA の判定が原因です。Flamingo の入れ方と見方はFlamingoの使い方にあります。
2. キーとドメインの組み合わせを見る
- v2 のキーを入れていないか。v3 のキーとは別物で、v3 では使えません。
- サイトキーとシークレットキーを取り違えていないか、別のサイト用に作ったキーを入れていないか。
- キーのドメインに、いまのサイトのドメインが入っているか。サイトの引っ越しなどでドメインが変わったあとは見直します。
3. 試験用のサイトと本番を分ける
Google のよくある質問は、v3 は実際のアクセスを見て判断するため、スコアが正確でないことがあるとし、試験用の環境には本番と別のキーを作るよう勧めています。localhost は標準では使えず、開発用のキーにだけ許可するよう案内しています。試験用のサイトで本番のキーを使い回しているなら、分けます。
4. 迷惑な送信が急に通るようになったとき
送信できなくなるのとは逆の困りごとです。Google Cloud の移行の説明では、無料の枠(月10,000回)を超え、請求先のアカウントがないとき、WordPress のプラグインなどが使う検証(SiteVerify)は、0.9 のスコアで成功を返すとされています。止まるのではなく、判定が働かずに通るということです。迷惑な送信が急に増えたら、Google Cloud のコンソールで使用量を見ます。
5. それでも分からないとき
インテグレーションの画面で reCAPTCHA の連携をいったん外して送れるかを試すと、reCAPTCHA が原因かどうかを切り分けられます(当社の見立て)。試し終わったら元に戻すか、ほかの対策に替えます。Contact Form 7 は、Cloudflare Turnstile との連携も同じ「インテグレーション」の画面に用意しています。ほかの対策との選び方はContact Form 7 のスパム対策にまとめました。
今日、自社で確かめられること
- 「お問い合わせ」→「インテグレーション」で、reCAPTCHA の欄にキーが入っているかを見ます。
- フォームから一通送り、届くか、オレンジの枠が出ないかを見ます。
- バッジを隠しているなら、フォームの近くに「This site is protected by reCAPTCHA.」の文があるかを見ます。
- キーを誰の Google アカウントで作ったか、プロジェクトのオーナーの招待を受け入れているかを確かめます。担当が替わったあとに、キーを変えられなくなるのを防げます。
参考にした公式の情報
- reCAPTCHA (v3)(Contact Form 7)
- Frequently Asked Questions(Contact Form 7)
- Why is this message marked “Spam”?(Contact Form 7)
- Cloudflare Turnstile インテグレーション(Contact Form 7)
- よくある質問(reCAPTCHA、Google Cloud Documentation)
- Create reCAPTCHA keys for websites(Google Cloud Documentation)
- reCAPTCHA Classic to reCAPTCHA Enterprise migration overview(Google Cloud Documentation)
いずれも2026年11月14日に内容を確かめました。Google の管理画面とプラグインの表示名は、版や言語の設定によって変わることがあります。