Contact Form 7にCloudflare Turnstileを設定する方法

WordPressのお問い合わせフォームに迷惑メールが増えている場合は、フォーム側のスパム対策を見直す必要があります。
Contact Form 7を使っているサイトなら、Cloudflare Turnstileを設定することで、訪問者に負担をかけにくい形でボット送信を減らせます。
Cloudflare Turnstileは、画像選択式のCAPTCHAを毎回出すのではなく、ブラウザやアクセス状況をもとに訪問者を確認する仕組みです。Contact Form 7にはTurnstileのインテグレーション機能があるため、基本的にはCloudflareで発行したサイトキーとシークレットキーを入力すれば設定できます。
この記事では、Cloudflareのアカウント作成からTurnstileウィジェットの作成、Contact Form 7への設定までを、画像の順番に沿って解説します。
- Cloudflare Turnstileでできるスパム対策
- Contact Form 7でTurnstileを使う前の確認点
- Cloudflareでサイトキーとシークレットキーを発行する手順
- Contact Form 7にキーを設定する方法
- 設定後に確認するポイント

DOT LIFT代表 佐藤 聡昭
Webマーケター
SEO・MEO・AIを活用した集客支援を専門とし、中小企業・個人事業主のWeb集客を支援。
メディア運用15ヶ月で月間30万PV達成・サロン支援1年で売上2倍など数値実績多数。不動産・サロン・宿泊施設・コーポレート・塾など多ジャンルの制作実績があり、ECサイト・多言語対応・予約システム実装・SNS運用・Web広告まで幅広く対応しています。
Cloudflare Turnstileとは

Cloudflare Turnstileは、Cloudflareが提供しているCAPTCHA代替サービスです。
Cloudflare公式では、TurnstileをCAPTCHAを表示せずに訪問者が本物か確認し、不要なボットをブロックするサービスとして説明しています。フォーム送信のたびに読みにくい文字を入力したり、画像を選んだりする負担を減らしながら、スパム送信を抑えるための仕組みです。
Contact Form 7公式でも、Turnstileはスパムボットからフォームを保護するインテグレーションとして案内されています。reCAPTCHAを使う明確な理由がない場合は、Turnstileが推奨されています。
- Contact Form 7の迷惑メールが増えている
- reCAPTCHAの表示や読み込みが気になっている
- なるべく無料でフォームのスパム対策をしたい
- ユーザーに画像選択などの手間をかけたくない
- WordPressにコードを直接書かずに設定したい
Turnstileを入れればすべての迷惑メールが完全になくなるわけではありません。フォームのメール設定、送信元アドレス、確認画面、キャッシュ、セキュリティプラグインとの相性もあわせて確認すると、より安定しやすくなります。
設定前に確認しておきたいこと

Turnstileを設定する前に、Contact Form 7側の状態を確認しておきます。ここを飛ばすと、設定後に表示されない、送信できない、以前のreCAPTCHAと二重になっているといった原因切り分けが難しくなります。
Contact Form 7のバージョンを確認する
Contact Form 7でTurnstileインテグレーションを使うには、Contact Form 7 6.1以降が必要です。古いバージョンのままだと、Turnstileの設定欄が表示されない可能性があります。
- Contact Form 7のバージョン
- WordPress本体のバージョン
- PHPバージョンやテーマ、他プラグインとの互換性
既存のreCAPTCHA設定を整理する
すでにGoogle reCAPTCHAを使っている場合は、Contact Form 7のインテグレーション設定を確認しておきます。reCAPTCHAとTurnstileを同時に有効化すると、フォーム上の表示や送信処理が分かりにくくなる場合があります。
| 確認項目 | 見るポイント |
|---|---|
| フォーム送信 | 現在のフォームが正常に送信できるか |
| 既存CAPTCHA | reCAPTCHAをどこで設定しているか |
| 周辺プラグイン | キャッシュ系やセキュリティ系プラグインを使っているか |
| メール到達 | 問い合わせ通知メールが正しく届いているか |
Cloudflareアカウントを作成する
ここからCloudflare側でTurnstileの設定を進めます。Cloudflareをすでに使っている場合は、既存アカウントでログインしてTurnstileメニューへ進んでください。
公式ページから無料で始める
Cloudflare Turnstileの公式ページを開き、「Start building for free」をクリックします。

Turnstileは、Cloudflareにサイト全体を移管しなくても利用できます。CloudflareのDNSやCDNを本格導入していないサイトでも、Contact Form 7のフォーム保護として使えます。
登録画面を日本語に切り替える
登録画面が英語で表示された場合は、右上の言語メニューから日本語を選べます。

英語のままでも設定できますが、初めてCloudflareを触る場合は日本語に切り替えておくと、ホスト名やウィジェット名の設定で迷いにくくなります。
アカウント作成画面を進める
Cloudflareアカウントは、Google、Apple、GitHub、またはメールアドレスで作成できます。

業務用サイトで使う場合は、個人のメールではなく、管理を引き継げるメールアドレスで登録しておくと後で困りにくくなります。
Cloudflareの初期質問はスキップしてもよい
Cloudflareのアカウント作成後、利用目的や役割を聞かれる画面が表示されることがあります。Turnstileだけを設定したい場合は、ここで細かく選ばなくても進められます。

画像のように「スキップ」が表示されている場合は、スキップして管理画面へ進んで問題ありません。

自社サイトのフォーム設定だけであれば、選択内容がTurnstileの基本設定に大きく影響するわけではありません。迷う場合は、経営者、情報技術、マーケティングなど、近いものを選ぶかスキップします。

Contact Form 7のTurnstile設定では、「アプリとユーザーを保護」に近い内容です。ただ、ここも必須ではありません。管理画面に入れれば、あとから左メニューでTurnstileを開けます。
Cloudflare管理画面からTurnstileを開く

Cloudflareの管理画面に入ったら、左側メニューからTurnstileを探します。メニューの位置は画面幅やCloudflare側のUI変更で少し変わることがありますが、アプリケーションセキュリティ配下にあることが多いです。
アプリケーションセキュリティを開く

左メニューの「保護と接続」付近にある「アプリケーションセキュリティ」を開きます。メニューが折りたたまれている場合は、矢印や展開アイコンをクリックしてください。
Turnstileを選択する

Turnstileをクリックすると、ウィジェット一覧画面へ移動します。初めて使う場合は、ウィジェットを追加する案内が表示されます。
フォームの迷惑メール対策や送信エラーをまとめて見直したい場合は、WordPressの設定全体を確認する方が早いこともあります。
Turnstileウィジェットを作成する

Turnstileでは、保護したいサイトごとにウィジェットを作成します。Contact Form 7に設定するために必要なのは、作成後に表示されるサイトキーとシークレットキーです。
ウィジェット名を入力する

ウィジェット名は公開サイトに表示される名前ではなく、Cloudflare管理画面で識別するための名前です。サイト名や用途が分かる名前にしておくと管理しやすくなります。
- DOT LIFT お問い合わせフォーム
- 自社サイト Contact Form 7
- example.com contact form
ホスト名を追加する

ここで入力するのは、URL全体ではなくドメイン部分です。https:// や最後の / は入れません。
| 入力 | 判定 |
|---|---|
example.com | OK |
www.example.com | OK |
https://example.com | NG |
example.com/contact/ | NG |
使用済みドメインは追加できない

すでに別のTurnstileウィジェットで使っているドメインを追加しようとすると、エラーが出ることがあります。この場合は、既存のウィジェットを確認してください。
同じサイト用のウィジェットがすでにあるなら、新しく作らずに既存ウィジェットのサイトキーとシークレットキーを使う方が自然です。
ウィジェットモードはまず管理のままで作成する

初めてContact Form 7に入れる場合は、推奨の「管理」のままで問題ありません。Cloudflareが訪問者の状況に応じて、非表示または非対話型の確認を行います。
非インタラクティブや非表示は、サイトの見え方を調整したい場合に検討します。ただし、最初から複雑にすると表示確認が難しくなるため、まずは推奨設定で作成し、動作を確認するのがおすすめです。
サイトキーとシークレットキーをコピーする
ウィジェットを作成すると、サイトキーとシークレットキーが表示されます。Contact Form 7に必要なのは、この2つのキーです。

| キー | 役割 |
|---|---|
| サイトキー | フォーム側でTurnstileを表示するための公開キー |
| シークレットキー | サーバー側で検証するための非公開キー |
Cloudflareの画面には、クライアント側レンダリングやサーバー側検証のドキュメントリンクが表示されることがあります。Contact Form 7のインテグレーションを使う場合、基本的にそれらのコードをテーマファイルへ貼り付ける必要はありません。
シークレットキーは外部に公開しないように注意してください。共有が必要な場合も、チャットや公開ドキュメントに残さない運用がおすすめです。
WordPressのContact Form 7にTurnstileを設定する
WordPress側では、Contact Form 7のインテグレーション画面にキーを入力します。WordPress管理画面で「お問い合わせ」から「インテグレーション」を開き、Turnstile欄を探します。

Turnstile欄にある「インテグレーションのセットアップ」をクリックし、Cloudflareでコピーしたサイトキーとシークレットキーを入力して保存します。

- WordPress管理画面にログインする
- 「お問い合わせ」→「インテグレーション」を開く
- Turnstile欄の「インテグレーションのセットアップ」をクリックする
- サイトキーを入力する
- シークレットキーを入力する
- 保存する
保存後、Contact Form 7のフォームにTurnstileが反映されます。フォームごとに個別のコードを貼る必要はありません。
設定後に確認するポイント
設定が終わったら、実際の問い合わせページで表示と送信を確認します。管理画面で保存できたとしても、キャッシュや他プラグインの影響でフロント側に反映されないことがあります。
問い合わせページでTurnstileが表示されるか確認する

まず、お問い合わせページを開いてTurnstileが表示されているか確認します。ブラウザのログイン状態やアクセス状況によって、チェック表示がすぐ終わる場合もあります。
- フォームの上部または送信ボタン付近にTurnstileが出ているか
- エラー表示が出ていないか
- スマホ表示で崩れていないか
- 送信ボタンが押せる状態になっているか
送信テストとキャッシュを確認する
次に、実際にテスト送信します。管理者ログイン中だけでなく、シークレットウィンドウや別ブラウザでも確認すると安心です。
| 確認項目 | 内容 |
|---|---|
| 送信完了 | フォーム送信が完了するか |
| 通知メール | 管理者宛メールが届くか |
| 自動返信 | 設定している場合、正しく届くか |
| 迷惑メール | 迷惑メールフォルダに入っていないか |
| エラー | CloudflareやContact Form 7のエラーが出ていないか |
Contact Form 7が6.1以降か、サイトキーとシークレットキーを逆に入れていないか、Cloudflare側のホスト名が正しいか、キャッシュを削除したか、他のCAPTCHA系プラグインと重複していないかを確認します。
Cloudflare Turnstile設定でよくある質問

Cloudflare Turnstileは無料で使えますか?
基本的に無料で利用できます。Contact Form 7公式でも、Turnstileは無料で利用できるCAPTCHA代替として案内されています。料金や上限は将来変わる可能性があるため、公開前や運用前にはCloudflare公式情報も確認してください。
Cloudflareにドメインを移管する必要はありますか?
Contact Form 7のTurnstile設定だけなら、Cloudflareにドメインを移管しなくても利用できます。Cloudflare公式ドキュメントでも、TurnstileはCloudflareのCDNを使わずにサイトへ埋め込めると説明されています。
CloudflareのコードをWordPressに貼り付ける必要はありますか?
Contact Form 7のインテグレーション機能を使う場合、基本的に開発者向けコードをテーマファイルへ貼り付ける必要はありません。Cloudflareで発行したサイトキーとシークレットキーを、Contact Form 7のインテグレーション画面に入力します。
Turnstileが表示されないときはどうすればいいですか?
まずContact Form 7のバージョン、キーの入力間違い、Cloudflare側のホスト名、キャッシュを確認します。JavaScript最適化やセキュリティ系プラグインが影響することもあるため、一時的に設定を弱めて切り分けると原因を見つけやすくなります。
Contact Form 7のスパム対策はCloudflare Turnstileで始めやすい

Contact Form 7にCloudflare Turnstileを設定する流れは、Cloudflareでウィジェットを作成し、サイトキーとシークレットキーをWordPress側に入力するだけです。
- Cloudflareアカウントを作成する
- Turnstileウィジェットを作成してキーを取得する
- Contact Form 7のインテグレーションにキーを保存する
問い合わせフォームは、ホームページの中でも機会損失に直結しやすい場所です。スパム対策だけでなく、メール到達、入力項目、送信完了後の導線まで見直すと、問い合わせの取りこぼしを減らしやすくなります。
DOT LIFTでは、WordPressサイト制作やフォーム改善、Web集客導線の見直しまで対応しています。Contact Form 7の設定だけでなく、ホームページ全体の問い合わせ導線を整えたい場合はご相談ください。

