Contact Form 7を利用していると、迷惑メールやスパム送信に悩まされることがあります。
その対策として有効なのが、Googleの「reCAPTCHA」です。
本記事では、WordPressのContact Form 7にreCAPTCHA v3を設定する方法を、画像付きでわかりやすく解説します。
また、reCAPTCHAの無料利用枠や、課金アカウント未設定時の注意点についても紹介します。Contact Form 7を使用している場合はプラグインを追加せず簡単に設定できるため、サイトの読み込み速度低下を防ぎ、セキュリティリスク(脆弱性)を減らすことができます。WordPress初心者の方もぜひ参考にしてください。
1.reCAPTCHAとは?

reCAPTCHAとはGoogleが提供しているセキュリティサービスで、お問い合わせページをスパムから守ってくれる機能です。
月に10,000件以下は無料で利用できます。問い合わせ件数が少ない一般的な企業サイトや個人ブログであれば、月10,000件の無料枠を超えるケースは多くありません。
reCAPTCHAを利用するには、GoogleアカウントでGoogle Cloudへログインし、Google Cloudプロジェクトを作成する必要があります。また、Google Cloudの課金アカウント(クレジットカード)の設定も必要です。
実際に私が設定した際、Google Cloudの画面でクレジットカード情報の入力を求められました。無料枠(月1万件)を超えなければ請求は発生しませんが、登録にはカードが必要になるため事前に準備しておくとスムーズです。
2.Contact Form 7でreCAPTCHAを設定する手順
reCAPTCHAの設定手順について、画像を交えて解説していきます。
Contact Form 7のインテグレーション画面を開く
Contact Form 7[お問い合わせ]>[インテグレーション]へ移動します。

reCAPTCHAの[インテグレーションのセットアップ]をクリックします。

サイトキーとシークレットキーを入力するため、reCAPTCHAのサイトへ移動します。
reCAPTCHAのサイト「https://www.google.com/recaptcha/intro/index.html」
※WordPress側からreCAPTCHAのサイトを開くと同じタブで遷移してしまい、設定画面に戻りづらかったため、新しいタブで開くことをおすすめします。

Google reCAPTCHAのサイトでキーを取得する
トップ画面から[使ってみる]をクリックします。

新しいサイトを登録する画面で詳細を入力していきます。

ラベル:サイト名を入力
reCAPTCHAタイプ:スコアベース(v3)を選択します。
※Contact Form 7ではreCAPTCHA v3が推奨されています。v3はユーザーに画像認証を求めず、アクセス状況をスコア化してスパム判定を行うため、ユーザー体験を損なわずにスパム対策ができます。
ドメイン:サイトのドメインを入力します。
※注意 example.com を登録した場合、sub.example.com などのサブドメインにも reCAPTCHA が適用されます。
プロジェクト名:自動で入力されるためそのままでOKです
入力できたら[送信]ボタンをクリックします。

登録が完了し、サイトキーとシークレットキーが表示されます。
コピーしてWordPressへ持っていきます。
WordPressにサイトキーとシークレットキーを設定する

WordPressへそれぞれ入力し、[変更を保存]をクリックします。

画面上部に「設定を保存しました。」が出ます。
reCAPTCHAが正常に動作しているか確認する

設定後、サイト右下にreCAPTCHAのロゴが表示されることを確認しました。また、実際にテスト送信も行い、問題なくお問い合わせを受信できることも確認しておきましょう。
3.右下の「reCAPTCHAロゴ」が邪魔な場合の対策
実際に設定した際、reCAPTCHAロゴが「トップへ戻るボタン」と重なったため、ロゴを非表示にする手順も紹介します。Google公式が認めている方法で設定を行いました。
reCAPTCHA バッジを非表示にしたいのですが、どうすればよいですか?
ユーザーフローに reCAPTCHA のブランドを明示しているのであれば、バッジを非表示にできます。次のテキストを含めてください。
reCAPTCHA よくある質問
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.
単にCSSで非表示にするだけでは規約違反になる可能性があるため、以下の手順で正しく対応しましょう。
1.お問い合わせフォームのすぐ下に以下のテキストリンクを記載
<div class="grecaptcha-text">
<p>このサイトはreCAPTCHAによって保護されており、Googleの<a href="https://policies.google.com/privacy">プライバシーポリシー</a>と<a href="https://policies.google.com/terms">利用規約</a>が適用されます。</p>
</div>

※Contact Form 7のお問い合わせフォーム編集画面の下部への記述が楽に設定できておすすめですが、固定ページの下部に追加でもOKです。
2.CSSでロゴを非表示・テキスト位置を調整するコードを記述
/* ロゴの非表示 */
.grecaptcha-badge {
visibility: hidden;
}
/* テキスト位置の調整 */
.grecaptcha-text{
margin: 3rem auto;
width: fit-content;
}
これでお問い合わせページに記述ができました。

また、reCAPTCHAを使用しているページではGoogleが求める通知文を掲載する必要があります。今回はサイト全体にreCAPTCHAを設定しているため、フッターのわかりやすい場所にも同様の文言を追加しましょう。
テキストを表示せずにロゴだけをCSSで消すと、Googleの利用規約に反する可能性があります。

4.お問い合わせページのみreCAPTCHAを設定したい場合の注意点
Contact Form 7を用いてお問い合わせページのみreCAPTCHAを設定したい場合は以下の記事で説明しています。
【2026年最新】Contact Form 7でreCAPTCHA v3をお問い合わせページのみに設定する方法|Multi-Step Formsとの競合に注意
ただし、CF7公式では、reCAPTCHA v3は全ページで読み込むことを推奨しています。お問い合わせページのみでの読み込みはカスタマイズ扱いになります。
reCAPTCHAのスクリプトファイルがすべてのページで読み込まれますが、これを停止できますか?reCAPTCHAのスクリプトファイルがすべてのページで読み込まれますが、これを止める方法はありますか?
不可能ではないものの、決して推奨される方法ではありません。そうすると、reCAPTCHAが正しく機能しなくなるからです。
reCAPTCHA v3に関するよくある質問
5.まとめ
Contact Form 7でreCAPTCHA v3を設定することができました。
設定の流れは以下の4ステップです。
- Contact Form 7のインテグレーション画面を開く
- Google reCAPTCHAでサイトを登録する
- サイトキーとシークレットキーを取得する
- WordPressへ設定し、ロゴが表示されることを確認する
スパム対策を行うことで、お問い合わせフォームをより安全に運用できます。設定自体は10分程度で完了するため、まだ導入していない場合は早めに設定しておきましょう。
【関連記事】
プラグイン Contact Form 7 の設定方法の手順をわかりやすく解説しています。