User-Agent(ユーザーエージェント)とは|意味・読み方・robots.txtとの関係
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月時点)
| 名前 | 運営 | 運営元が公開している目的 |
|---|---|---|
| GPTBot | OpenAI | 生成AIの基盤モデルの学習 |
| OAI-SearchBot | OpenAI | ChatGPTの検索機能で、Webサイトを検索結果に表示する |
| ChatGPT-User | OpenAI | ユーザーの指示に応じたページの取得 |
| ClaudeBot | Anthropic | 生成AIモデルの学習のためのWebコンテンツ収集 |
| Google-Extended | Geminiの学習などへの利用可否をrobots.txtで指定する名前。独自のクローラーではない | |
| PerplexityBot | Perplexity AI | Perplexityの検索結果で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.txt | AIにサイトの内容を案内するために置くMarkdownファイル |
| noindexチェック | 公開したいページに、意図せずnoindexが設定されていないか確かめる作業 |
| TDM例外 | EU著作権指令が定める、テキスト・データマイニングの例外規定 |
よくある質問
User-Agentは何と読みますか?
「ユーザーエージェント」と読みます。
AIクローラーが実際にサイトを訪問しているか確認できますか?
できます。サーバーのアクセスログを、GPTBot・ClaudeBotなどのUser-Agentの名前で絞り込みます。
robots.txtには、User-Agentの長い文字列をそのまま書くのですか?
書くのは「GPTBot」「ClaudeBot」のようなクローラーの名前だけです。名前は各社の公式ドキュメントに載っています。