WordPressの Contact Form 7 を使っていると、スパムメール対策にreCAPTCHAを導入している方も多いのではないでしょうか。
しかし最近では reCAPTCHA v3が有料化 され、無料で使い続けるのが難しくなってきました。
そこで注目されているのが、Cloudflare Turnstile です。
無料で使えるうえに、ユーザーに余計な操作を求めないため、フォーム送信のストレスもありません。
この記事では、初心者でも簡単にできるContact Form 7へのCloudflare Turnstile導入方法を画像付きで解説していきます。
Cloudflare Turnstileとは?
Cloudflare Turnstile(クラウドフレア ターンスタイル) とは、Webサイトのフォームやログイン画面に導入できる 無料のスパム防止サービス です。
従来のreCAPTCHAのように「信号機を選んでください」などの画像テストは不要で、
ユーザーが余計な操作をすることなく、自動的に不正アクセスやスパム送信をブロックしてくれます。
- 完全無料(有料プランなし)
- ユーザー操作不要(ストレスなく送信できる)
- 高速&軽量(フォームの読み込み速度を落とさない)
- GDPR対応(プライバシーに配慮)
特に、GoogleのreCAPTCHA v3が有料化した今、代替手段として最も注目されているサービスです。
Cloudflare Turnstileの導入手順(アカウント作成〜サイトキー取得)

1.Cloudflareにアカウント登録
まずはCloudflareの公式サイトにアクセスし、アカウントを作成します。
👉 Cloudflare公式サイト

- すでにCloudflareアカウントをお持ちの場合は、そのままログインしてください。
- 新規の場合は、お好みの方法でアカウントを作成してください。
2.Turnstileの管理画面へアクセスし、ウィジェットを作成する

ログイン後、管理画面のメニューから 「Turnstile」 を選びます。
その後、「ウィジェットを追加」をクリックしてください。
3.サイトを追加

ウィジェット名(任意):わかりやすい名前(例:my-blog)
ホスト名の追加:実際に利用するサイトのドメイン

ウィジェットモード:管理対象(基本、ユーザーに操作を求めないモード)
4.サイトキーとシークレットキーを取得

登録が完了すると、以下の2つが発行されます。
- サイトキー(Site Key)
- シークレットキー(Secret Key)
この2つは後ほどWordPress側(Contact Form 7 など)に設定します。
ここまでで、Cloudflare側の準備は完了です!
Contact Form 7とCloudflare Turnstileを連携する方法
1.Contact Form 7のインテグレーションにアクセス

Contact Form 7の「インテグレーション」から「Turnstile」の「インテグレーションのセットアップ」をクリックします。
2.サイトキーとシークレットキーを設定

次に、Cloudflareで取得したキーをWordPressに登録します。
これでWordPress全体にTurnstileが使える状態になります。
3.動作確認

フォームにアクセスして、上記のように表示されていれば正常に動作しています。
よくあるトラブルと解決方法
1. フォームにTurnstileが表示されない
原因例
- サイトキー/シークレットキーの入力ミス
- キャッシュプラグインやCDNの影響
- テーマ側で
wp_footer()
が正しく読み込まれていない
解決方法
- Cloudflare管理画面で発行したキーを再確認
- 「WP Rocket」「LiteSpeed Cache」などのキャッシュを一時的に無効化
- 使用中テーマの
footer.php
に<?php wp_footer(); ?>
が入っているか確認
2. 「送信できませんでした」エラーが出る
原因例
- サーバー側で外部通信がブロックされている
- Turnstileの検証リクエストが失敗している
解決方法
- サーバーのファイアウォール設定を確認し、Cloudflareへの通信を許可
- プラグイン「Simple Cloudflare Turnstile」を最新版に更新
3. モバイルでTurnstileがうまく動かない
原因例
- JavaScriptの競合
- Lazy Load系プラグインでフォームが遅延読み込みされている
解決方法
- 一度すべてのプラグインを停止して確認 → 問題なければ1つずつ有効化して原因を特定
- Lazy Loadプラグインの除外設定にフォームページを追加
4. デザインが崩れる/表示位置が合わない
原因例
- TurnstileのUIがフォームのCSSと干渉している
解決方法
- Contact Form 7のフォーム内で
[turnstile]
タグを送信ボタン直前に配置 - 必要に応じてCSSで調整(例:
margin-top
やtext-align:center
など)
5. Turnstileを入れてもスパムが減らない
原因例
- Cloudflare側の検証設定が「寛容(Relaxed)」になっている
- ボットが複雑化して突破している
解決方法
- Cloudflare管理画面で検証モードを「標準(Managed)」または「厳格(Strict)」に変更
- Contact Form 7のスパム対策機能(Akismet連携など)と併用する
Cloudflare Turnstile導入時のセキュリティ面の注意点
Cloudflare Turnstileは無料で簡単に設置できるCAPTCHA代替ツールですが、使う際にはいくつかのセキュリティ上のポイントに注意する必要があります。
1. スパム対策は万能ではない
Turnstileはボット判定に優れていますが、すべてのスパムや不正アクセスを防げるわけではありません。
そのため、メールフォームやログインページでは他のセキュリティ対策(プラグインによるログイン制限や二段階認証など)と組み合わせることをおすすめします。
2. サイトキーとシークレットキーの管理を徹底
Turnstileでは2種類のキーを使います。
- サイトキー:公開しても問題なし
- シークレットキー:絶対に外部に漏らさないこと
特にシークレットキーをGitHubや公開リポジトリに書くと、第三者に不正利用されるリスクがあります。キーは安全な場所に保管しましょう。
3. SSL/HTTPSの使用は必須
フォームから送信される情報を安全に保つため、サイト全体をHTTPS化することが必要です。
HTTPS化されていないと、送信データが暗号化されず、情報漏洩のリスクが高まります。
4. JavaScriptがブロックされないようにする
TurnstileはJavaScriptで動作します。
セキュリティプラグインやブラウザ設定でJSがブロックされると、フォームが正しく動作しなくなることがあります。
フォームが無効化されるとユーザーが利用できないだけでなく、セキュリティ上も逆効果になる場合があるため注意が必要です。
5. 定期的にフォームのアクセスをチェック
Turnstile導入後も、フォームのアクセスログやエラーを定期的に確認しましょう。
異常なアクセスやボットの試行を早期に発見することで、被害を未然に防ぐことができます。
まとめ|Cloudflare TurnstileでContact Form 7を安全・簡単に
Cloudflare Turnstileを使うと、無料でボット対策ができ、従来のreCAPTCHAよりもユーザーに優しいメールフォームを作れます。
本記事では、初心者でもわかる手順で以下のポイントを解説しました。
- Turnstileとは何か:reCAPTCHAの代替で、無料で設置可能なボット判定ツール
- アカウント作成~サイトキー取得:Cloudflareで簡単に設定できる
- WordPress&Contact Form 7への導入方法:手軽に連携可能
- セキュリティ面の注意点:キーの管理、HTTPS対応、JavaScriptの動作確認など
Turnstileを導入することで、フォームへのスパムや不正アクセスを減らしつつ、ユーザー体験も向上させられます。
導入は簡単なので、Contact Form 7で安全なメールフォームを作りたい方は、ぜひ参考にしてみてください。
コメント