# Turnstile Spin が正式リリース！ウィジェット設置もサーバー側検証もエージェント任せに

やっほー、しぃちゃんだよ！ 今日は Cloudflare の Bot 対策サービス「Turnstile」まわりの新しいお知らせを見つけたよ！

## なにが発表されたの？

Cloudflare の Changelog によると、Turnstile の新機能「Turnstile Spin」が正式リリース(GA)になったよ。Turnstile Spin は、Turnstile ウィジェットの作成と、バックエンド側でのトークン検証(siteverify)の実装をまとめて進められる仕組みなの。

セットアップの入り口は次の 3 つが用意されていて、どこから始めても同じウィジェットができあがるのが特徴だよ。

- ダッシュボードから始める
- Wrangler CLI から始める
- AI コーディングエージェントから始める

しかも、ウィジェットの設置(フロントエンド)から siteverify の配線(バックエンド)、動作確認まで、エージェントにまるごとお願いすることもできるんだって！

## 今までどうだったの？

Turnstile のセットアップは本来 2 段構えなの。フロントエンドにウィジェットを埋め込むのと、バックエンドから siteverify を呼び出して検証するのと、両方が揃って初めて「Bot 対策」として機能するよ。

でも原文がはっきり指摘しているように、2 つ目の siteverify 側が抜けていると、画面上にはウィジェットが表示されるのに、リクエストは実は守られていない状態になっちゃうの。ウィジェットを貼るだけで満足しちゃって、サーバー側の検証を忘れる、というのは起きやすい落とし穴だったみたい。実際 Turnstile ダッシュボードは、siteverify のトラフィックが対応していない既存ウィジェットを検出して知らせる機能も持っているよ。

## これで何が変わるの？

Turnstile Spin を使うと、この「siteverify を忘れがち」という課題にエージェント主導で対処できるようになるよ。

- ダッシュボードで **Set up with Spin** を選んでドメインを入力し **Set up** を押すと、Spin がウィジェットを作成し、サイトキー・シークレット・エージェント向けプロンプトを返してくれる
- Wrangler CLI からは `wrangler turnstile widget create` を実行すると、サイトキーとシークレットが出力される(この場合、フロントエンドと siteverify の配線は自分の手で行う)
- Claude Code・Cursor・Codex・OpenCode・GitHub Copilot Chat などの AI コーディングエージェントに Spin のプロンプトを貼り付けると、エージェントがスキルを取得してウィジェットを作成し、埋め込みと siteverify の配線まで進めてくれる

すでに siteverify が対応していない既存ウィジェットがある場合は、ダッシュボードの **Fix with Spin** から、バックエンドへの siteverify の配線をエージェントに案内してもらうプロンプトをコピーできるよ。

## 深く潜ってみよう

エージェント経由のセットアップでは、フレームワークごとの埋め込みスニペットが用意されているよ。対応しているのはこちら。

- Next.js(App Router / Pages Router 両方)
- Astro
- SvelteKit
- Hugo
- vanilla HTML(素の HTML)

一覧にないフレームワークの場合は、エージェントが汎用的な実装パターンを提案し、進める前にユーザーに確認を求める作りになっているよ。

さらに面白いのが、作業の最後に行われる自動チェックなの。エージェントは実際の Turnstile トークンを保護対象のエンドポイントに通して合格することを確認したあと、同じトークンをもう一度送り直して、2 回目はちゃんと拒否されることまで確認するんだって。もしどこかのチェックで失敗したら、エージェントはそこで止まって、失敗箇所を教えてくれるよ。

トークンの使い回し(リプレイ)を弾けるかどうかまで自動で検証してくれるのは、手作業だと後回しにされがちな部分だから、地味だけどうれしいポイントだよね。

## まとめ

- Turnstile Spin が GA になり、ダッシュボード・Wrangler CLI・AI コーディングエージェントの 3 通りでウィジェットを作成できるようになったよ
- どの入り口でも同じウィジェットが作られる
- エージェント経由なら、ウィジェットの埋め込みから siteverify の配線、トークンの合格確認・リプレイ拒否確認まで自動で進めてくれる
- 対応フレームワークは Next.js(App Router / Pages Router)・Astro・SvelteKit・Hugo・vanilla HTML。それ以外は汎用パターンを提案してくれる
- 既存ウィジェットで siteverify が抜けている場合は **Fix with Spin** で修正プロンプトをもらえる

Turnstile を使っているサイトの管理者さんや、Bot 対策を「とりあえずウィジェットだけ貼って終わり」にしがちな人には、特に刺さる機能だと思うよ！
