Cloudflare TurnstileとreCAPTCHAの違い|WordPressの迷惑送信対策を比較

WordPress

WordPressの問い合わせフォームに迷惑送信が増え、「Cloudflare TurnstileとreCAPTCHAのどちらを使えばよいのだろう」と迷っていませんか。どちらも自動送信を減らすための仕組みですが、料金の考え方、利用者に見える画面、設定方法、導入後の運用に違いがあります。

結論から言うと、個人ブログや小規模な企業サイトで、訪問者の操作負担をできるだけ抑えながらフォームを守りたい場合は、Turnstileが第一候補になりやすいです。一方、すでにreCAPTCHAを安定運用しているサイトや、Google Cloud上でリスク判定を使った高度な対策まで行いたい場合は、reCAPTCHAを継続する理由があります。

ただし、サービス名だけで決めると失敗します。WordPressでは、利用中のフォームプラグインがどの方式に対応しているか、送信時にサーバー側で検証されるか、キャッシュや最適化機能と競合しないかまで確認する必要があります。この記事では、初心者でも選択と導入判断ができるように、違いと確認手順を整理します。

Cloudflare TurnstileとreCAPTCHAは何をする仕組みか

TurnstileとreCAPTCHAは、フォームを送信しようとしている相手が通常の利用者か、自動化されたボットである可能性が高いかを判断するための仕組みです。問い合わせフォーム、会員登録、ログイン、コメント投稿など、外部から情報が送られる場所に設置します。

この仕組みの目的は、迷惑メールを一通も受け取らない状態を保証することではありません。大量の自動送信を減らし、サイト運営者が確認しなければならない不要な通知や、不正ログインの試行を抑えることが中心です。人が手作業で送る営業メッセージや、巧妙に作られた攻撃まで完全に止められるとは限りません。

どちらも、ブラウザ側で発行したトークンをサーバー側で検証する設計が基本です。画面に部品を表示しただけでは十分ではありません。フォーム送信を受け取るWordPress側が、そのトークンが正しいか、有効期限内か、想定したサイトで発行されたものかを確認して初めて防御として機能します。

Cloudflare Turnstileの特徴

TurnstileはCloudflareが提供するボット対策サービスです。CloudflareのCDNを使っていないサイトでも単独で利用できます。公式ドキュメントでは、Managed、Non-Interactive、Invisibleという表示方式が用意され、Managedが推奨されています。Managedでは、訪問者のリスクに応じて、何も操作させない確認とチェックボックスを自動的に切り替えます。

画像の中から信号機や横断歩道を選ばせる形式ではなく、必要な場合でもチェックボックスによる確認が中心です。多くの通常利用者に余計な操作を求めにくいため、問い合わせ直前の離脱を減らしたいサイトと相性があります。

Turnstileには無料プランがあり、個人サイトやブログ、中小規模の事業サイトなどで利用できます。2026年10月20日に確認した無料範囲は、次のとおりです。

  • 検証リクエスト数:上限なし
  • ウィジェット数:1アカウントにつき最大20個
  • 登録できるホスト名:1ウィジェットにつき最大10個

ウィジェットは、サイトに設置する認証の仕組みを管理する単位です。ホスト名は、その仕組みを使うサイトの名前を指します。検証回数が無制限でも、管理できる設定や登録先の数まで無制限という意味ではありません。

無料範囲やEnterpriseプランとの違いは、導入前にCloudflare公式のTurnstileプランで確認してください。

また、Turnstile自体の料金と、WordPress側の対応プラグインや設定・動作確認にかかる費用は分けて考えましょう。利用中のフォームがTurnstileに対応しているかも、先に確認します。

reCAPTCHAの特徴

reCAPTCHAはGoogle Cloudが提供する不正利用対策サービスです。Webサイト向けには、操作を求めずリスクスコアを返す方式、チェックボックス方式、設定した基準に応じてチャレンジを出す方式などがあります。Googleは現在、一般的なWebサイトではスコア方式を推奨し、チェックボックス方式は操作負担が増える割に精度向上が大きくないとして、原則として推奨していません。

reCAPTCHAの強みは、単純なフォーム保護だけでなく、スコアに応じて送信を許可する、追加確認へ回す、保留にする、アクセス頻度を制限するといった段階的な判断を組み立てられる点です。上位プランでは、アカウント乗っ取り、パスワード漏えい、SMSや取引に関する不正対策など、企業向けの機能も利用できます。

料金は月間の評価回数とプランで変わります。公式の料金案内では、Essentialsは組織全体で月1万件まで無料です。Premiumは月1万件までは無料、1万1件から10万件までは月額8米ドル、10万件を超える分は1,000件あたり1米ドルと案内されています。料金や無料枠は変更される可能性があるため、導入時には公式ページで再確認してください。

比較するときに見るべき違い

「無料だから」「有名だから」という一つの理由だけで選ぶと、フォームの利用体験や運用負担に合わないことがあります。WordPressサイトでは、次の観点を順番に比較すると判断しやすくなります。

料金と利用量の考え方

小規模サイトでは両方とも無料で始められる場合が多いものの、無料の条件が異なります。Turnstileの無料プランは検証リクエスト数が無制限とされていますが、ウィジェット数や登録できるホスト名数には上限があります。reCAPTCHA Essentialsの無料枠は組織単位の月1万評価です。複数サイトや複数環境を同じGoogle Cloud組織で運用すると、合算される点に注意が必要です。

問い合わせが月に数十件しかないサイトでも、フォーム表示や送信方法、保護する画面の数によって評価回数は増えます。公開フォームだけでなく、ログイン、会員登録、パスワード再発行、コメント、購入手続きなどに設置するなら、保護対象を一覧にしてから見積もりましょう。

費用だけを見るとTurnstileが分かりやすい一方、reCAPTCHAの上位機能を不正検知やアカウント防御に活用するサイトでは、評価データと運用機能に費用を払う意味があります。単なる迷惑送信対策なのか、事業上の不正リスクまで管理したいのかを先に分けることが大切です。

訪問者の操作負担

問い合わせフォームは、送信ボタンの直前まで来た利用者が離脱しやすい場所です。画像選択、何度も続く確認、分かりにくいエラーは、正規の問い合わせまで減らす原因になります。特にスマートフォン、高齢者、視覚や認知に特性のある利用者、通信環境が不安定な利用者への影響を考える必要があります。

TurnstileのManaged方式は、通常は利用者の操作を減らし、必要な場合だけチェックボックスを表示します。Non-Interactiveは確認中であることを表示しながら操作を求めず、Invisibleは画面上にウィジェットを表示しません。サイトのデザインを優先するだけならInvisibleが魅力的に見えますが、失敗時の案内や再試行方法が利用者に伝わるかも確認しましょう。

reCAPTCHAでは、スコア方式なら通常の利用者に操作を求めずに判定できます。チェックボックス方式は分かりやすい反面、状況によって画像チャレンジが表示されることがあります。Googleの公式資料も、操作負担とアクセシビリティを重視する用途ではスコア方式を候補にしています。

判定結果の使い方

Turnstileを一般的なWordPressプラグイン経由で使う場合、検証が成功したら送信を許可し、失敗したら拒否するという二択の運用が中心です。設定が単純で、個人ブログや会社案内サイトには十分なことが多いです。

reCAPTCHAのスコア方式は、リスクの高低を数値として受け取り、サイト側で対応を変えられます。ただし、WordPressプラグインがスコア閾値やアクション名の確認に対応していなければ、その強みを十分に生かせません。高度な判定を使うには、実装だけでなく、誤判定の確認、しきい値の調整、保留データの扱いまで運用設計が必要です。

小規模サイトでは、複雑な機能が多いほど安全とは限りません。設定内容を理解できず、更新後も検証できない仕組みは、障害の原因を増やします。担当者が無理なく確認できる範囲を選ぶこともセキュリティ対策の一部です。

プライバシーと表示方針

外部のボット判定サービスを読み込むと、訪問者のブラウザはサービス提供者のドメインと通信します。どのデータが処理されるか、サイトのプライバシーポリシーに追記が必要か、同意管理の対象になるかは、サイトの対象地域や事業内容によって判断が変わります。

Cloudflareは、Turnstileがセキュリティ機能の提供に必要なデータだけを処理し、フォーム入力内容や利用者間の通信を読み取ったり保存したりしないと説明しています。一方で、実際のサイト運営者は、自分の設定、併用するアクセス解析、フォーム保存、メール配信なども含めて説明する必要があります。

reCAPTCHAを使う場合も、Googleが提供するサービスをフォーム上で利用していることや、適用されるプライバシーポリシーと利用規約を利用者に分かる形で案内する必要があります。プラグインの表示を消すことだけを優先せず、利用者が外部サービスの利用を理解できるかを確認しましょう。

WordPressとの組み合わせやすさ

WordPressでの導入難易度は、サービスそのものより、現在使っているフォームや会員機能との対応状況に左右されます。お問い合わせフォームだけ守れても、ログイン画面やコメント欄、パスワード再発行が無防備なら、期待した範囲を守れません。

プラグインを選ぶときは、対応画面を具体的に確認してください。「WordPress対応」という説明だけでは不十分です。利用中のフォームプラグイン名とバージョン、ブロックエディターやショートコードへの対応、複数フォームでの動作、マルチサイト対応、WooCommerceや会員プラグインとの連携を確認します。

テーマ側の独自フォームや、制作会社が組んだカスタムフォームでは、汎用プラグインを入れただけでは保護できないことがあります。その場合は、フォームを出力する処理への組み込みと、送信処理の直前でのサーバー側検証が必要です。対応範囲が読めないときは、サイトの制作者に確認した方が安全です。

どちらを選ぶとよいか

Turnstileが向いているサイト

次の条件が多いほど、Turnstileを第一候補にしやすくなります。

  • 個人ブログ、店舗サイト、小規模な会社案内サイトである
  • 問い合わせフォームの迷惑送信を減らすことが主な目的である
  • 画像選択などの操作をできるだけ利用者に求めたくない
  • 月間評価回数を気にせず、分かりやすい料金条件で始めたい
  • フォーム、ログイン、コメントなど必要な画面に対応するWordPressプラグインが確認できた
  • 高度なスコア分析より、成功・失敗を中心とした単純な運用を望んでいる

CloudflareをDNSやCDNとして使っていなくてもTurnstileは利用できます。「サイト全体をCloudflareへ移さないと使えない」という理解は誤りです。無料プランでも本番サイトを対象にできますが、登録ホスト名やウィジェット数、分析期間などの上限は確認しておきましょう。

reCAPTCHAが向いているサイト

次の条件が多い場合は、reCAPTCHAを選ぶ、または現在の設定を継続する合理性があります。

  • すでにreCAPTCHAが問題なく動作し、迷惑送信も十分に抑えられている
  • 利用中のフォームや会員システムがreCAPTCHAに正式対応している
  • スコアに応じて許可、保留、追加認証、制限を切り替えたい
  • Google Cloud上でアカウント防御や不正取引対策までまとめて管理したい
  • 月間評価数を把握し、請求設定や予算を管理できる
  • 誤判定を確認し、しきい値を調整できる担当者がいる

現在reCAPTCHA v2を利用していて、訪問者の操作負担や料金条件を見直したい場合は、Turnstileへの移行も候補です。CloudflareはreCAPTCHA v2互換モードと移行手順を公開しています。ただし、WordPressプラグイン経由の導入では、互換モードを自分で使うより、プラグインが正式に用意しているTurnstile連携へ切り替える方が保守しやすい場合があります。

迷ったときの現実的な判断

小規模なWordPressサイトで新規導入するなら、まずTurnstileのManaged方式を検証環境で試し、利用中のフォームを一通りテストする方法が現実的です。既存のreCAPTCHAが安定しているなら、単に新しいサービスへ変えるためだけに急いで移行する必要はありません。

判断の優先順位は、対応プラグインがあるか、サーバー側検証が行われるか、正規利用者が送信できるか、管理者が運用できるか、費用条件が合うかの順がおすすめです。見た目や知名度だけで先に決めると、実際の送信処理を守れないことがあります。

WordPressへ導入する前の確認事項

保護したい画面を洗い出す

最初に、サイト内で外部から情報を受け取る画面を一覧にします。問い合わせフォームだけでなく、コメント、ログイン、会員登録、パスワード再発行、レビュー、注文、予約、資料請求、採用応募などが対象です。

迷惑送信が発生している画面と、将来攻撃されると影響が大きい画面を分けましょう。すべての画面へ一度に導入するより、影響の大きいフォームから試し、動作確認後に広げた方が問題を切り分けやすくなります。

現在のフォーム構成を記録する

利用中のフォームプラグイン名、バージョン、フォームの識別名、通知先、確認画面の有無、送信後の移動先を記録します。テーマに直接書かれたフォームや外部サービスの埋め込みフォームがあれば、それも区別してください。

同じサイトに複数のフォーム機能が混在していることもあります。問い合わせはフォームプラグイン、コメントはWordPress標準、会員登録は別プラグインという構成では、それぞれに対応方法が必要です。一つの設定ですべて守られると決めつけないでください。

サイトキーと秘密鍵を安全に扱う

TurnstileもreCAPTCHAも、ブラウザに表示してよいサイトキーと、サーバー側だけで扱う秘密情報を使います。サイトキーはHTMLに含まれますが、秘密鍵は公開ページ、記事、画面キャプチャ、共有資料へ載せてはいけません。

制作会社へ設定を依頼する場合は、必要な権限だけを付与し、作業後に不要な管理者アカウントを残さないようにします。メールやチャットに秘密鍵を長期間残す運用も避け、可能なら管理画面上で依頼先が設定できる方法を選びます。

ドメインと環境を分ける

本番サイトと検証サイトで同じキーを使うと、分析結果が混ざり、設定変更の影響範囲も分かりにくくなります。可能なら本番用と検証用のウィジェットやキーを分けます。登録するホスト名には、wwwの有無、サブドメイン、検証環境を含めるかを確認してください。

Cloudflareはテスト用のサイトキーと秘密鍵を用意しています。自動テストや開発環境で本番用キーを使わず、成功、失敗、対話が必要な場合を再現できます。本番公開前にエラー表示も確認しておくと、障害時に利用者が行き止まりになるのを防げます。

導入時に失敗しやすいポイント

画面表示だけで導入完了と判断する

最も危険なのは、チェックボックスや確認表示が見えたため、対策が完了したと思うことです。Cloudflareの公式ドキュメントは、Turnstileのサーバー側検証を必須と明記しています。クライアント側のウィジェットだけでは、攻撃者がフォーム送信先へ直接リクエストを送り、表示を迂回できるためです。

reCAPTCHAも同様に、バックエンドでトークンを評価し、正しいアクションやホスト名などを確認する必要があります。WordPressプラグインを使うと処理が見えにくいため、公式の対応説明と更新履歴を読み、実際に無効な送信が拒否されるかをテストしてください。

二つの仕組みを同時に有効化する

移行時にTurnstileとreCAPTCHAを同じフォームへ同時に表示すると、JavaScriptの競合、送信失敗、表示速度低下、利用者の混乱が起きることがあります。切り替えるときは、検証環境で新しい仕組みを確認し、本番では対象フォームごとに旧設定を無効化してから新設定を有効にします。

迷惑送信対策プラグイン、フォームプラグインの追加機能、テーマ機能、CDNのボット対策が重複している場合もあります。どの層で何を防いでいるかを整理し、同じ目的の機能を重ね過ぎないようにします。

キャッシュやJavaScript最適化を見落とす

キャッシュ、JavaScriptの遅延読み込み、結合、圧縮、同意管理ツールは、ウィジェットの読み込み時期を変えることがあります。管理者でログインしているとキャッシュが除外され、問題に気づかない場合もあります。

動作確認は、ログアウトした状態、シークレットウィンドウ、スマートフォン、主要なブラウザで行います。広告ブロックや厳しい追跡防止設定を使った場合、Cookie同意前後、ページを長時間開いた後の送信も確認すると安心です。

正常な問い合わせまで拒否する

防御を強くし過ぎると、正規利用者の問い合わせを失います。reCAPTCHAのスコア閾値を厳しくする場合は、いきなり完全拒否せず、低スコアの送信を保留にする、追加確認を出す、管理者へ別の印を付けて通知するといった段階的な運用を検討します。

Turnstileでも、トークン期限切れ、二重送信、ネットワークエラー、ブラウザの制限によって検証が失敗することがあります。利用者に「送信できません」だけを表示せず、再読み込み、再試行、別の連絡手段を案内できるようにします。

導入後に効果を確認しない

導入後は、迷惑送信件数だけでなく、正常な問い合わせ件数、フォーム到達数、送信完了率、エラー報告、メール不達も確認します。迷惑送信が減っても、問い合わせ全体が同時に減っていれば、正規利用者を妨げている可能性があります。

問い合わせ内容は個人情報を含むため、効果測定のために本文を不用意に分析ツールへ送らないでください。件数、成功・失敗、エラーコードなど、必要最小限の情報で判断します。

安全な導入と切り替えの進め方

現状を記録してバックアップする

変更前に、フォーム設定、通知メール設定、現在のreCAPTCHAや迷惑送信対策の設定、利用中プラグイン一覧を記録します。サイト全体のバックアップも取得し、戻し方を確認します。設定画面のスクリーンショットを残す場合は、秘密鍵が写らないように注意してください。

検証環境で一つのフォームから試す

本番サイトへいきなり導入せず、検証環境または影響の小さいフォームで試します。通常の送信、必須項目不足、短時間の連続送信、確認に失敗した場合、ページを長時間開いた場合、戻る操作、二重クリックなどを確認します。

フォーム送信後にメール通知とデータ保存の両方を行う場合は、両方が正常か確認します。画面上は完了しても通知メールだけ届かないことがあるため、受信箱、迷惑メールフォルダ、フォーム内の保存データを照合します。

本番へ反映して監視する

アクセスの少ない時間帯に反映し、キャッシュを必要な範囲だけ削除します。公開直後にログアウト状態で送信し、フォーム画面、完了画面、通知メール、保存データを確認します。変更したプラグイン、設定、時刻、担当者、確認結果を記録しておくと、問題が起きた際に戻しやすくなります。

導入後数日は、エラー件数と問い合わせ件数を毎日確認します。その後もWordPress、フォームプラグイン、迷惑送信対策プラグインの更新後には再テストします。外部サービスの仕様や無料枠も変わるため、年に一度は公式情報を確認しましょう。

制作会社や保守担当へ依頼した方がよいケース

プラグインの標準連携だけで導入でき、検証環境があり、自分で送信テストと復元ができるなら、サイト運営者が対応できる場合があります。一方、次のような場合は、フォームの実装を理解している制作者や保守担当へ依頼した方が安全です。

  • 独自開発のフォームや会員機能を使っている
  • 問い合わせが売上や予約に直結し、送信停止の影響が大きい
  • WooCommerce、決済、会員登録など複数の処理と連動している
  • reCAPTCHAのスコアに応じた分岐やログ分析を行いたい
  • キャッシュ、CDN、JavaScript最適化との競合が疑われる
  • プライバシー表示や同意管理を含めた判断が必要である
  • 検証環境やバックアップからの復元手順がない

依頼時は、「Turnstileを入れてほしい」とサービス名だけ伝えるより、守りたい画面、現在の迷惑送信件数、利用中のフォーム、許容できる操作負担、公開希望日を伝えます。見積もりには、初期設定だけでなく、検証、エラー時の戻し方、更新後の確認、プライバシーポリシーの修正範囲が含まれるか確認してください。

導入後のチェックリスト

  • 対象フォームで通常の送信が完了する
  • 無効または期限切れのトークンがサーバー側で拒否される
  • フォームの通知メールと保存データが一致する
  • スマートフォンと主要ブラウザで表示が崩れない
  • Cookie同意前後や追跡防止設定でも案内が分かる
  • キャッシュを有効にした状態でも繰り返し送信できる
  • エラー時に再試行方法と代替連絡先が表示される
  • 秘密鍵がページ、ログ、共有資料に露出していない
  • プライバシーポリシーやフォーム付近の案内を確認した
  • 導入前後の迷惑送信数と正常問い合わせ数を比較できる

よくある疑問

Turnstileを使うにはCloudflareへDNSを移す必要がありますか

必要ありません。TurnstileはCloudflareのCDNやDNSとは独立して利用できるサービスです。現在のレンタルサーバーやDNS設定を変えずに、Cloudflareアカウントでウィジェットを作成し、対応するWordPressプラグインへサイトキーと秘密鍵を設定できます。DNS変更を求める説明がある場合は、Turnstileではなく別のCloudflare機能を同時に導入しようとしていないか確認してください。

Turnstileに変えれば迷惑送信対策プラグインは不要ですか

必ずしも不要にはなりません。Turnstileは主に自動化された送信を見分ける役割を持ちますが、送信内容の禁止語句、短時間の大量送信、特定IPの制限、コメント承認、メール側の迷惑判定などは別の層の対策です。ただし、似た機能を持つプラグインを何個も重ねると、正常な送信まで止めたり、障害原因を追いにくくしたりします。各機能の役割を一覧にし、重複するものは検証後に整理してください。

reCAPTCHAから切り替えると検索順位へ影響しますか

切り替え自体が直接検索順位を上げ下げするものではありません。ただし、フォームがあるページの表示速度、JavaScriptエラー、レイアウトのずれ、利用者が送信を完了できるかは、サイト体験に影響します。変更前後でページ表示と送信完了を確認し、不要になったreCAPTCHAのスクリプトが残っていないかも調べましょう。古いスクリプトと新しいウィジェットを二重に読み込むと、切り替えの利点を感じにくくなります。

無料枠を超えそうなときはどう判断しますか

まず保護対象ごとの評価回数を把握します。通常の問い合わせフォームだけでなく、ログインや会員登録に広く設置していると、想定より早く回数が増えることがあります。Turnstileは無料プランの検証回数が無制限と案内されていますが、ウィジェット数やホスト名数など別の制限があります。reCAPTCHAは組織単位の無料枠と課金条件を確認し、複数サイトの利用量を合算して予算を決めます。料金だけでなく、移行テスト、保守担当の作業、障害時の対応にかかる時間も比較してください。

まとめ

Cloudflare TurnstileとreCAPTCHAは、どちらもWordPressのフォームやログイン画面を自動送信から守るための選択肢です。小規模サイトで新しく導入し、利用者の操作負担と料金の分かりやすさを重視するなら、Turnstileが有力です。既存のreCAPTCHA連携が安定している場合や、スコアを使った高度な不正対策まで必要な場合は、reCAPTCHAを選ぶ理由があります。

重要なのは、ウィジェットを表示することではなく、WordPress側でトークンを検証し、正常な問い合わせが届くことを確認することです。対応プラグイン、保護対象、サーバー側検証、エラー時の案内、導入後の監視までを一つの作業として考えましょう。

まずは現在のフォーム構成と迷惑送信の発生場所を整理し、検証環境で一つのフォームから試してください。問い合わせが事業に直結するサイトや独自フォームでは、切り替えによる送信停止を避けるため、制作者や保守担当へ相談するのが安全です。

参考にした公式情報