·10分で読める

robots.txtを無視するAIボットへの対策【完全版】

robots.txtを守らないAIクローラーの実態と、サーバーサイドでのブロック・法的対応・証拠保全まで含めた完全な対策方法を解説します。

robots.txtAIクローラーブロック法的対応著作権

robots.txtを無視するAIボットへの対策【完全版】

robots.txtを無視するAIボットが存在する

「robots.txtにDisallow: /を設定したのに、AIボットのアクセスが止まらない」という声が増えています。実際、主要AIクローラーの中にはrobots.txtを遵守しないものが存在します。

2024年〜2025年にかけて問題になった主なケース:

  • Bytespider(ByteDance/TikTok):robots.txtを無視してクロールを継続したと複数のサイト運営者が報告
  • CCBot(Common Crawl):学術・研究目的と主張するが、実態はLLMトレーニングデータ収集が主目的
  • その他の新興AIクローラー:User-Agentを偽装するケースも確認されている

なぜrobots.txtだけでは不十分か

robots.txtは「紳士協定」に過ぎず、法的拘束力はありません。主なリスクは以下の通りです:

  1. 遵守義務なし:robots.txtはHTTP標準ではなく、あくまでガイドライン
  2. User-Agent偽装:一般ブラウザを装ってクロールするケースがある
  3. 新興ボット:登場したばかりのクローラーはrobots.txtのルールを知らない/無視する場合がある

対策① サーバーサイドでのハードブロック

robots.txtに頼らず、サーバーレベルでUser-Agentを検査してブロックします。

Next.js Middleware(推奨)

import { NextRequest, NextResponse } from "next/server";

// 問題のあるボットを含む包括的なリスト
const AGGRESSIVE_BOTS = /Bytespider|CCBot|Diffbot|DataForSeoBot|MJ12bot|SemrushBot/i;
const AI_BOTS = /GPTBot|ClaudeBot|PerplexityBot|Google-Extended|Amazonbot|cohere-ai/i;

export function middleware(req: NextRequest) {
  const ua = req.headers.get("user-agent") ?? "";

  // 悪質ボットは即403
  if (AGGRESSIVE_BOTS.test(ua)) {
    return new NextResponse("Forbidden", { status: 403 });
  }

  // AIボットはcheck APIで判定(Pro機能)
  // または一律403を返す
  if (AI_BOTS.test(ua)) {
    return new NextResponse("Forbidden", { status: 403 });
  }

  return NextResponse.next();
}

export const config = {
  matcher: ["/((?!_next|favicon.ico|api).*)"],
};

Nginx設定

map $http_user_agent $is_bad_bot {
    default         0;
    ~*Bytespider    1;
    ~*CCBot         1;
    ~*GPTBot        1;
    ~*ClaudeBot     1;
    ~*PerplexityBot 1;
    ~*Google-Extended 1;
    ~*Amazonbot     1;
    ~*Diffbot       1;
}

server {
    if ($is_bad_bot) {
        return 403;
    }
}

対策② IPアドレスベースのブロック

User-Agentを偽装するボットに対しては、IPアドレスレンジでのブロックが有効です。主要なクラウドプロバイダーのIPレンジを確認し、不審なデータセンターIPからのアクセスをブロックします。

# Cloudflareルール(Firewall Rules)
# データセンターASNからのアクセスで、通常のブラウザUAでないものをブロック
(ip.geoip.asnum in {396982 15169 16509} and not http.user_agent contains "Mozilla")

対策③ アクセス監視と証拠保全

法的対応を視野に入れる場合、アクセスログの保全が不可欠です。AI Access MonitorのPro機能「訴訟証拠ログ」では、robots.txt違反アクセスを自動検知・記録します。

記録される情報:

  • アクセス日時(UTC)
  • ハッシュ化されたIPアドレス
  • User-Agent文字列
  • アクセスされたURL
  • robots.txt違反フラグ
  • 所属ASN・組織名

対策④ 法的通知(cease and desist)

証拠が揃ったら、相手企業の法務部門またはプライバシーチームへ正式な通知を送ることができます。多くの大手AI企業はコンテンツ削除・学習データからの除外リクエストフォームを設けています。

  • OpenAIprivacy@openai.com または専用フォーム
  • Google:Search Console → AI学習除外設定
  • Common Crawlinfo@commoncrawl.org

対策⑤ 使用料を請求する(HTTP 402)

ブロックの代わりに「アクセスは許可するが有料」という戦略もあります。HTTP 402(Payment Required)を返してライセンス料の支払いページにリダイレクトする方法です。

AI Access MonitorのPro機能でこのコードを自動生成できます。詳細はこちら

まとめ:多層防御が基本

対策効果労力
robots.txt△(遵守ボットのみ)
Middleware/Nginx UA検査◎(ハードブロック)
IPブロック○(偽装対策)
アクセス監視・証拠保全◎(法的対応準備)低(ツール活用)

robots.txtだけに頼らず、複数の層で防御することが現実的な対策です。AI Access Monitorで今すぐ監視を始めましょう。

AI Access Monitor

まず計測から始めよう

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

無料で始める →