Cloudflare TurnstileをWordPressに導入する方法|reCAPTCHAからの乗り換え手順

Cloudflare Turnstileは、画像認証を出さずにボットを判別できる無料のスパム対策ツールです。reCAPTCHAのように「信号機の写真を選ぶ」操作が不要なため、問い合わせフォームの離脱を減らしながらスパムを防げます。この記事では、reCAPTCHAとの違いを整理したうえで、キーの発行からフォーム別の設定、動かないときの対処までを手順に分けて解説します。

目次

Cloudflare Turnstileとは|画像認証なしでボットを弾く

red padlock on black computer keyboard
Photo by FlyD on Unsplash

Cloudflare Turnstileとは、Cloudflareが提供する、人間とボットを区別するためのスパム対策ツールです。フォームに設置すると、訪問者のブラウザ情報や行動パターンを裏側で解析し、人間かどうかを自動で判定します。

訪問者から見た動き

訪問者側は、チェックボックスに軽く触れるか、あるいは何もしないうちに認証が終わります。文字を読み取る、写真を選ぶといった作業は発生しません。フォームを埋めて送信ボタンを押す、という通常の流れがそのまま維持されます。

なぜ「見えない認証」が必要なのか

従来のCAPTCHAが抱えていた問題は、対策を強めるほど正規の訪問者に手間をかけてしまう点でした。文字が読み取れない、写真の選択に失敗して何度もやり直す。こうした体験は、そのまま問い合わせの取りこぼしになります。特に高齢の利用者や、スマートフォンの小さな画面で操作している人にとっては負担が大きく、そこで離脱されると対策の意味がありません。

どんなサイトに向いているか

問い合わせフォームからのスパムに悩んでいるサイト全般に向いています。特に、reCAPTCHAのバッジがデザインの邪魔になっている、無料枠の上限が気になる、高齢の利用者が多く画像認証で離脱されている、といった課題があるサイトでは乗り換える価値が大きくなります。

reCAPTCHAとの違いと、乗り換えが増えている理由

項目Google reCAPTCHACloudflare Turnstile
費用月1万回を超えると有料プランへの移行が必要基本無料
訪問者の操作画像認証を求められる場合があるほぼ操作不要
データの扱い広告目的での利用がありうるボット検出のみに使用
バッジ表示右下に常時表示(消すには条件あり)モードにより非表示にできる
導入の前提GoogleアカウントCloudflareアカウント(DNS移管は不要)

理由1|無料枠が変わった

乗り換えが増えている最大の理由は費用です。reCAPTCHAはかつて月100万回まで無料でしたが、現在は月1万回を超えると有料プランへの移行が求められます(2026年9月時点。最新の条件は公式でご確認ください)。アクセスの多いサイトでは、無料のつもりで使っていたものが課金対象になる可能性があります。

理由2|バッジを勝手に消せない

reCAPTCHAは規約上、バッジを単純に非表示にすることが認められていません。デザイン上どうしても邪魔になるケースは多く、この点で悩んだ経験がある方は、reCAPTCHAバッジを規約違反せず非表示にする正しい方法もあわせてご覧ください。

理由3|訪問者の負担が小さい

画像認証を経験した訪問者が「面倒だから電話にしよう」あるいは「他社にしよう」と離れるリスクは、実際の問い合わせ数に効いてきます。摩擦が小さいほど、フォームは本来の役割を果たします。

ウィジェットの3つのモード

Turnstileはキーを発行するときに、表示方法を3つから選びます。ここの選択でユーザー体験が変わるので、意味を理解して選んでください。

管理対象(Managed)|迷ったらこれ

既定値です。通常は操作不要で通過し、追加の確認が必要と判断されたときだけチェックボックスを表示します。判定の精度と体験のバランスが取れているため、特別な理由がなければこれを選びます。

非インタラクティブ|操作は完全に不要

訪問者の操作は一切不要で、読み込み中のバーだけが表示されます。「認証中である」ことは見えるので、送信までに少し時間がかかっても不審に思われません。

非表示|完全に裏側で判定

画面には何も出ません。デザインを一切崩したくない場合に選びますが、動作確認がしづらくなります。「認証ボックスが表示されない」という相談の原因が、このモードを選んでいただけ、というケースは珍しくありません。まずは管理対象で設置して動きを確かめ、問題がなければ非表示に切り替えるのが安全です。

導入手順|キーの発行からフォーム設置まで

person using MacBook Pro
Photo by Glenn Carstens-Peters on Unsplash

ステップ1|Cloudflareにアカウントを作る

公式サイトから登録します。ここで多い誤解ですが、サイトのDNSをCloudflareに移す必要はありません。今使っているサーバーやネームサーバーの設定はそのままで、Turnstileだけを利用できます。

ステップ2|ウィジェットを作成する

管理画面のTurnstileからウィジェットを追加します。入力するのは、識別用のウィジェット名と、対象のドメイン(ホスト名)です。ドメインは実際に設置するサイトのものを正確に入れてください。ここが違うと認証が通りません。

ステップ3|モードを選んでキーを取得する

前述の3モードから選択して作成すると、サイトキーシークレットキーが発行されます。シークレットキーは外部に公開してはいけない情報なので、扱いに注意してください。

ステップ4|WordPressにプラグインを入れる

「Simple CAPTCHA with Cloudflare Turnstile」をインストールして有効化します。Contact Form 7しか使わない場合は、プラグインを入れずに「お問い合わせ > インテグレーション」からキーを入力する方法もありますが、ログイン画面やコメント欄も守りたいならプラグインを使うほうが早いです。

ステップ5|キーを入力して保護対象を選ぶ

プラグインの設定画面にサイトキーとシークレットキーを入力し、保護したい箇所(ログイン、コメント、各フォームなど)にチェックを入れます。最初から全部オンにせず、まずは問い合わせフォームだけで動作を確認するのがおすすめです。

ステップ6|実際に送信してテストする

自分でフォームから送信し、メールが届くかを確認します。PCとスマートフォン、可能なら別のブラウザでも試してください。ここを省くと、「スパムは止まったが問い合わせも届かない」状態に気づけません。

ステップ7|reCAPTCHAを解除する

以前からreCAPTCHAを使っていた場合は、設定からキーを削除します。両方を有効にしたままだと、認証が二重になって訪問者の負担が増えるうえ、スクリプトが競合して送信できなくなることがあります。Turnstileの動作を確認してから解除する、という順番で行ってください。

フォーム別の設定方法

closeup of mail app icon on phone
Photo by Brett Jordan on Unsplash

使っているフォームによって設定場所が変わります。代表的なものを挙げます。

Contact Form 7の場合

プラグインの設定で対象にチェックを入れたうえで、フォームの編集画面にショートコード [cf7-simple-turnstile] を追加すると、その位置にウィジェットが表示されます。送信ボタンの直前に置くのが一般的です。全フォームに一括適用する設定もあるので、フォームが多いサイトではそちらを使うと手間が減ります。

WPForms・Fluent Forms・Gravity Formsの場合

いずれもプラグインが対応しているため、設定画面で対象をオンにするだけで有効になります。フォーム側にショートコードを置く必要はありません。

Elementor Pro Formsの場合

こちらも対応しています。ページビルダーで作ったフォームは構造が独特なため、設定後は必ず実機で表示と送信を確認してください。

ログイン画面・パスワードリセットの場合

プラグインの設定でオンにすると、WordPressのログイン画面にもウィジェットが表示されます。総当たり攻撃への対策として有効ですが、自分がログインできなくなると復旧が面倒なので、有効化した直後にシークレットウィンドウでログインを試しておくと安心です。

コメント欄の場合

コメントスパムが多いブログでは、コメント欄への適用が効きます。ログイン済みユーザーを除外する設定もあるので、会員サイトでは併用してください。

WooCommerceの場合

購入手続き、注文支払い、アカウント登録などに適用できます。ただし決済フローに認証を挟むことになるため、テスト注文で最後まで通ることを必ず確認してください。

プラグインで守れる範囲

「Simple CAPTCHA with Cloudflare Turnstile」は有効インストール数20万件以上、評価4.7(253件のレビュー)と実績のあるプラグインです。対応範囲が広く、問い合わせフォーム以外も一括で守れるのが利点です。

対象保護できる箇所
WordPress本体ログイン、ユーザー登録、パスワードリセット、コメント
WooCommerce購入手続き、注文支払い、アカウント情報、ログイン、登録、パスワードリセット
フォーム系Contact Form 7、WPForms、Fluent Forms、Gravity Forms、Forminator、Elementor Pro Forms、Jetpack Forms ほか
会員系MemberPress、Ultimate Member、Paid Memberships Pro、bbPress、BuddyPress ほか
メール配信系Mailchimp for WordPress、MailPoet

設定画面ではテーマや言語のほか、IPアドレスやユーザーエージェント、ログイン済みユーザーをホワイトリストに登録する機能、エラーメッセージの変更、フェイルセーフモード、デバッグログなども用意されています。

うまく動かないときの対処

症状1|認証ボックスが表示されない

まずウィジェットのモードが「非表示」になっていないかを確認します。次にサイトキー・シークレットキーの入力ミス、そしてドメイン(ホスト名)の登録漏れです。キャッシュ系プラグインを使っている場合は、キャッシュをクリアして再確認してください。

症状2|送信するとエラーになる

シークレットキーが間違っている、またはページのキャッシュが古くトークンの有効期限が切れている可能性があります。ページキャッシュを無効にした状態で試すと切り分けられます。

症状3|reCAPTCHAと二重に表示される

reCAPTCHA側のキーが残っています。Contact Form 7のインテグレーション設定など、複数箇所に設定が残っていることがあるため、すべて確認して削除してください。

症状4|スマートフォンだけ動かない

モバイル用のキャッシュやAMPなど、PCとは別の仕組みが動いていないかを確認します。テーマによってはモバイル専用のテンプレートが使われていることもあります。

症状5|自分がログインできなくなった

ログイン画面に適用した状態で不具合が出た場合は、FTPやサーバーのファイルマネージャーからプラグインのフォルダ名を変更すると、プラグインを無効化してログインできるようになります。この復旧手段は、適用前に把握しておいてください。

制作会社の視点|導入後に必ず確認していること

group of people using laptop computer
Photo by Annie Spratt on Unsplash

スパム対策の実装で怖いのは、スパムが減ったことより「正規の問い合わせが届かなくなっていること」に気づけない状態です。問い合わせが減っても、それが対策の効果なのか不具合なのかは、内側から見ているだけでは判別できません。

確認する3点

ひとつ目は、実際にフォームから自分で送信して受信できるかのテスト。ふたつ目は、スマートフォンと別ブラウザでの再テスト。3つ目は、キャッシュ系プラグインを使っている場合のキャッシュクリアです。キャッシュが残っていると、ウィジェットが表示されない、トークンが古くて弾かれるといった症状が出ます。

逃げ道を残しておく

誤検知でボット扱いされる正規の訪問者は、ゼロにはなりません。電話番号やメールアドレスをサイト上に併記しておけば、フォームが使えなかった人も連絡手段を失いません。対策を入れるときは、必ず逃げ道をセットで用意します。

1つの対策に頼らない

Turnstileを入れてもスパムがゼロになるわけではありません。ボット対策は多層で考えるのが基本で、フォームにはハニーポットを併用し、ログイン周りは2段階認証などの不正ログイン対策と組み合わせ、メールサーバー側でも迷惑メールの設定を入れておく。この構成が現実的です。

よくある質問(FAQ)

本当に無料で使えますか?

基本プランは無料で、個人サイトや中小企業のサイトであればほとんどの場合これで足ります。ウィジェットの数を増やしたい、分析データの保持期間を延ばしたいといった要件が出てきた場合に有料プランを検討します。

CloudflareにDNSを移す必要がありますか?

不要です。Turnstileはアカウントを作ってキーを発行するだけで使えます。今お使いのサーバーやDNSの設定を変える必要はありません。

認証ボックスが表示されません。

まずウィジェットのモードが「非表示」になっていないかを確認してください。次にサイトキー・シークレットキーの入力ミス、ドメインの登録漏れ、キャッシュの順で確認します。

正規のユーザーがボット判定されることはありますか?

可能性はあります。誤検知が起きたときに問い合わせ手段が完全に絶たれないよう、電話番号やメールアドレスをサイト上に併記しておくと安全です。

reCAPTCHAと併用してもいいですか?

おすすめしません。認証が二重になって訪問者の負担が増えるうえ、スクリプトの競合で送信できなくなることがあります。乗り換える場合は、Turnstileの動作を確認したうえでreCAPTCHA側のキーを削除してください。

複数のサイトで同じキーを使い回せますか?

ウィジェットにはホスト名を登録するため、サイトごとにウィジェットを作るのが基本です。管理しやすさの面でも、サイト単位で分けておくことをおすすめします。

導入するとページの表示速度は落ちますか?

外部スクリプトを読み込むため、まったく影響がないとは言えません。ただし体感できるほどの遅延は通常発生しません。気になる場合は、フォームのあるページだけに適用する設定を検討してください。

まとめ

Cloudflare Turnstileは、訪問者に手間をかけずにボットを弾ける無料のスパム対策です。導入はキーを発行してプラグインに入力するだけで、Contact Form 7ならショートコード1行で設置できます。導入後は必ず自分でフォームを送信してテストし、reCAPTCHAを使っていた場合は動作確認のうえで解除する。この2点さえ守れば、事故なく乗り換えられます。

スリーディープラスでは、フォームのスパム対策やWordPressのセキュリティ強化のご相談を承っています。「問い合わせフォームに迷惑メールが大量に届く」「対策を入れたが正しく動いているか不安」という場合は、お気軽にお問い合わせください。

最新情報をチェックしよう!

LET’S CONTACT

お問い合わせ

デザインと発信の力で、お客様の強みや想いを形にし、
成果につながるコンテンツを制作します。
「うちの場合はどうなる?」という段階からでも、どうぞお気軽にご相談ください。