サイモン・ウィリソン (Simon Willison) 氏は2026年6月16日(現地時間)、自身のブログ「Simon Willison's Weblog」で、CloudflareのCAPTCHA(キャプチャ)設定に関する運用知見を公開した。同氏は、検索エンジンに導入したCAPTCHAが単純な検索クエリで頻繁に発動し、利用者の利便性を損ねる課題に直面。URIクエリにアンパサンド(`&`)が含まれる場合に限定してCAPTCHAを発動させる新たなルールを導入し、クローラー対策とユーザー体験の両立を図ったと詳述した。

ウィリソン氏は、自身のウェブサイトの/search/パス以下におけるクローラーの過剰な活動を抑制するため、Web Application Firewall (WAF) のカスタムルールとしてCloudflareのManaged Challenge(マネージド・チャレンジ)を導入した。しかし、?q=termのような基本的な検索クエリでもCAPTCHAが頻繁にトリガーされ、正規のユーザー体験を阻害していた。

この問題に対し、ウィリソン氏は人工知能サービスであるClaude Code(クロード・コード)を活用し、特定の条件でのみCAPTCHAを発動させる新たなルールの考案に着手した。具体的には、HTTPリクエストのURIパスが検索ページを指し、かつそのURIクエリにアンパサンド(&)が含まれる場合に限定してCAPTCHAを有効にするという論理構造を構築した。

このルールは、厳密には(http.request.uri.path wildcard r/search/* and http.request.uri.query contains &)という条件式で定義された。これにより、アンパサンドが含まれない/search/?q=lemurのような単一パラメータの検索URLではCAPTCHAが起動せず、ユーザーエクスペリエンスが大幅に改善された。逆に、複数の検索条件を持つ?q=lemur&tag=animalのようなURLに対してのみCAPTCHAが発動するようになり、クローラー対策とユーザー利便性のバランスが取れた運用が可能となった。

ウィリソン氏は当初、Claude CodeをCloudflareのManaged Challengeのルールエディタに直接連携させようと試みたものの、ルール記述の複雑性から直接編集には不向きであると判断したと報告している。そのため、最終的にはClaude Codeで生成したルール定義をCloudflare APIを通じて適用する手法に切り替え、設定の柔軟性と正確性を確保した。


参考: Simon Willison’s Weblog — 2026年6月16日 09:21 (JST)

この記事をシェア
X はてブ LinkedIn