·6分で読める

Diffbotをブロックする方法【robots.txt・Nginx・Cloudflare】

Diffbotは企業が運営するAIデータ収集ボットです。robots.txtを無視するケースも多く、より強力なブロック手段が必要です。設定方法を詳しく解説します。

DiffbotAIクローラーブロックrobots.txt

Diffbotとは

Diffbotは米カリフォルニアの企業が運営するAIデータ収集サービスです。Webページを構造化データに変換し、企業の知識グラフ構築やAI学習データとして販売するビジネスモデルを持っています。User-Agentは Diffbot と表記されています。

GPTBotやClaudeBotと異なり、Diffbotはrobots.txtを必ずしも遵守しないという報告が多く見られます。そのため、robots.txtだけでなく、サーバーレベルでのブロックが推奨されます。

robots.txtでの設定

User-agent: Diffbot
Disallow: /

Nginxでのブロック

robots.txtを無視する場合に有効な方法です:

server {
  # Diffbotブロック
  if ($http_user_agent ~* "Diffbot") {
    return 403;
  }
  # ...
}

Apache(.htaccess)でのブロック

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} Diffbot [NC]
RewriteRule .* - [F,L]

Next.js Middlewareでのブロック

// middleware.ts
import { NextRequest, NextResponse } from 'next/server';

export function middleware(request: NextRequest) {
  const ua = request.headers.get('user-agent') ?? '';
  if (/diffbot/i.test(ua)) {
    return new NextResponse('Forbidden', { status: 403 });
  }
  return NextResponse.next();
}

export const config = {
  matcher: '/((?!_next/static|favicon.ico).*)',
};

Cloudflare WAFルール

Cloudflareを使っている場合、WAFカスタムルールで設定します:

  • 条件: http.user_agent contains "Diffbot"
  • アクション: Block

Diffbotに加えて他のAIボットも一括ブロックする

Diffbot単体ではなく、すべてのAIボットを一括でブロックしたい場合は、AI Access MonitorのTollgate機能が便利です。robots.txtへの一括設定と、サーバーレベルでのブロックコードを自動生成します。

無料でAIボット一括ブロック設定を確認する →

AI Access Monitor

まず計測から始めよう

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

無料で始める →