reCAPTCHA v3 と Cloudflare Turnstile の違い|料金・プライバシー・実装・移行まで実務視点で比較
Webサイトのボット対策として広く使われてきたGoogle reCAPTCHAですが、2024年8月に無料枠が月100万回から月1万回へと大幅に縮小されました。あわせて、GDPRをはじめとするプライバシー規制への対応も、サイト運営者にとって無視できない論点になっています。
こうした背景から、代替サービスとしてCloudflare Turnstileへの移行を検討する企業が増えています。
この記事では、reCAPTCHA v3とCloudflare Turnstileについて、料金・プライバシー・仕組み・実装方法・障害時の設計まで、実務で判断に必要な情報を整理しました。「結局どちらを選べばいいのか」の判断材料としてお使いください。
reCAPTCHA v3とCloudflare Turnstileの概要
見出し
reCAPTCHA v3とは
Googleが提供するボット検出サービスで、ユーザーに画像選択などの操作を一切求めません。ページ上でのマウスの動き、スクロールパターン、キーボード入力の速度、ページ滞在時間、IPアドレス、ブラウザ情報といった複数のシグナルをバックグラウンドで分析し、Googleの機械学習アルゴリズムが「ボットか人間か」を総合判定します。
判定結果は0.0(ボットの可能性が高い)から1.0(人間の可能性が高い)までのスコアとして返されます。このスコアをどう使うかはサイト運営者の設計次第で、たとえば「0.7以上はそのまま通す」「0.3〜0.7は追加認証を挟む」「0.3未満はブロック」といった段階的な対応が可能です。
出典: reCAPTCHA v3 | Google for Developers
Cloudflare Turnstileとは
Cloudflareが提供するCAPTCHA代替サービスです。画像選択やテキスト入力といった従来型のチャレンジを排除し、Proof-of-Work(計算パズル)、Proof-of-Space、Web API検査、ブラウザ挙動分析といった複数の非対話型チャレンジをバックグラウンドで実行します。訪問者のリスクレベルに応じてチャレンジの難易度が自動調整される仕組みです。
CloudflareのCDNを利用していないサイトでも導入できる点は、導入検討時に見落としがちですが重要なポイントです。
出典: Cloudflare Turnstile Documentation
仕組みの違い
| 項目 | reCAPTCHA v3 | Cloudflare Turnstile |
|---|---|---|
| 判定方式 | 行動分析によるスコアリング(0.0〜1.0) | 複合チャレンジ(PoW・ブラウザ分析等) |
| ユーザー操作 | 不要(完全バックグラウンド) | ほぼ不要(まれにチェックボックス表示) |
| トークン有効期限 | 2分 | 5分(300秒) |
| 判定の柔軟性 | スコア閾値をサイト側で自由に設定 | 合格/不合格の二値判定 |
| 学習方式 | サイトの実トラフィックから学習(精度向上に時間が必要) | Cloudflare側の検知基盤を活用 |
reCAPTCHA v3のスコア設計
reCAPTCHA v3の強みは、スコアに応じた段階的な対応ができる点にあります。たとえばECサイトであれば、商品閲覧は緩く、カート追加で少し厳しく、決済時は最も厳しくといった設計が可能です。
ただし、この柔軟性には裏返しもあります。閾値をどこに設定するか、アクションごとにどう分けるかなど、運用設計にそれなりの工数がかかります。また、導入直後やステージング環境ではサイト固有の学習データが不足するため、スコアの精度が安定しないことがある点にも注意が必要です。
Cloudflare Turnstileの判定モード
Turnstileには3つのウィジェットモードがあります。
- Managed(推奨) — Cloudflareがリスクに応じてチャレンジ方式を自動選択
- Non-Interactive — ウィジェットは表示されるが、ユーザー操作は不要
- Invisible — ウィジェット自体を表示しない
いずれのモードでも、判定結果は「合格(success: true)」か「不合格(success: false)」の二値です。reCAPTCHA v3のようにスコアに応じて対応を分けるといった設計はできません。シンプルな分、運用は楽ですが、細かい制御が必要な場面では物足りなく感じることもあるでしょう。
料金比較
reCAPTCHAの料金(2026年4月時点)
2024年8月の料金改定で、旧Classic版の月100万回の無料枠は月1万回にまで縮小されました。現行の公開ドキュメントでは、主にEssentials / Premium / Enterpriseの3区分で案内されています。
| ティア | 無料枠 | 料金 |
|---|---|---|
| Essentials | 月10,000回 | 無料(超過するとエラー) |
| Premium | 月10,000回 | 10,001〜100,000回: 一律 月額$8 / 100,000回超: $1/1,000 assessments |
| Enterprise | 高ボリューム向け。営業経由の契約で、ボリュームディスカウントが案内される | |
なお、旧Classic版のキーを使い続けているサイトについては、2026年Q1までにGoogle Cloudプロジェクトへの紐付けが必要です(自動移行済みのケースもあります)。すでにCloud管理下にあるキーについては影響ありません。
出典: reCAPTCHA Billing Information | Google Cloud、reCAPTCHA Classic Migration Overview | Google Cloud
Cloudflare Turnstileの料金
| プラン | 料金 | チャレンジ回数 | ウィジェット数 |
|---|---|---|---|
| Free | 無料 | 無制限 | 最大20個 |
| Enterprise | 個別見積(公開定価なし) | 無制限 | 無制限 |
Freeプランでチャレンジ回数が無制限という点が、Turnstile最大の特徴です。Enterpriseプランについては公式サイトに定価の記載がなく、営業チームへの個別問い合わせが必要です。
出典: Cloudflare Turnstile Plans
月額コストの具体例
Premiumティアを基準に、月間チャレンジ数ごとのコスト差を試算すると以下のとおりです。
| 月間チャレンジ数 | reCAPTCHA(Premium) | Turnstile(Free) |
|---|---|---|
| 5,000回 | 無料 | 無料 |
| 10,000回 | 無料 | 無料 |
| 50,000回 | 月額$8 | 無料 |
| 200,000回 | 月額$108 | 無料 |
| 1,000,000回 | 月額$908 | 無料 |
月間アクセスが1万回を超えるサイトでは、Turnstileへの移行によるコスト削減効果が明確に出ます。
プライバシーとGDPR対応
プライバシーへの対応は、両者の間で最も差が大きい領域です。特にEU向けにサービスを提供しているサイトや、個人情報の取り扱いに敏感な業種では、この違いが選定の決め手になることもあります。
reCAPTCHA v3のプライバシー
reCAPTCHA v3は高い精度を実現するために、IPアドレス、マウスの動き、クリックパターン、ブラウザ・デバイス設定、ページ滞在時間、インストール済みプラグイン情報、Cookie(_grecaptcha)など、広範なデータを収集します。
GDPR対応の観点では、以下の点に注意が必要です。
- v3は精度向上のためにサイト全ページへのスクリプト設置が推奨されており、結果として広範な行動追跡が発生する
- 米国サーバーへのデータ転送がEUのSchrems II判決以降、問題視されている
- フランスのCityscoot事案では、複数の違反に対する制裁(€125,000)の一部として、reCAPTCHA利用に関する説明・同意の問題も指摘された(EDPB)
さらに、2026年4月2日付でGoogleはreCAPTCHAにおける自身の役割をData Controller(データ管理者)からData Processor(データ処理者)に変更しました。この変更により、サイト運営者がGDPR上の主たるデータ管理者(Controller)となります。GoogleはProcessor としてCloud Data Processing Addendumに基づく処理義務を負いますが、利用者向けの開示や同意取得の設計については運営者側の責任がより明確になりました。プライバシーポリシーの更新や、Cookie同意バナーでのreCAPTCHAの明示的な記載が求められます。
出典: reCAPTCHA FAQ | Google Cloud、Is Google reCAPTCHA GDPR-Compliant in 2026? | captcha.eu
Cloudflare Turnstileのプライバシー
Turnstileは、プライバシーを設計の中核に据えたアプローチを取っています。
- 通常の運用ではCookieに依存しない設計(ただし、Pre-Clearance機能を利用する場合は
cf_clearanceCookieが発行されます) - 収集するシグナルはボット検出に厳密に必要なものに限定
- 広告リターゲティング目的でのデータ収集を行わないことを明言
- WCAG 2.2 AAA準拠(アクセシビリティ)
Cloudflareはプライバシーポリシーの中で、GDPR・CCPA・ePrivacy Directiveへの準拠を支援する設計であることを表明しています。ただし、これはあくまで製品設計としての対応であり、実際の法令準拠はサイト運営者側の実装・契約・同意取得の設計に依存します。「Turnstileを入れれば自動的にGDPR対応が完了する」というわけではない点は理解しておく必要があります。
出典: Turnstile Privacy Policy | Cloudflare、Pre-Clearance Support | Cloudflare Docs
プライバシー比較表
| 項目 | reCAPTCHA v3 | Turnstile |
|---|---|---|
| Cookie使用 | あり(_grecaptcha) |
通常なし(Pre-Clearance時はcf_clearanceあり) |
| 広告目的のデータ利用 | 要確認(公開一次資料で断定困難) | 行わないことを明言(Privacy Policy) |
| GDPR対応 | 要追加対応(同意取得・ポリシー改訂が必要) | 準拠を支援する設計(最終的な適法性は運用者次第) |
| データ転送先 | 米国(Googleサーバー) | Cloudflareネットワーク |
| GDPR上のデータ管理者 | サイト運営者(2026年4月〜) | サイト運営者 |
| 罰金事例 | あり(フランス Cityscoot社) | なし(2026年4月時点) |
実装方法の比較
reCAPTCHA v3の実装手順
Step 1: サイト登録
Google reCAPTCHA管理コンソールでサイトを登録し、サイトキーとシークレットキーを取得します。旧Classic版のキーを使用している場合は、Google Cloudプロジェクトへの移行が必要です(すでにCloud管理下にあるキーは追加対応不要です)。
Step 2: フロントエンド実装
|
1 2 3 4 5 6 7 8 9 |
<script src="https://www.google.com/recaptcha/api.js?render=YOUR_SITE_KEY"></script> <script> grecaptcha.ready(function() { grecaptcha.execute('YOUR_SITE_KEY', {action: 'submit'}).then(function(token) { document.getElementById('g-recaptcha-response').value = token; }); }); </script> |
Step 3: サーバーサイド検証
|
1 2 |
POST https://www.google.com/recaptcha/api/siteverify secret=YOUR_SECRET_KEY&response=TOKEN |
トークンの有効期限は2分です。ページロード時ではなく、フォーム送信など実際のアクション実行時にexecuteを呼ぶようにしてください。
Cloudflare Turnstileの実装手順
Step 1: ウィジェット作成
Cloudflareダッシュボードの「Turnstile」セクションからウィジェットを作成し、Site KeyとSecret Keyを取得します。Cloudflareアカウントがあれば、CDN利用の有無に関係なく作成できます。
Step 2: フロントエンド実装
|
1 2 3 4 5 6 |
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script> <form action="/submit" method="POST"> <div class="cf-turnstile" data-sitekey="YOUR_SITE_KEY"></div> <button type="submit">送信</button> </form> |
Step 3: サーバーサイド検証
|
1 2 |
POST https://challenges.cloudflare.com/turnstile/v0/siteverify secret=YOUR_SECRET_KEY&response=CF_TURNSTILE_RESPONSE |
Turnstileのトークン有効期限は5分(300秒)で、reCAPTCHA v3の2分より余裕があります。
実装面の比較
| 項目 | reCAPTCHA v3 | Turnstile |
|---|---|---|
| 実装の手軽さ | JavaScript APIの呼び出しが必要 | HTMLにdivタグを追加するだけで動作 |
| スクリプトサイズ | 数百KB規模(環境により変動) | reCAPTCHAの約1/3程度(環境により変動) |
| WordPressプラグイン | 多数提供 | 提供あり |
| SPA対応 | 対応 | Explicit Renderingで対応(Pre-Clearanceは必要時のみ) |
| 前提条件 | Google Cloudプロジェクト(旧Classicキーは移行必要、Cloud管理下は追加対応不要) | Cloudflareアカウントのみ |
スクリプトサイズはバージョンや配信条件によって変動しますが、一般的にTurnstileの方がreCAPTCHAの1/3程度と軽量です。PageSpeed Insightsのスコアに影響が出ているサイトでは、この差を検討材料にする価値があります。ただし実際の影響度はサイトの全体構成にも依存するため、切り替え前にDevToolsのNetworkタブで実測することをお勧めします。
ボット検出精度について
実務で最も気になるのが検出精度ですが、この比較は慎重に行う必要があります。
一部のセキュリティリサーチャーによるテストでは、reCAPTCHAの方が検出率で優位だったという報告があります。ただし、テスト条件(ボットの種類、対象サイトのトラフィック量、実施時期)によって結果は大きく変わるため、特定の数値を一般化することには限界があります。
一般的な傾向としては、reCAPTCHAはGoogleの膨大なトラフィックデータと長年の学習データを持つため、幅広いボットパターンに対して高い検出率を持つとされています。一方、Turnstileはクライアント側のチャレンジ(PoW等)に強みがあり、自動化ツールに対して有効です。
いずれにせよ、2Captcha等のCAPTCHA解決サービスによるバイパスは両者とも回避できません。CAPTCHAは多層防御の一要素として位置づけ、WAF(Web Application Firewall)やレートリミット、IPレピュテーションなどと組み合わせて使うのが実務上のセオリーです。
障害時の設計(fail-open / fail-close)
導入時に見落としがちですが、「検証APIが応答しなかった場合にどうするか」は事前に決めておくべき設計判断です。
reCAPTCHA v3のsiteverify APIも、Turnstileのsiteverify APIも、ネットワーク障害やサービス側の障害で応答が返らない可能性があります。
- fail-open(障害時は通す) — ユーザー体験を優先。問い合わせフォームやコメント欄など、一時的にボットが通過してもビジネスへの影響が限定的な場面に向いています
- fail-close(障害時はブロック) — セキュリティを優先。決済ページやログインページなど、不正アクセスの被害が大きい場面ではこちらが適切です
いずれの方針を取るにしても、検証APIへのリクエストにはタイムアウト(3〜5秒程度)を設定し、タイムアウト時の挙動を明示的にコードで定義しておくことをお勧めします。
導入後に監視すべき運用指標
CAPTCHAは「入れて終わり」ではなく、導入後の運用指標を定期的に確認することで初めて効果を判断できます。以下の指標を監視対象に含めることをお勧めします。
| 指標 | 意味 | 異常の目安 |
|---|---|---|
| Solve Rate(チャレンジ通過率) | チャレンジを通過したリクエストの割合 | 急激な低下は正規ユーザーの誤ブロックを示唆 |
| Token Validation Failure Rate | サーバー側のsiteverify APIで検証に失敗した割合 | 目安として5%超で要調査(環境依存のため初期にベースラインを確認) |
| API Timeout Rate | siteverify APIがタイムアウトした割合 | 目安として1%超でfail-open/fail-close設計の見直しを検討(環境依存) |
| False Positive問い合わせ率 | 「送信できない」等のユーザー問い合わせ発生率 | 切り替え前と比較して増加傾向にあればロールバックを検討 |
| スパム到達率 | CAPTCHAを通過したスパム・ボットリクエストの割合 | 切り替え前と比較して増加していれば検出精度の問題 |
reCAPTCHAの場合はGoogle Cloudコンソールのダッシュボードで、Turnstileの場合はCloudflareダッシュボードのAnalyticsでsolve rateやchallenge数を確認できます。ただし、false positiveの問い合わせ率やスパム到達率はサイト側で独自に計測する必要があります。
上記の閾値はあくまで初期の目安です。サイトの規模やトラフィック特性によって「正常範囲」は異なるため、まずは導入後1〜2週間で自サイトのベースラインを把握し、そこからの乖離で異常を判断するのが実務的なアプローチです。特にreCAPTCHAからTurnstileへ移行する場合は、切り替え前のベースラインデータを取っておくと、移行後の比較がしやすくなります。
reCAPTCHAからTurnstileへの移行手順
移行を決めた場合に、実務で踏むべきステップを整理しました。
Phase 1: 準備(1〜2日)
- Cloudflareアカウントの作成(未取得の場合)
- TurnstileウィジェットをCloudflareダッシュボードで作成
- 開発環境でTurnstileのフロントエンド・サーバーサイド実装を完了
- 既存のreCAPTCHAの設置箇所を洗い出す
Phase 2: 段階的ロールアウト(1〜2週間)
- 影響の小さいページ(問い合わせフォーム等)から先にTurnstileへ切り替える
- 切り替え後、正常にトークンが発行・検証されているか、サーバーログで確認する
- 問題がなければ、対象ページを段階的に拡大する
- 決済ページやログインページは最後に切り替える
Phase 3: 旧reCAPTCHAの撤去(数日)
- すべてのページでTurnstileが正常動作していることを確認
- reCAPTCHAのJavaScript読み込みとサーバーサイド検証コードを削除
- Google reCAPTCHA管理コンソールからサイトキーを無効化
ロールバック条件
以下のいずれかに該当した場合は、reCAPTCHAへのロールバックを検討してください。
- スパム到達率が切り替え前のベースラインから明確に増加した
- False Positive問い合わせ(「送信できない」等)が切り替え前と比較して増加傾向にある
- siteverify APIのTimeout Rateが1%を超える状態が24時間以上続いた
- Solve Rateが急激に低下し、回復の見込みがない
そのため、移行期間中はreCAPTCHAのキーをすぐに復旧できる状態で保持しておくことが重要です。
総合比較表
| 項目 | reCAPTCHA v3 | Cloudflare Turnstile |
|---|---|---|
| 提供元 | Cloudflare | |
| 料金 | 月1万回まで無料、以降有料(Premiumティア基準) | Freeプランで無制限 |
| UX | 操作不要 | ほぼ操作不要 |
| 判定方式 | スコア(0.0〜1.0) | 合格/不合格の二値 |
| 検出精度 | 一般的に高いとされる | reCAPTCHAより劣るとの報告あり |
| プライバシー | GDPR対応に追加作業が必要 | 準拠を支援する設計 |
| Cookie | 使用する(_grecaptcha) |
通常なし(Pre-Clearance時はcf_clearance) |
| スクリプトサイズ | 数百KB規模(環境により変動) | reCAPTCHAの約1/3程度(環境により変動) |
| 実装の手軽さ | JavaScript API呼び出しが必要 | HTMLクラス指定のみで動作 |
| 段階的対応 | スコアベースで柔軟に設計可能 | 不可(二値判定のみ) |
| CDN依存 | なし | なし |
どちらを選ぶべきか
Cloudflare Turnstileが向いているケース
- 月間チャレンジ数が1万回を超えていて、reCAPTCHAのコストを削減したい
- EU向けにサービスを提供しており、GDPR対応の負担を減らしたい
- PageSpeedスコアへの影響を最小限にしたい(Turnstileの方が軽量)
- 実装をできるだけシンプルにしたい
- 判定結果は「通す/ブロック」の二択で十分
reCAPTCHA v3が向いているケース
- スコアに応じた段階的な対応が業務上必要(例: ECサイトの決済フロー)
- ボット検出精度を最優先したい
- すでにGoogle Cloudエコシステムを活用している
- Enterprise版のAccount DefenseやPassword Defenseが必要
移行を検討すべきタイミング
以下に心当たりがある場合は、reCAPTCHAからTurnstileへの移行を検討する価値があります。
- reCAPTCHAの月間利用回数が1万回を超え、課金が発生し始めた
- GDPR対応のためにプライバシーポリシーやCookie同意フローの改訂が必要になった
- reCAPTCHAのスクリプト読み込みがPageSpeedスコアに影響を与えている
- スコアベースの段階的対応を使っておらず、実質的に閾値で一律ブロックしているだけ
特に4つ目は重要です。スコアの柔軟性を活かしていないのであれば、reCAPTCHA v3の最大のメリットを享受できていないことになります。その場合、Turnstileに切り替えてコストとプライバシーのメリットを取る方が合理的です。
まとめ
reCAPTCHA v3とCloudflare Turnstileは、どちらも「ユーザーに操作を求めない」という同じ方向を目指していますが、設計思想とビジネスモデルが根本的に異なります。
reCAPTCHA v3の強みは、Googleの膨大なトラフィックデータに裏打ちされた検出精度と、スコアベースの柔軟な対応設計にあります。しかし、2024年の無料枠縮小、旧ClassicキーのGoogle Cloud移行、GDPR上のデータ管理者責任の移転により、運用コストと管理負担は増加傾向にあります。
Cloudflare Turnstileの強みは、無料・軽量・プライバシー配慮という明快な価値提案です。プライバシー規制が世界的に強まる中で、設計段階からプライバシーを組み込んだアプローチは、今後ますます評価されるでしょう。
どちらを選ぶにしても、CAPTCHA単体で完璧なボット対策にはなりません。WAF、レートリミット、多要素認証など、複数の防御層を組み合わせた上で、そのうちの一つとしてCAPTCHAを位置づけることが、実務上最も重要なポイントです。
出典・参考資料
- reCAPTCHA v3 | Google for Developers
- reCAPTCHA Billing Information | Google Cloud
- reCAPTCHA Classic to Enterprise Migration Overview | Google Cloud
- reCAPTCHA FAQ | Google Cloud
- Is Google reCAPTCHA GDPR-Compliant in 2026? | captcha.eu
- Cloudflare Turnstile Documentation
- Cloudflare Turnstile Plans
- Turnstile Privacy Policy | Cloudflare
- Turnstile Pre-Clearance Support | Cloudflare Docs
- Turnstile is now generally available | Cloudflare Blog
関連記事
カテゴリ:サイバーセキュリティ対策
タグ:Cloudflare Turnstile,reCAPTCHA












