WebサイトにおけるAIクローラーへの学習対策と意思表示

10分で読めます
WebサイトにおけるAIクローラーへの学習対策と意思表示 のサムネイル

概要

生成AIの急速な普及に伴い、Web上の公開コンテンツが学習データとして使用される機会が増加しています。AIによる情報アクセスの利便性向上は認めつつも、コンテンツを学習し出力することで、オリジナルコンテンツの価値や創作者への帰属が曖昧になってしまう問題が顕在化してきました。企業・個人サイトに関わらず、コンテンツの価値をどのように守るか、AI学習クローラーへの対策について現時点で調査した内容をまとめます。

対策の前提条件

今回の対策では、このブログを例として以下のような前提条件を設定しています。

  • 検索エンジンは許可
    サイトの認知度向上とトラフィック獲得を図るため、Google、Bing、DuckDuckGoなどの一般的な検索エンジンのクローラーは全面的に許可します。
  • AI学習クローラーは制限
    学習データとしての無断使用を防ぐため、GPTBot、ClaudeBot、Google-Extended等のAI学習目的のクローラーを制限します(適切な条件下での個別許諾の余地は残します)。
  • 利用規約による意思表示
    現行の著作権法では学習目的のデータ収集は一定の条件下で合法とされていますが、利用規約による学習拒否の意思を表示します。
  • 画像・メディアコンテンツの保護は対象外
    この記事では主にテキストコンテンツとクローラー制御に関する対策を扱い、画像生成AI対策や透かし・EXIF制御等は別途検討が必要です。

主なAIクローラー

以下は主要なAI学習クローラーのUser-Agentと対応サービスの一覧です。

User-Agent企業/サービス用途・備考公式ドキュメント
GPTBotOpenAIChatGPT学習用GPTBot Documentation
ChatGPT-UserOpenAIChatGPTユーザー向けGPTBot Documentation
OAI-SearchBotOpenAIOpenAI検索関連GPTBot Documentation
ClaudeBotAnthropicClaude学習用ClaudeBot Information
anthropic-aiAnthropicAnthropic汎用クローラーClaudeBot Information
Google-ExtendedGoogleGemini等AI学習用Control Gemini Data Usage
GoogleOtherGoogleGoogleその他のクローラーGoogle Crawlers
CCBotCommon Crawl多くのAIで使用されるデータセットCommon Crawl
PerplexityBotPerplexityPerplexity AIPerplexityBot
Applebot-ExtendedAppleApple AI学習用About Applebot
BytespiderByteDanceTikTok関連-
AmazonbotAmazonAmazon AIAmazonbot
cohere-aiCohereCohere AICohere
  • User-Agentは予告なく変更・追加される可能性があります
  • 一部のクローラーはrobots.txtを無視する報告があります

AI学習対策

現在のAI学習対策としては、技術的な制御(メタタグ、robots.txt、llms.txt、HTTPヘッダー)と法的な整備(利用規約)を組み合わせるアプローチが考えられます。

対策手法実装方法効果リスク
メタタグによる意思表示HTMLの<meta>タグでAIクローラーへの拒否を表明明示的な意思表示の記録技術的に無視される可能性
robots.txt制御サイトルートでUser-Agent指定によるアクセス制限検索エンジンとAIクローラーの区別強制力なし(紳士協定)
llms.txt制御LLM向けコンテンツガイドの提供とアクセス方針の明示AIに適切な情報提供方法を指示協力的なAIのみ対応
HTTPヘッダー制御X-Robots-Tagヘッダーでの補完的制御HTMLを解析せずHTTPレベルで意思表示メタタグと同等のリスク
利用規約の整備AI学習禁止・データセット化禁止の明記(日本語版、英語版)規約違反として対処可能な根拠確保法的曖昧性・強制執行の困難さ

下記では具体的な対策について簡単に説明します。

メタタグによる意思表示

HTMLの<meta>タグで、AIクローラーに対する明示的な拒否を表明する方法があります。GoogleのAIクローラー(Google-Extended)や、その他の主要なAIサービスに対して学習拒否の意思を伝えることができます。

HTML
<!-- Google AI学習クローラーのブロック -->
<meta name="googlebot" content="index, follow">
<meta name="googlebot-news" content="index, follow">
<meta name="google-extended" content="noindex, nofollow">

<!-- OpenAI ChatGPTクローラーのブロック -->
<meta name="gptbot" content="noindex, nofollow">

<!-- Anthropic Claudeクローラーのブロック -->
<meta name="claudebot" content="noindex, nofollow">

<!-- Common Crawlクローラーのブロック -->
<meta name="ccbot" content="noindex, nofollow">

<!-- 汎用的なAIクローラーのブロック -->
<meta name="robots" content="index, follow, noai, noimageai">

robots.txtでのクローラー制御

サイトルートに配置する robots.txt ファイルで、AIクローラーのUser-Agentを指定してアクセスを制限する方法があります。一般的な検索エンジン(Google、Bingなど)は許可しつつ、AI学習目的のクローラー(GPTBot、ChatGPT-User、ClaudeBot等)を性善説に基づき制限します。

TXT
# 検索エンジンは許可
User-agent: Googlebot
Allow: /

User-agent: Bingbot
Allow: /

# OpenAI クローラーのブロック
User-agent: GPTBot
Disallow: /

User-agent: ChatGPT-User
Disallow: /

User-agent: OAI-SearchBot
Disallow: /

# Anthropic クローラーのブロック
User-agent: ClaudeBot
Disallow: /

User-agent: anthropic-ai
Disallow: /

# Google AI学習クローラーのブロック
User-agent: Google-Extended
Disallow: /

User-agent: GoogleOther
Disallow: /

# その他のAIクローラーのブロック
User-agent: CCBot
Disallow: /

User-agent: PerplexityBot
Disallow: /

User-agent: Applebot-Extended
Disallow: /

User-agent: Bytespider
Disallow: /

User-agent: Amazonbot
Disallow: /

User-agent: cohere-ai
Disallow: /

llms.txtによるLLM向け情報提供

llms.txtは、LLM(Large Language Model)が推論時にWebサイトの情報を効率的に利用できるよう、サイトのルートに配置するMarkdown形式のファイルです。robots.txtが「アクセスの可否」を示すのに対し、llms.txtは「どのように情報を利用すべきか」を示します。

llms.txtの目的

従来のHTML形式のWebページは、ナビゲーション・広告・JavaScriptなどが含まれ、LLMが必要な情報を抽出することが困難でした。llms.txtは以下の目的で設計されています。

  • LLMが理解しやすい簡潔なMarkdown形式での情報提供
  • サイトの概要と重要なドキュメントへのリンク集約
  • コンテキストウィンドウの制限を考慮した効率的な情報構造
  • 推論時(ユーザーがAIに質問する際)の適切な情報アクセス支援

llms.txtの基本構造

Markdown
# サイト名またはプロジェクト名

> サイトの簡潔な説明。プロジェクトの目的や重要な前提条件を記載

サイトに関する詳細情報やLLMが知っておくべき重要な注意事項をここに記述します。

## 主要ドキュメント

- [ドキュメント名](https://example.com/doc.html): ドキュメントの簡潔な説明
- [APIリファレンス](https://example.com/api.html): APIの使用方法

## Optional

- [補足情報](https://example.com/extra.html): 必須ではない追加情報

AI学習対策としてのllms.txt

llms.txtは本来、LLMに適切な情報を提供するための仕様ですが、AI学習対策としても活用できます。

Markdown
# [サイト名]

> このサイトのコンテンツはAI学習目的での使用を禁止しています

当サイトは著作権で保護されたオリジナルコンテンツを提供しています。
LLMの推論時(ユーザーからの質問への回答)での参照は歓迎しますが、
モデルの学習データとしての収集・使用は利用規約により明示的に禁止されています。

## 利用規約

- [利用規約](https://example.com/terms): AI学習禁止の詳細
- [プライバシーポリシー](https://example.com/privacy): データ取扱方針

llms.txtは協力的なAIサービスにのみ有効です。robots.txt同様、技術的な強制力はありませんが、AIに対してサイトの方針を明確に伝える手段として機能します。推論時の参照を許可しつつ、学習目的の使用を禁止する意思表示が可能です。

HTTPヘッダーでの追加制御

X-Robots-Tagヘッダーによる補完的な制御です。メタタグと同等の効果ですが、HTMLを解析せずともHTTPレベルで意思表示が可能になります。

実装例(Next.js)

TypeScript
// next.config.ts
export default {
  async headers() {
    return [
      {
        source: '/:path*',
        headers: [
          {
            key: 'X-Robots-Tag',
            value: 'index, follow, noai, noimageai',
          },
        ],
      },
    ];
  },
};

実装例(Apache .htaccess)

APACHE
<FilesMatch "\.(html|htm|php)$">
  Header set X-Robots-Tag "index, follow, noai, noimageai"
</FilesMatch>

利用規約の整備

最後に利用規約で法的根拠を明確化します。

  • AI学習の明示的禁止: 機械学習、深層学習、LLM(Large Language Model)等のモデル学習目的での使用を禁止
  • データセット化の禁止: コンテンツの収集・複製・加工・再配布を禁止
  • 検索エンジンとの区別: Google等の検索目的は明示的に許可
  • 多言語対応: 日本語版・英語版を用意し、国際的な対応を考慮
  • 違反時の対応: 技術的制御を無視した場合の規約違反を明記

利用規約は意思表示としての役割を果たしますが、AI学習クローラーに対する法的拘束力が確立されているわけではありません。あくまで将来的な法的対応の根拠として機能する可能性があるという位置づけです。

まとめ

技術的制御(メタタグ、robots.txt、llms.txt、HTTPヘッダー)と利用規約を組み合わせることで、AI学習クローラーに対する意思表示を明確化できます。特にllms.txtは、推論時の適切な利用を許可しつつ学習目的の使用を禁止する柔軟な意思表示が可能です。より根本的な学習対策が必要であれば認証による物理的なアクセス制限やWAF(Web Application Firewall、Cloudflare等)によるUser-Agent/IPブロックも検討してみてください。

参考リソース

関連技術情報

法的・ポリシー関連

WAF・セキュリティ関連

AI学習対策事例

この記事は役に立ちましたか?

この記事をシェア

X
Facebook
はてな
URLをコピー
utsusieのプロフィール画像

utsusie

UI Designer / Web Director