User-Agent(ユーザーエージェント)とは、WebサーバーにHTTPリクエストを送る際に、クライアント(ブラウザ・ボット・クローラーなど)が自身を識別するために送信する文字列のことです。

英語表記:User-Agent(読み方はユーザーエージェント)

ChromeブラウザもClaudeBotも、Webサーバーから見ると「User-Agentを持つクライアント」という点では同じです。AIクローラーはそれぞれ固有のUser-Agentを持っていて、robots.txtでその名前を指定すると、クローラーごとにアクセスの許可・拒否を伝えられます。

この言葉の基本

User-Agentという言葉の読み方・送り手・送られる場所

項目 内容
英語表記User-Agent
読み方ユーザーエージェント
送り手ブラウザ、ボット、クローラーなどのクライアント
送られる場所HTTPリクエストのヘッダー
混同しやすい言葉robots.txtの「User-agent」の行、Google-Extended(robots.txtで指定するためだけの名前)

たとえばGPTBotは、次のような文字列を送ります(OpenAIが公開している例)。

Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbot

User-Agentが使われる文脈

ブラウザがWebサイトにアクセスするとき、「自分はどんなクライアントか」を伝えるヘッダーが送られます。そこに入る識別文字列がUser-Agentです。HTTPの仕様(RFC 9110)では、リクエストを送ったユーザーエージェントについての情報を入れるヘッダーとして定められています。

AIサービスは自社のクローラーに固有のUser-Agentを設定しているので、サーバー側はこの文字列で、どのAIのクローラーが来たかを見分けられます。

主なAIクローラーのUser-Agentの名前と、運営元が公開している目的(2026年9月時点)

名前 運営 運営元が公開している目的
GPTBotOpenAI生成AIの基盤モデルの学習
OAI-SearchBotOpenAIChatGPTの検索機能で、Webサイトを検索結果に表示する
ChatGPT-UserOpenAIユーザーの指示に応じたページの取得
ClaudeBotAnthropic生成AIモデルの学習のためのWebコンテンツ収集
Google-ExtendedGoogleGeminiの学習などへの利用可否をrobots.txtで指定する名前。独自のクローラーではない
PerplexityBotPerplexity AIPerplexityの検索結果でWebサイトを表示・リンクする(基盤モデルの学習には使わない)
Grok系ボットSpaceXAI(旧xAI)詳細不明(SpaceXAIはクローラーの公式ドキュメントを公開していない)

名前と目的は、GPTBotの例で紹介したOpenAIのほか、Anthropic・Google・Perplexityがそれぞれ公開しています。名前は各社の更新で変わることがあります。

robots.txtの「User-agent」の行との違い

HTTPで送られるUser-Agentは、GPTBotの例のように長い文字列です。robots.txtの「User-agent」の行には、その中のクローラーの名前(プロダクトトークン)だけを書きます。仕様(RFC 9309)では、クローラーはこの名前を大文字・小文字を区別せずに照合します。「*」はすべてのクローラーに当てはまります。

# OpenAIの学習用クローラーだけを拒否
User-agent: GPTBot
Disallow: /

# Anthropicの学習用クローラーは /learn/ だけ許可
User-agent: ClaudeBot
Allow: /learn/
Disallow: /

Google-Extendedは、robots.txtで指定するためだけの名前です。HTTPのUser-Agentとしては送られず、アクセスログにも出てきません。取得はGoogleの既存のクローラーが行います。

似た言葉との関係

robots.txt

クローラーにアクセスの許可・拒否を伝えるファイルです。User-Agentの名前と組み合わせて、クローラーごとのルールを書きます。

TDM例外

EU著作権指令が定める例外規定で、法律上のオプトアウトの話です。robots.txtとUser-Agentによる指定は技術的な取り決めです。

GEO対策における位置づけ

User-Agentは、AIクローラーを個別に扱うときの識別子です。同じ運営元でも学習用と検索用で名前が分かれていれば、robots.txtで別々に指定できます。robots.txtで決められるのは取得の許可・拒否までで、AIの回答で引用されるかどうかは別のことです。

AIのボットの種類と、AIごとに対策を分ける必要があるかの全体像は、AIごとに対策を分ける必要はあるのか|AIクローラー3種類+土台で整理しています。

よくある誤解

robots.txtにUser-Agentを書けばAIクローラーは必ず従う

robots.txtはクローラーへの「お願い」で、強制力はありません。ユーザーの指示で取得するボットについては、OpenAI(ChatGPT-User)とPerplexity(Perplexity-User)が、robots.txtの指定が当てはまらない場合があると説明しています。

User-Agentは変わらない

AIサービスは、機能やサービスの変更に合わせてUser-Agentを更新することがあります。GPTBotの文字列にも「1.4」という版の番号が入っています。

User-Agentに関連する用語

User-Agentに関連する用語と、その意味

用語 意味
robots.txtクローラーにアクセスの許可・拒否を伝えるテキストファイル
AIボットクロールAIサービスのボットがWebコンテンツを自動取得する処理
llms.txtAIにサイトの内容を案内するために置くMarkdownファイル
noindexチェック公開したいページに、意図せずnoindexが設定されていないか確かめる作業
TDM例外EU著作権指令が定める、テキスト・データマイニングの例外規定

よくある質問

User-Agentは何と読みますか?

「ユーザーエージェント」と読みます。

AIクローラーが実際にサイトを訪問しているか確認できますか?

できます。サーバーのアクセスログを、GPTBot・ClaudeBotなどのUser-Agentの名前で絞り込みます。

robots.txtには、User-Agentの長い文字列をそのまま書くのですか?

書くのは「GPTBot」「ClaudeBot」のようなクローラーの名前だけです。名前は各社の公式ドキュメントに載っています。