「信号機の画像をすべて選んでください」。Webサイトの登録フォームやログイン画面で、こうしたパズルを解かされた経験は誰にでもあるはずです。あれがCAPTCHA(キャプチャ)と呼ばれる、人間とボットを見分けるためのテストです。
しかしこのパズル、正直なところ面倒ですし、時には人間なのに何度も失敗します。Cloudflare Turnstile(ターンスタイル)は、この「パズルを解かせる」体験そのものをなくすことを目指した、CAPTCHAの代替サービスです。無料で、しかもCloudflareを使っていないサイトにも導入できるという特徴があり、第2章で学ぶ機能の中では珍しく「単体で使える道具」です。
このページで分かること
- CAPTCHAとは何か、何が問題とされてきたのか
- Turnstileがパズルなしで人間を確認する仕組み
- トークン発行から検証までの流れ(サイト側の実装の全体像)
- 料金と無料枠、reCAPTCHAとの違い
- 初心者が注意するポイント
CAPTCHAの役割と問題点
なぜフォームに「人間確認」が必要なのか
前々ページのボット対策で見たとおり、問い合わせフォームや会員登録、コメント欄は、スパムボットの主要な標的です。サーバー側から見ると、ボットの送信も人間の送信も同じPOSTリクエストであり、届いた後に見分けるのは困難です。そこで「送信の前」に人間であることを確かめるテストを挟む。これがCAPTCHA(Completely Automated Public Turing test to tell Computers and Humans Apart:コンピューターと人間を区別する完全自動化されたチューリングテスト)の役割です。
CAPTCHAの3つの問題
長年使われてきたCAPTCHAですが、問題も指摘されてきました。
- ユーザー体験の悪化:パズルには平均で十数秒〜30秒程度かかるとされ、途中で離脱する利用者も出ます。ECサイトなら売上の損失に直結します
- AIの進歩で効果が低下:皮肉なことに、画像認識AIの発達により、いまやボットのほうが人間よりパズルが得意になりつつあります
- プライバシーへの懸念:広く使われるGoogleのreCAPTCHAは、判定にCookieなどの情報を利用することへの懸念が指摘されてきました
つまり「人間には面倒で、ボットには突破され、プライバシーの心配もある」。この状況への答えとして、Cloudflareが2022年に公開したのがTurnstileです。
Turnstileの仕組み
パズルの代わりに「ブラウザーのふるまい」を見る
Turnstileは、フォームに小さなウィジェット(部品)として埋め込まれます。訪問者に見えるのは「確認中…」から「成功」に変わる小さなボックスだけで、原則としてパズルは出てきません。
その裏側でTurnstileは、ボット対策のページで学んだ手法の応用として、ブラウザー内で複数の非対話型チャレンジを実行しています。本物のブラウザーなら当然備えている挙動の確認、機械学習による疑わしさの採点などを、訪問者が気づかない数秒のうちに済ませ、「人間らしい」と判定されればチェックマークが付きます。疑わしい場合でも、追加されるのはチェックボックスのクリック程度で、画像パズルを解かせることはありません。
トークンの発行と検証:2段階で成立する
Turnstileの動作は「ブラウザー側での判定」と「サーバー側での検証」の2段階で成立します。ここがTurnstile導入の理解のかなめです。

- フォームのページにウィジェットを設置しておく(サイトごとに発行されるサイトキーを使用)
- 訪問者がページを開くと、ウィジェットがブラウザー内で自動チェックを実行する
- 合格するとトークン(通行証にあたる文字列)が発行され、フォーム送信時に一緒にサーバーへ送られる
- サーバーは受け取ったトークンをCloudflareの検証API(siteverify)に問い合わせ、本物か・使い回しでないかを確認する
- 検証が通ったときだけ、フォームの内容を処理する
ポイントは手順4です。ウィジェットを置くだけではボットは防げません。トークンの検証をサーバー側で行って初めて「Turnstileを通過していない送信は受け付けない」が成立します。WordPressであれば、この検証処理を代行してくれるプラグインを使うのが手軽です。
Cloudflare外のサイトでも使える
Turnstileはサイトキーと検証APIだけで完結するため、Cloudflareのプロキシ(オレンジ雲)を使っていないサイトにも導入できます。逆に、Cloudflareのプロキシ配下のサイトでWAFやボット対策が出す「チャレンジ画面」も、内部ではこのTurnstileと同じ技術が使われています。第2章のほかの機能が「Cloudflareを通る通信」を守るのに対し、Turnstileは「フォームという点」を守る道具と整理できます。
料金とreCAPTCHAとの違い
Turnstileは無料で利用でき、確認回数(チャレンジ数)に上限はありません(2026年8月時点)。無料の範囲ではウィジェット20個まで・ウィジェットあたりホスト名10個まで・分析画面の遡りは7日間という制限があり、それを超える大規模利用向けにEnterprise版(ウィジェット数無制限・ホスト名200個・ブランド表示の除去など)があります。
reCAPTCHAとの主な違いをまとめると次のとおりです。
- 体験:Turnstileは原則パズルなし。reCAPTCHAも近年は非表示型がありますが、疑わしいと画像パズルが出ます
- プライバシー:TurnstileはCookieを使った追跡を行わず、収集データを広告等に利用しないと明言しています
- 料金:reCAPTCHAは一定回数を超えると有料(Google Cloudの課金体系)。Turnstileは回数無制限で無料
- 導入のしやすさ:どちらもスクリプト1行+サーバー検証で、移行はサイトキーの差し替えが中心です
初心者が注意するポイント
- サーバー側の検証を省略しない:もっとも多い導入ミスです。ウィジェットの見た目だけ設置しても、検証しなければ素通りです。プラグインや実装例に従い、必ずsiteverifyでの検証まで行ってください
- シークレットキーは公開しない:サイトキー(公開してよい)とシークレットキー(サーバー検証用・非公開)の2つが発行されます。シークレットキーをHTMLに書いてはいけません
- テスト用キーを活用する:開発中は「常に合格」「常に不合格」になるテスト用キーが用意されています。本番キーでの動作確認に苦労する前に活用しましょう
- 万能ではない:Turnstileが守るのは設置したフォームだけです。サイト全体の防御はWAF・ボット対策・Rate Limitingの担当で、組み合わせて初めて層になります
- 正規ユーザーが失敗するケース:ごく古いブラウザーや特殊な環境では確認に失敗することがあります。問い合わせの導線を複数用意しておくと安心です
関連サービス
- ボット対策(Bot Fight Mode等):サイト全体で自動アクセスを見分ける機能。Turnstileの判定技術の親戚です
- Rate Limiting:フォームやログインへの試行回数を制限する機能。Turnstileと重ねると効果的です
- WAF:チャレンジアクションの画面としてTurnstileの技術が使われています
- Email Routing:Turnstileと同じく単体で使える実用サービス。フォームからのメール通知と組み合わせる場面もあります(第5章)
まとめ
- CAPTCHAは人間とボットを見分けるテストだが、「人間に面倒・ボットに突破されつつある・プライバシー懸念」という問題を抱えていた
- Turnstileは、パズルの代わりにブラウザー内の自動チェックで人間らしさを判定するCAPTCHA代替
- 動作は2段階:ブラウザーでトークンを発行し、サーバーが検証APIで確認する。サーバー側検証を省くと機能しない
- 無料・回数無制限で、Cloudflareを使っていないサイトにも導入できる
- 守れるのは設置したフォームだけ。WAF・ボット対策・Rate Limitingと組み合わせて層にする
次に読む
※本記事の情報は 2026年8月時点のものです。