·8分で読める

CloudflareでAIボットを完全ブロックする設定方法

Cloudflare WAF・Firewall Rules・Bot Managementを使ってGPTBot・ClaudeBot・PerplexityBotなどのAIクローラーをブロックする具体的な設定手順を解説します。

CloudflareWAFAIボットブロック

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と組み合わせることで、ブロック前後の比較も可能です。

AI Access Monitor

まず計測から始めよう

1行のコード追加で、AIクローラーの計測を今日から開始。無料・設定不要。

無料で始める →