【Contact Form 7】Turnstileでスパムを防ぐ手順

お問い合わせフォームには、スパムメールが送られてくることがあります。Contact Form 7には、Cloudflareが提供するTurnstileと連携する機能があり、フォームの利用者が人間かどうかを確かめられます。
この記事では、TurnstileのキーをContact Form 7の「インテグレーション」に登録して、すべてのフォームに有効にするところまでを扱います。Turnstileのウィジェットを作る手順は、Cloudflareの公式ドキュメントに任せます。
手順の要点:Cloudflareでウィジェットを作り、「お問い合わせ」→「インテグレーション」の「Turnstile」で、サイトキーとシークレットキーを入力して「変更を保存」をクリックする。
この記事でできること
- TurnstileのキーをContact Form 7に登録できる
- フォームにTurnstileが表示されたかを確かめられる
- 表示位置を変えたいときの方法がわかる

フォームに、宣伝のメールばかり届きます。



Turnstileは、送ってきた相手が人かどうかを自動で確かめる仕組みです。機械的に送られてくるメールを減らすために使います。


前提
- 環境:WordPress 7.1、Contact Form 7(2026年11月時点の管理画面です)
- 必要な権限:管理者
- 所要時間の目安:15分ほど
- 先に用意するもの:Cloudflareのアカウント、有効にしたContact Form 7、作成済みのお問い合わせフォーム
Contact Form 7の公式サイトでは、次のように案内されています。
- Turnstileのウィジェットは、Cloudflareの公式ドキュメントに従って作成する
- ウィジェットのモードは、推奨されている「Managed」を選ぶ
- 発行された「サイトキー」と「シークレットキー」を控える
- ウィジェットを、手動でフォームに埋め込む必要はない。埋め込みはContact Form 7が行う
Contact Form 7の「インテグレーション」の画面には、「reCAPTCHA (v3)」「Akismet」の欄もあります。この記事では扱いません。
Turnstileのキーを登録する
この手順で、すべてのフォームにTurnstileが追加されます。
- Cloudflareの公式ドキュメントの手順で、Turnstileのウィジェットを作ります。モードは「Managed」を選びます。
- 発行された「サイトキー」と「シークレットキー」を控えます。
- WordPressの管理画面の左のメニューで、「お問い合わせ」にカーソルを合わせます。
- 「インテグレーション」をクリックします。
- 「Turnstile」の欄にある、「インテグレーションのセットアップ」をクリックします。
- 「サイトキー」と「シークレットキー」に、控えたキーを入力します。
- 「変更を保存」をクリックします。


できたか確かめる
次の2つで確かめます。
- お問い合わせフォームのあるページを開いて、フォームの上の部分に、Turnstileのウィジェットが表示されていること(公式サイトでは、初期設定では上部に表示されると説明されています)
- テスト送信をして、送信が完了すること
表示の位置を変える
ウィジェットを、フォームの途中や下に置きたいときの方法です。
- 「お問い合わせ」→「コンタクトフォーム」で、対象のフォームを開きます。
- 「フォーム」のタブの、表示したい場所に、「[turnstile]」のタグを書きます。
- 「保存」をクリックします。
タグには、大きさや言語などを指定できます。公式サイトの例は、「[turnstile size:compact language:en]」です。
よくあるつまずき
| 症状 | 原因 | 直し方 |
|---|---|---|
| フォームにTurnstileが表示されない | サイトキーやシークレットキーの入力ミス | 「インテグレーション」の画面で、キーを入れ直して保存する。キャッシュを使っているときは、キャッシュを消す |
| 送信しようとするとエラーになる | Cloudflareの公式ドキュメントでは、Turnstileのトークンは300秒で期限切れになり、1回しか確認できないと説明されている | フォームを開いたまま時間がたっているときは、ページを再読み込みしてから送信する |
まとめ
やること:Cloudflareでウィジェットを作り、「お問い合わせ」→「インテグレーション」の「Turnstile」で、サイトキーとシークレットキーを入力して「変更を保存」をクリックする
確かめ方:フォームのページにTurnstileのウィジェットが表示され、テスト送信が完了することを確認する
つまずいたら:キーの入力を見直し、ページを再読み込みして送信する
次の一歩
お問い合わせフォームの作り方と、プラグインの更新は、公開済みの次の記事で扱っています。








