CloudflareでのAIボットブロックのメリット
Cloudflareでブロックする最大のメリットは、リクエストがオリジンサーバーに到達する前に遮断できることです。サーバー負荷とコストを削減しながら、より確実にAIボットをブロックできます。
方法① WAFカスタムルール(無料プラン可)
CloudflareダッシュボードでWAF → カスタムルール → ルールを作成します。
条件式(Expression):
(http.user_agent contains "GPTBot") or
(http.user_agent contains "ClaudeBot") or
(http.user_agent contains "PerplexityBot") or
(http.user_agent contains "Google-Extended") or
(http.user_agent contains "Bytespider") or
(http.user_agent contains "anthropic-ai") or
(http.user_agent contains "OAI-SearchBot") or
(http.user_agent contains "CCBot") or
(http.user_agent contains "cohere-ai") or
(http.user_agent contains "YouBot")
アクション:Block(またはManaged Challenge)
方法② Firewall Rules(旧UI)
(lower(http.user_agent) contains "gptbot") or
(lower(http.user_agent) contains "claudebot") or
(lower(http.user_agent) contains "perplexitybot")
方法③ Bot Management(有料機能)
CloudflareのBot Managementを有効にすると、AIクローラーを自動分類してブロックできます。Bot Scoreが低いリクエストを自動遮断する設定が可能です。
方法④ Workers KVでのTollgate実装
// Cloudflare Worker
export default {
async fetch(request) {
const ua = request.headers.get("User-Agent") || "";
const AI_BOTS = /GPTBot|ClaudeBot|PerplexityBot|anthropic-ai/i;
if (AI_BOTS.test(ua)) {
return new Response("Payment Required", {
status: 402,
headers: { "Content-Type": "text/plain" },
});
}
return fetch(request);
},
};
ブロック状況の確認
CloudflareダッシュボードのAnalytics → Securityで遮断されたリクエスト数を確認できます。AI Access Monitorと組み合わせることで、ブロック前後の比較も可能です。