指南

面向 AI 爬虫的 robots.txt:允许与拒绝配方

用一个小小的文本文件,通过三份配方和逐个爬虫的对照表,控制 GPTBot、ClaudeBot、PerplexityBot 及其余爬虫。

作者: WebDoctor 编辑部·2026年7月22日·2 分钟阅读


要控制 AI 爬虫,请在域名根目录的 robots.txt 文件中加入 User-agent 和 Disallow 规则。你可以拦截每一个 AI 爬虫,可以拦截训练但保留 AI 搜索,也可以全部放行。该文件只是建议:守规矩的爬虫会遵守,但它不是访问控制。

robots.txt 如何控制 AI 爬虫

每家 AI 公司都运行一个或多个具名代理。你在 robots.txt 中通过它们的 user-agent 令牌来定位,再决定它们可以抓取什么。有三种做法值得掌握:完全拦截某个爬虫;只拦截训练爬虫而放行 AI 搜索爬虫;或者全部开放。下面的配方涵盖了这三种。每一份都放进 https://example.com/robots.txt 这一个文件里。

配方 1:拦截所有 AI 爬虫

它拒绝每一个有文档记录的 AI 代理,并加入两个用于管控训练用途的退出令牌。可以原样粘贴,也可以删掉你不在意的爬虫:

User-agent: GPTBot
Disallow: /

User-agent: OAI-SearchBot
Disallow: /

User-agent: ChatGPT-User
Disallow: /

User-agent: ClaudeBot
Disallow: /

User-agent: Claude-User
Disallow: /

User-agent: PerplexityBot
Disallow: /

User-agent: Perplexity-User
Disallow: /

User-agent: CCBot
Disallow: /

User-agent: Bytespider
Disallow: /

User-agent: Google-Extended
Disallow: /

User-agent: Applebot-Extended
Disallow: /

有一点需要说清楚:拦截 GPTBot 只会停止 OpenAI 的训练爬虫,而不是 ChatGPT 搜索(那是 OAI-SearchBot),也不是用户触发的浏览(那是 ChatGPT-User)。上面的配方三者都涵盖,所以每个都单独成块。

配方 2:允许 AI 搜索但拦截 AI 训练

一个常见目标是既保持在 AI 回答引擎中的可见性,又让自己的内容远离模型训练。放行搜索爬虫,拒绝训练爬虫和训练令牌:

# Allow AI search engines
User-agent: OAI-SearchBot
Allow: /

User-agent: PerplexityBot
Allow: /

# Block AI training
User-agent: GPTBot
Disallow: /

User-agent: ClaudeBot
Disallow: /

User-agent: CCBot
Disallow: /

User-agent: Google-Extended
Disallow: /

User-agent: Applebot-Extended
Disallow: /

Google-ExtendedApplebot-Extended 是这种区分的关键。它们是 robots.txt 令牌,而不是独立的爬虫。拒绝它们会把你的内容排除在 Gemini 和 Apple 的 AI 训练之外,同时 GooglebotApplebot 仍照常为普通搜索索引你的站点。

配方 3:全部允许(默认)

如果你什么都不做,这就是实际状态。空的 Disallow 会让每个爬虫抓取任意路径:

User-agent: *
Disallow:

没有 robots.txt 文件也是同样的意思。只有当你想限制某些东西时,才需要显式规则。

11 个 AI 爬虫对照

爬虫公司用途拦截以阻止……
GPTBotOpenAI抓取以训练模型用你的内容进行训练
OAI-SearchBotOpenAI为 ChatGPT 搜索结果提供支持出现在 ChatGPT 搜索中
ChatGPT-UserOpenAI用户触发的浏览与操作来自 ChatGPT 的用户触发抓取
ClaudeBotAnthropic抓取以训练模型用你的内容进行训练
Claude-UserAnthropic用户触发的抓取来自 Claude 的用户触发抓取
PerplexityBotPerplexity为其回答引擎建立索引在 Perplexity 中被索引
Perplexity-UserPerplexity用户触发的抓取来自 Perplexity 的用户触发抓取
Google-ExtendedGoogle管控 Gemini/Vertex AI 训练用途的令牌内容被用于 Gemini/Vertex AI 训练
Applebot-ExtendedApple管控 Apple AI 训练用途的令牌内容被用于 Apple AI 训练
CCBotCommon Crawl构建被广泛用于 AI 训练的公开数据集被收录进 Common Crawl 数据集
BytespiderByteDance (TikTok)AI 爬虫ByteDance 的 AI 抓取

robots.txt 能做什么、不能做什么

几条规则决定你的文件是否能生效:

  • 它必须位于域名根目录。 爬虫只读取 https://example.com/robots.txt,别处一概不读。放在子目录里的文件会被忽略,而且每个子域名都需要自己的一份。
  • 令牌不区分大小写。 GPTBotgptbot 匹配同一个爬虫。为了可读性请保留文档中的写法,但不必纠结于完全一致。
  • 有些条目是令牌,不是爬虫。 Google-ExtendedApplebot-Extended 从不抓取任何东西。它们只是表明 Google 和 Apple 是否可以把已抓取的内容用于 AI 训练。
  • 它是建议,不是围墙。 robots.txt 是自愿遵守的。正经的爬虫会尊重它;它不是访问控制,也拦不住一个执意忽略它的爬虫。若要硬性拦截,请使用防火墙规则、身份验证,或在边缘按 user-agent 和 IP 拦截。

搭配一个 llms.txt 文件

robots.txt 决定谁可以抓取。llms.txt 文件做的是相反的工作:它把 AI 系统指向你希望它们阅读和理解的内容。两者配合使用,你可以用 llms.txt 生成器来创建一个。想看看整个站点在 AI 爬虫眼中是什么样子,请运行 AI 就绪检查

robots.txtAI 爬虫

Frequently asked questions

拦截 GPTBot 会把我从 ChatGPT 中移除吗?
不会。GPTBot 只负责训练抓取。ChatGPT 搜索结果来自 OAI-SearchBot,用户触发的浏览使用 ChatGPT-User。想从 ChatGPT 搜索中退出,还要拒绝 OAI-SearchBot。OpenAI 的每个代理都是独立令牌,拦截一个不会拦截其他。
Google-Extended 和 Googlebot 有什么区别?
Googlebot 抓取页面用于普通搜索索引。Google-Extended 是 robots.txt 令牌,不是独立爬虫,它控制你的内容是否用于训练 Gemini 和 Vertex AI。拒绝 Google-Extended 即可退出 AI 训练,同时页面仍保留在 Google 搜索的索引中。
robots.txt 足以阻止 AI 抓取吗?
不足以。robots.txt 只是建议。正经的爬虫会遵守,但它不是访问控制,拦不住忽略规则的爬虫。若要硬性拦截,请使用服务器端手段,如防火墙规则、身份验证,或在边缘按 user-agent 和 IP 拦截。
robots.txt 文件放在哪里?
放在域名根目录,可通过 https://example.com/robots.txt 访问。放在子目录里的文件会被忽略,每个子域名和每种协议都需要各自的一份。user-agent 令牌不区分大小写,所以 GPTBot 和 gptbot 都匹配,但为清晰起见请保留文档中的写法。
我能拦截 AI 爬虫但保留普通搜索吗?
可以。像 Googlebot 和 Applebot 这样的普通搜索爬虫与 AI 训练令牌是分开的。拒绝 Google-Extended 和 Applebot-Extended 即可退出 AI 训练,同时 Googlebot 和 Applebot 仍会为常规搜索结果索引你的站点。

立即检测

继续阅读