AmazonBotをブロックする方法【2026年版】
AmazonBotとは何か
AmazonBotは、Amazon.comが運営するWebクローラーです。主にAmazon Alexaの音声アシスタント向け情報収集や、Amazon Kendra・Bedrock等のAIサービスのトレーニングデータ収集を目的としてWebを巡回しています。User-Agentには Amazonbot と明記されており、公式ドキュメントではIPレンジも公開されています。
2024年以降、AmazonBotのクロール頻度が急増しているという報告が増えています。特にコンテンツが豊富なブログサイトや、商品情報を掲載するECサイトが標的になりやすい傾向があります。あなたのサーバーログにAmazonBotのアクセス記録が増えているなら、対策を検討するタイミングです。
AmazonBotをブロックすべき理由
AmazonBotによるクロールには以下のリスクがあります。
- コンテンツの無断学習:あなたが書いたブログ記事・商品説明・レビューが、Amazonのモデル学習に使われる可能性があります
- サーバー負荷の増加:高頻度クロールによってサーバーリソースが消費されます
- ビジネス上の競合:独自調査や価格情報をAmazonに学習させることは、競合優位性の喪失につながります
特にAmazon Alexaは「このサイトによると〜」という形で情報を引用しますが、元サイトへのリンクや適切なクレジットが表示されないケースが多く、コンテンツ制作者にとって不利な状況です。
方法① robots.txtでブロック(推奨・最初に行うべき対策)
最もシンプルかつ標準的な方法です。サイトルートの robots.txt に以下を追記してください。
User-agent: Amazonbot
Disallow: /
複数のAIボットをまとめてブロックする場合はこちら:
User-agent: Amazonbot
Disallow: /
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: PerplexityBot
Disallow: /
User-agent: Google-Extended
Disallow: /
注意点:robots.txtはあくまで「お願い」の仕組みであり、悪意のあるボットは無視します。AmazonBotは現時点では概ねrobots.txtを遵守していますが、完全な保証はありません。
方法② Next.jsのMiddlewareでブロック
Next.jsを使用している場合、middleware.ts でUser-Agentを検査してリアルタイムにブロックできます。
import { NextRequest, NextResponse } from "next/server";
const AI_BOT_PATTERNS = /Amazonbot|GPTBot|ClaudeBot|PerplexityBot|Google-Extended/i;
export function middleware(req: NextRequest) {
const ua = req.headers.get("user-agent") ?? "";
if (AI_BOT_PATTERNS.test(ua)) {
return new NextResponse(null, { status: 403 });
}
return NextResponse.next();
}
export const config = {
matcher: ["/((?!_next|favicon.ico).*)"],
};
このアプローチの利点は、HTTPレスポンスコード403を返すことで「クロール不可」を明確に伝えられる点です。
方法③ Nginxでブロック
Nginxを使用しているサーバーでは、設定ファイルにUser-Agentベースのブロックを追加できます。
server {
# AmazonBot および主要AIクローラーをブロック
if ($http_user_agent ~* "(Amazonbot|GPTBot|ClaudeBot|PerplexityBot|Google-Extended)") {
return 403;
}
# 通常のサーバー設定...
}
方法④ .htaccess(Apache)でブロック
BrowserMatchNoCase "Amazonbot" bad_bot
BrowserMatchNoCase "GPTBot" bad_bot
Order Allow,Deny
Allow from all
Deny from env=bad_bot
AmazonBotのクロール状況を監視する
ブロック設定を入れた後も、実際に効いているかどうかを確認することが重要です。AI Access Monitorを使えば、AmazonBotを含む30種類以上のAIクローラーのアクセスをリアルタイムで検知・記録できます。
設置は1行のJavaScriptタグを追加するだけです:
<script src="https://monitor-api.microforge.works/agent.js"
data-site-id="YOUR_SITE_ID" async></script>
ブロックだけでなく「使用料を請求する」という選択肢
単純にブロックするのではなく、AmazonBotのアクセスに対して使用料を請求するという考え方もあります。AI Access MonitorのPro機能では、AIクローラーに対してHTTP 402(Payment Required)を返し、ライセンス料の支払いを促すコードを生成できます。
コンテンツ制作者として正当な対価を求めることは、今後のAI時代において重要な権利主張です。無料で始める
まとめ:AmazonBotブロックのチェックリスト
- ✅ robots.txtに
User-agent: Amazonbot / Disallow: /を追加した - ✅ サーバーログでAmazonBotのアクセス減少を確認した
- ✅ AI Access Monitorでクロール状況をモニタリングしている
- ✅ 重要なコンテンツはMiddleware/Nginxで二重ブロックしている