WordPressのお問い合わせフォームに届く、迷惑なスパム送信。
Contact Form 7のスパム対策としては、これまでGoogleの「reCAPTCHA(リキャプチャ)」を使うのが一般的でした。
しかし、reCAPTCHAは無料で使える回数が月10,000回までに縮小されました。
そこで代わりとして注目されているのが、無料で使えるCloudflare Turnstile(クラウドフレア ターンスタイル)です。
Contact Form 7の公式サイトでも、Turnstileは無料で使えるため、reCAPTCHAを使う特別な理由がなければTurnstileを選ぶよう案内されています。
- WordPressでTurnstileを使う2つの方法と、その選び方
- Contact Form 7の標準機能でTurnstileを設定する手順
- ログイン画面やコメント欄も守れるプラグインの使い方
- reCAPTCHAからTurnstileへの切り替え方
Turnstileの仕組みや、reCAPTCHAとの違いについては、こちらの記事で詳しく解説しています。
ContactForm7でCloudflare Turnstileを使う理由
ContactForm7のスパム対策としては、今までGoogleの「reCAPTCHA(リキャプチャ)」を活用するのが一般的でした。
しかし、reCAPTCHAの無料利用枠が大幅縮小されたこともあり、代替えを検討する場合Cloudflare Turnstileが勧められています。
ContactForm7公式でも、以下のように説明しています。
Google reCAPTCHA とは異なり Turnstile は無料で利用できます。reCAPTCHA を使うべき理由が特にないのであれば Turnstile を選択してください。
WordPressでTurnstileを使う2つの方法
WordPressでTurnstileを使う方法は、大きく2つあります。どのフォームを守りたいかで選びましょう。
| 項目 | 方法1:Contact Form 7の標準機能 | 方法2:Simple CAPTCHA with Cloudflare Turnstile |
|---|---|---|
| 守れるフォーム | Contact Form 7のフォーム | WordPressのログイン・ユーザー登録・パスワードリセット・コメント欄、Contact Form 7やWPFormsなどのフォーム、WooCommerce など |
| 追加のプラグイン | 不要(Contact Form 7 6.1以降) | 必要 |
| 提供元 | Contact Form 7の公式機能 | 個人開発者による無料プラグイン(Cloudflare公式ではない) |
| 設定の手軽さ | キーを2つ貼るだけ | キーを貼り、守るフォームを選んでテストする |
どちらを選べばいい?
| やりたいこと | おすすめ |
|---|---|
| Contact Form 7のお問い合わせフォームだけ守りたい | 方法1だけ |
| ログイン画面やコメント欄も守りたい | 方法1 + 方法2(Contact Form 7は方法1に任せる) |
| Contact Form 7以外のフォームプラグインを使っている | 方法2 |
Contact Form 7のフォームだけなら、プラグインを追加しない方法1がおすすめです。
プラグインが少ないほど、更新の手間や不具合のリスクを減らせます。
注意:Contact Form 7を両方で守らない
方法1と方法2を両方使う場合は、Contact Form 7の保護はどちらか一方にしてください。
両方で設定すると、ウィジェットが二重に表示されたり、送信エラーの原因になったりします。
この記事では、Contact Form 7は方法1(標準機能)、それ以外は方法2(プラグイン)で守る分け方をおすすめしています。
事前準備:Cloudflareでサイトキーとシークレットキーを発行する
どちらの方法でも、WordPressの設定とは別に、Cloudflareのアカウントと2つのキーが必要です。
事前に登録しておきましょう。
- Cloudflareに無料で会員登録する
- 管理画面の「Turnstile」で「ウィジェットを追加」をクリックする
- ウィジェット名を入力し、ホスト名にWordPressサイトのドメイン(例:example.com)を登録する
- ウィジェットモードは「管理対象」のまま「作成」をクリックする
- 表示されたサイトキーとシークレットキーを控えておく
画面付きの詳しい手順は、こちらの記事で解説しています。
WordPressをサブディレクトリ(例:example.com/blog/)に置いている場合も、ホスト名にはルートドメインのexample.comを登録すればOKです。
方法1と方法2を両方使う場合も、同じサイトなら1つのウィジェット(同じキー)を共通で使えます。
キーを2組作る必要はありません。
控えたキーは、このあとWordPressの設定画面に貼り付けます。
WordPressをサブディレクトリ(例:example.com/blog/)に置いている場合も、ホスト名にはルートドメインのexample.comを登録すればOKです。
方法1と方法2を両方使う場合も、同じサイトなら1つのウィジェット(同じキー)を共通で使えます。キーを2組作る必要はありません。
控えたキーは、このあとWordPressの設定画面に貼り付けます。
方法1:Contact Form 7の標準機能でTurnstileを設定する
Contact Form 7には、Turnstileと連携する機能が標準で入っています。追加のプラグインは必要ありません。
Contact Form 7のインストールや基本の使い方は、こちらの記事をご覧ください。
Turnstileの標準機能は、Contact Form 7のバージョン6.1以降で使えます。「プラグイン」→「インストール済みプラグイン」で、Contact Form 7のバージョンを確認し、古い場合は更新しておきましょう。
STEP1:reCAPTCHAの連携を解除する(使っていた場合のみ)
これまでContact Form 7でreCAPTCHAを使っていた場合は、先にreCAPTCHAの連携を解除します。
WordPressの管理画面の左メニューから「お問い合わせ」→「インテグレーション」を開きます。

「reCAPTCHA」の欄にある「インテグレーションのセットアップ」をクリックする

「キーを削除」ボタンをクリックし、reCAPTCHAのキーを削除します。
画面が切り替わり、キーの入力欄が空白になっていれば完了です。
最後に「変更を保存」をクリックします。
reCAPTCHAのキーを発行したGoogle Cloud側の設定は、すぐに消さなくても大丈夫です。
Turnstileでしばらく問題なく使えることを確認してから、不要であれば削除しましょう。
STEP2:Turnstileのキーを登録する
次に、「Turnstile」の登録を行います。
WordPressダッシュボード・画面左側のメニュから「お問い合わせ」→「インテグレーション」を開きます。

インテグレーション内の「Turnstile」を探してください。

「インテグレーションのセットアップ」をクリックします。
サイトキーとシークレットキーの入力欄がありますので、先ほど作成したキーをそれぞれコピー&ペーストで貼り付け、変更を保存します。
画面が戻り「Turnstile はこのサイト上で有効化されています。」とチェックつきメッセージが表示されるのを確認します。
次に、サイトのお問い合わせフォームのページを開きます。
以下のように、Cloudflareが表示されていればOKです。

STEP3:フォームの表示を確認する
お問い合わせフォームのページを開き、Cloudflareのウィジェットが表示されていればOKです。
キーを登録すると、サイト内のすべてのContact Form 7のフォームに、自動でTurnstileが追加されます。
フォームごとに設定する必要はありません。
ウィジェットの位置を変えたいとき
Contact Form 7では、Turnstileのウィジェットは初期設定でフォームの一番上に表示されます。
送信ボタンの上など、好きな位置に移したい場合は、フォームの編集画面で次のタグを入れたい位置に書きます。
[turnstile]
たとえば、送信ボタンの直前に置く場合は次のようになります。
[turnstile]
[submit "送信"]
タグには、表示を調整するオプションも付けられます。
| オプション | 内容 | 例 |
|---|---|---|
| size | ウィジェットの大きさ | [turnstile size:compact] |
| theme | 色のテーマ(light/dark/auto) | [turnstile theme:light] |
| language | 表示する言語 | [turnstile language:ja] |
方法2:プラグインでログイン画面やコメント欄も守る
WordPressのログイン画面やコメント欄にも、ボットによる攻撃やスパムがやってきます。
こうした場所も守りたい場合は、無料プラグイン「Simple CAPTCHA with Cloudflare Turnstile」を使います。
利用者が20万サイト以上と多く、更新も続いているプラグインです。
ただし、Cloudflareの公式プラグインではありません。
アップデート情報や互換性は確認するようにしてください。
更新のあとは、フォームが正しく動いているかを確認するようにしましょう。
このプラグインで守れる主なフォーム
| 種類 | フォーム |
|---|---|
| WordPress | ログイン、ユーザー登録、パスワードリセット、コメント |
| フォームプラグイン | Contact Form 7、WPForms、Fluent Forms、Gravity Forms、Jetpack Formsなど |
| ネットショップ | WooCommerceのチェックアウト、ログイン、会員登録など |
STEP1:プラグインをインストールする
- WordPressの管理画面の左メニューから「プラグイン」→「新規プラグインを追加」をクリックする
- 検索欄に「Cloudflare Turnstile」と入力する
- 「Simple CAPTCHA with Cloudflare Turnstile」の「今すぐインストール」をクリックする
- インストールが終わったら「有効化」をクリックする
※このプラグインは、2025年9月までは「Simple Cloudflare Turnstile」、その後は「Simple CAPTCHA Alternative with Cloudflare Turnstile」という名前でした。古い名前で紹介している記事もあるので、作者名(Elliot Sowersby / RelyWP)で見分けると確実です。
STEP2:キーを入力する
- 左メニューの「設定」→「Cloudflare Turnstile」を開く
- 「サイトキー」と「シークレットキー」の欄に、Cloudflareで発行したキーを貼り付ける
- 「変更を保存」をクリックする
STEP3:「TEST API RESPONSE」でテストする
キーを保存すると、設定画面にテスト用のウィジェットと「TEST API RESPONSE」ボタンが表示されます。
ボタンをクリックして、成功のメッセージが出ることを確認してください。
このテストに成功するまで、プラグインのTurnstileはどのフォームにも表示されません。
キーを入力しても表示されないときは、まずこのテストが済んでいるかを確認しましょう。
STEP4:守るフォームを選ぶ
設定画面で、Turnstileを付けたいフォームにチェックを入れて「変更を保存」をクリックします。
- WordPressのログイン
- WordPressのユーザー登録
- WordPressのパスワードリセット
- WordPressのコメント
方法1でContact Form 7を設定している場合は、このプラグインのContact Form 7の項目にはチェックを入れないでください。
二重に表示される原因になります。
ログイン画面を守るときの注意
ログイン画面にTurnstileを付けると、設定ミスや不具合があったときに、自分も管理画面に入れなくなることがあります。設定したら、次の手順で確認しましょう。
- ログインしたまま、別のブラウザ(またはシークレットウィンドウ)でログイン画面を開く
- Turnstileが表示され、ログインできることを確認する
- 問題がなければ、元のブラウザでもログアウトしてOK
万一ログインできなくなったときは、FTPやサーバーのファイルマネージャーで「wp-content/plugins/」の中の「simple-cloudflare-turnstile」フォルダの名前を一時的に変えると、プラグインが止まり、ログインできるようになります。
また、設定画面の「Whitelist」でログイン中のユーザーにはTurnstileを表示しないようにしたり、Cloudflareに障害があったときに送信を通す「Failsafe Mode」を使ったりすることもできます。
動作確認とトラブル対処
動作確認のチェックリスト
よくあるトラブルと対処法
| 症状 | 考えられる原因 | 対処法 |
|---|---|---|
| ウィジェットが表示されない | キーの貼り間違い、ホスト名の登録漏れ | キーを貼り直す。Cloudflareのウィジェットのホスト名に、サイトのドメインが入っているか確認する |
| プラグインのウィジェットだけ表示されない | 「TEST API RESPONSE」が済んでいない | 設定画面でテストを実行する |
| ウィジェットが2つ表示される | Contact Form 7の標準機能とプラグインの両方で設定している | プラグイン側のContact Form 7の項目のチェックを外す |
| 送信すると「エラーが発生しました」と出る | トークンの期限切れ(5分)、キャッシュの影響 | ページを再読み込みしてから送信する。キャッシュ系プラグインを使っている場合は、フォームのページをキャッシュの対象から外す |
| ウィジェットが表示されたり、されなかったりする | キャッシュ系プラグインのJavaScriptの遅延・圧縮機能 | 「JavaScriptの遅延読み込み」などの対象から、Turnstileのスクリプト(challenges.cloudflare.com)を外す |
LiteSpeed Cacheなどのキャッシュ・高速化プラグインは、Turnstileの表示に影響することがあります。
設定を変えたら、キャッシュを削除してから確認するようにしましょう。
WordPressでのTurnstileのよくある質問
Q. Contact Form 7だけなら、プラグインは必要ありませんか?
必要ありません。
Contact Form 7のバージョン6.1以降なら、「お問い合わせ」→「インテグレーション」にキーを貼るだけで使えます。
Q. reCAPTCHAとTurnstileは同時に使えますか?
おすすめしません。
どちらもスパム対策なので、片方で十分です。Turnstileに切り替えるときは、reCAPTCHAのキーを削除してから設定しましょう。
Q. フォームごとにTurnstileのオン・オフを切り替えられますか?
Contact Form 7の標準機能では、キーを登録するとすべてのフォームに自動で追加されます。
表示する位置は [turnstile] タグで変えられます。
Q. 複数のWordPressサイトで同じキーを使えますか?
使えます。
1つのウィジェットに複数のホスト名(無料プランでは10個まで)を登録すれば、同じキーを使い回せます。
ただし、サイトごとに分けておくと、管理画面で送信の状況をサイト別に確認しやすくなります。
まとめ:守りたいフォームに合わせて方法を選ぼう
WordPressでCloudflare Turnstileを使う方法は、守りたいフォームによって選びます。
- Contact Form 7だけ守る:Contact Form 7の標準機能で、キーを貼るだけ
- ログイン画面やコメント欄も守る:プラグイン「Simple CAPTCHA with Cloudflare Turnstile」を追加
- 両方使うとき:Contact Form 7の保護はどちらか一方だけにする
- ログイン画面を守るとき:別のブラウザでログインできることを必ず確認する
reCAPTCHAの無料枠が小さくなった今、Turnstileは無料で長く使えるスパム対策です。
お問い合わせフォームを守るために、ぜひ設定してみてください。

WordPress総合ガイド
導入から画面の見方、操作方法の基本まで、応用も含めた
WordPressに関する情報は、こちらの一覧から見れます。




