PR

WordPressでCloudflare Turnstileを使う方法|Contact Form 7とプラグインの設定手順

WordPressでCloudflare Turnstileを使う方法 WordPress

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 を選択してください。

引用:Cloudflare 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公式サイト

  1. Cloudflareに無料で会員登録する
  2. 管理画面の「Turnstile」で「ウィジェットを追加」をクリックする
  3. ウィジェット名を入力し、ホスト名にWordPressサイトのドメイン(例:example.com)を登録する
  4. ウィジェットモードは「管理対象」のまま「作成」をクリックする
  5. 表示されたサイトキーとシークレットキーを控えておく

画面付きの詳しい手順は、こちらの記事で解説しています。

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の管理画面の左メニューから「お問い合わせ」→「インテグレーション」を開きます。

contactform7_menu
WordPress

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

contactform7 reCAPTCHA
WordPress

「キーを削除」ボタンをクリックし、reCAPTCHAのキーを削除します。

画面が切り替わり、キーの入力欄が空白になっていれば完了です。

最後に「変更を保存」をクリックします。

reCAPTCHAのキーを発行したGoogle Cloud側の設定は、すぐに消さなくても大丈夫です。

Turnstileでしばらく問題なく使えることを確認してから、不要であれば削除しましょう。

STEP2:Turnstileのキーを登録する

次に、「Turnstile」の登録を行います。

WordPressダッシュボード・画面左側のメニュから「お問い合わせ」→「インテグレーション」を開きます。

contactform7_menu
WordPress

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

contact form7 Turnstile
WordPress

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

サイトキーとシークレットキーの入力欄がありますので、先ほど作成したキーをそれぞれコピー&ペーストで貼り付け、変更を保存します。

画面が戻り「Turnstile はこのサイト上で有効化されています。」とチェックつきメッセージが表示されるのを確認します。

次に、サイトのお問い合わせフォームのページを開きます。

以下のように、Cloudflareが表示されていればOKです。

contact form7_Turnstile form view

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:プラグインをインストールする

  1. WordPressの管理画面の左メニューから「プラグイン」→「新規プラグインを追加」をクリックする
  2. 検索欄に「Cloudflare Turnstile」と入力する
  3. 「Simple CAPTCHA with Cloudflare Turnstile」の「今すぐインストール」をクリックする
  4. インストールが終わったら「有効化」をクリックする

※このプラグインは、2025年9月までは「Simple Cloudflare Turnstile」、その後は「Simple CAPTCHA Alternative with Cloudflare Turnstile」という名前でした。古い名前で紹介している記事もあるので、作者名(Elliot Sowersby / RelyWP)で見分けると確実です。

STEP2:キーを入力する

  1. 左メニューの「設定」→「Cloudflare Turnstile」を開く
  2. 「サイトキー」と「シークレットキー」の欄に、Cloudflareで発行したキーを貼り付ける
  3. 「変更を保存」をクリックする

STEP3:「TEST API RESPONSE」でテストする

キーを保存すると、設定画面にテスト用のウィジェットと「TEST API RESPONSE」ボタンが表示されます。

ボタンをクリックして、成功のメッセージが出ることを確認してください。

このテストに成功するまで、プラグインのTurnstileはどのフォームにも表示されません。

キーを入力しても表示されないときは、まずこのテストが済んでいるかを確認しましょう。

STEP4:守るフォームを選ぶ

設定画面で、Turnstileを付けたいフォームにチェックを入れて「変更を保存」をクリックします。

  • WordPressのログイン
  • WordPressのユーザー登録
  • WordPressのパスワードリセット
  • WordPressのコメント

方法1でContact Form 7を設定している場合は、このプラグインのContact Form 7の項目にはチェックを入れないでください。

二重に表示される原因になります。

ログイン画面を守るときの注意

ログイン画面にTurnstileを付けると、設定ミスや不具合があったときに、自分も管理画面に入れなくなることがあります。設定したら、次の手順で確認しましょう。

  1. ログインしたまま、別のブラウザ(またはシークレットウィンドウ)でログイン画面を開く
  2. Turnstileが表示され、ログインできることを確認する
  3. 問題がなければ、元のブラウザでもログアウトしてOK

万一ログインできなくなったときは、FTPやサーバーのファイルマネージャーで「wp-content/plugins/」の中の「simple-cloudflare-turnstile」フォルダの名前を一時的に変えると、プラグインが止まり、ログインできるようになります。

また、設定画面の「Whitelist」でログイン中のユーザーにはTurnstileを表示しないようにしたり、Cloudflareに障害があったときに送信を通す「Failsafe Mode」を使ったりすることもできます。

動作確認とトラブル対処

動作確認のチェックリスト

  • お問い合わせフォームに、Cloudflareのウィジェットが1つだけ表示されている
  • テスト送信して、メールが正常に届く
  • (方法2を使う場合)ログイン画面やコメント欄にもウィジェットが表示されている
  • (ログイン画面を守る場合)別のブラウザでログインできる
  • スマホでも表示と送信ができる

よくあるトラブルと対処法

症状考えられる原因対処法
ウィジェットが表示されないキーの貼り間違い、ホスト名の登録漏れキーを貼り直す。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_navi

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

タイトルとURLをコピーしました