联系我们

选择国家和城市

我们在美國的办公室

  • 纽约
    Division Street 40, New York, 10002
    +1 (347) 620-09-02
  • 華盛頓哥倫比亞特區
    L Street Northwest 1200, Washington, 20005
    +1 (347) 620-09-02

GPTBot、ClaudeBot、PerplexityBot:哪些AI爬虫该放行,哪些该拦截

谢尔盖·卡尔普(纽约), 联合创始人 / CTO

下面这个场景,我们在做AI可见度审计时反复遇到。一家公司花了一年时间投入内容:专家文章、更新过的服务页面、像样的常见问题板块。可它就是不出现在ChatGPT或Perplexity的回答里。我们打开robots.txt,发现一条多年前为了挡采集器而加的规则,把所有“未知”机器人全部拦下。或者robots.txt本身没问题,但CDN的机器人防护或某条地区封锁规则拒绝了来自海外数据中心的请求,于是OpenAI的爬虫被挡在门外。网站在,内容也在,但对好几个AI助手来说,它根本不存在。

反过来的情况同样常见。老板得知GPTBot正在下载自己的文章用于模型训练,一气之下把所有AI爬虫一次性全部封掉,连那些会带来客户的也不放过。下面我们就把事情讲清楚:AI爬虫分哪几类,训练爬虫和搜索爬虫有什么区别,以及怎样设置访问权限,才能既不丢内容、也不丢客户。

核心要点

AI爬虫分三类:训练模型、为搜索建索引、为用户抓取页面。放行搜索类和用户类,训练类自行取舍,并记得检查CDN和防火墙。

AI为什么必须访问您的网站

当有人问ChatGPT、Claude、Gemini或Perplexity“谁能给一家小型电商做账务审计”时,他得到的是一段AI回答:一段现成的文字,里面有建议、有公司名称,还有指向来源网站的链接。在聊天助手里,回答连同引用一起出现在对话中;在Google里,它以AI Overview的形式出现在常规结果之上。人们读完回答,往往直接从中做出选择。

要写出这段回答,AI必须读取页面。抓取页面的程序叫爬虫,也叫机器人。每个爬虫都会用一个名字(即user agent字符串)向服务器表明身份,robots.txt里的规则正是依据这个名字来放行或拦截它。如果该来的爬虫打不开页面,AI就无法引用它。

AI爬虫的三种类型:训练、搜索和用户请求

最要紧的一点是:“AI机器人”不是一个机器人。大型AI公司都运行着好几个,各自分工不同。

  • 训练爬虫收集可能用于训练未来模型的文本。拦截它们,您的内容就不会进入模型的“记忆”,但通常不影响实时搜索。
  • 搜索爬虫为页面建立索引,好让AI能找到它们并在回答中引用。拦掉这一类,您的网站就会从带来源的回答里消失。
  • 用户触发的抓取程序会在聊天中有人说“帮我看看这个网站”时,或助手在作答过程中需要核对某个页面时,打开指定的那一个页面。这不是批量抓取,而是代表用户的一次性动作。

对企业网站来说,逻辑很简单。搜索爬虫和用户触发的抓取程序几乎总该放行:它们带来提及和访问。训练爬虫可放可拦,这是公司层面的政策决定,不是营销决定。

AI爬虫一览:谁是谁

爬虫的名称和职责时有变动:各家公司会新增机器人,也会重新说明现有机器人的用途。下表是撰稿时的情况。在动手配置之前,请先查阅各家公司发布的面向站长的文档。

公司 爬虫(user agent) 用途 拦截后会怎样
OpenAI GPTBot 收集用于模型训练的数据 内容不再用于训练;不影响ChatGPT搜索
OpenAI OAI-SearchBot ChatGPT中的搜索 您的网站可能从ChatGPT带链接的回答中消失
OpenAI ChatGPT-User 应用户要求打开页面 用户要求时,ChatGPT打不开您的页面
Google Googlebot 为Google搜索(含AI Overviews)建立索引 您的网站从Google搜索和AI Overviews中消失
Google Google-Extended(是一个令牌,不是独立爬虫) 控制内容是否用于Gemini的训练与事实支撑 内容不再用于这些用途;不影响Google搜索
Anthropic ClaudeBot 收集用于模型训练的数据 内容不再用于训练
Anthropic Claude-SearchBot 为Claude的回答做搜索 您的网站在Claude带来源的回答中出现得更少
Anthropic Claude-User 应用户要求打开页面 用户要求时,Claude打不开您的页面
Perplexity PerplexityBot 为Perplexity搜索建立索引 您的网站可能从Perplexity的回答中消失
Perplexity Perplexity-User 应用户要求打开页面 一般不遵循robots.txt,因此在robots.txt里拦它未必拦得住
Microsoft Bingbot 为Bing建立索引,而Bing是Copilot的底座 您的网站从Bing和Copilot的回答中消失
Yandex YandexBot 为Yandex搜索建立索引,而它是Alice AI的底座 您的网站从Yandex搜索和Alice AI的回答中消失

关于Google需要多说一句。Google-Extended不是一个会来访问您网站的机器人,它是您写在robots.txt里的一个令牌。抓取工作仍由Googlebot完成,这个令牌只是告诉Google:您的内容是否可以用于Gemini的训练与事实支撑。它不影响Google搜索。AI Overviews建立在Google搜索索引之上,所以您没法用Google-Extended把自己从中排除;而拦掉Googlebot,就等于彻底退出Google搜索。

关于用户触发的抓取程序也要说明一句。AI公司有时会把“应用户直接要求打开某个页面”的机器人描述为用户的行为,而非自动抓取,因此robots.txt规则对它们的适用方式可能与普通爬虫不同。Perplexity-User就是一例。如果您确实需要限制这类访问,请查阅该公司的最新文档,并考虑在服务器层面设置规则。

GPTBot:拦还是不拦?

GPTBot是我们被问得最多的问题,因为它是最广为人知的AI爬虫。关键在于:GPTBot负责的是训练,不是ChatGPT里带来源的回答。搜索由OAI-SearchBot负责,应用户要求打开页面则由ChatGPT-User负责。ChatGPT的其余情况,我们在如何在ChatGPT中获得推荐的指南里讲过。

这样一来,有意识的选择就剩三种:

  • 全部放行。适合绝大多数服务型企业和网店:AI对您的公司了解得越多越好。这类网站很少有值得保护的独家数据。
  • 拦训练,放搜索。适合出版机构、付费内容创作者,以及拥有独家数据库或方法论的企业。做法是拦掉GPTBot、ClaudeBot和Google-Extended,放行搜索爬虫和用户触发的抓取程序。
  • 除传统搜索外全部拦截。对内部企业门户或许说得通。但对一个要靠它获客的网站,这几乎总是个错误。

在服务器日志里,GPTBot的user agent是一段包含GPTBot字样、并带有该爬虫说明页链接的字符串。任何脚本都能伪造这段字符串,所以有疑问时,请用官方公布的IP段来核验请求。OpenAI和其他AI公司都会公布这些IP段。

如何在robots.txt里拦截AI爬虫:示例

下面各例中的example.com只是占位,功能性目录(用户中心、购物车、站内搜索)请替换成您自己的。

示例1.全部放行,只拦功能性目录

User-agent: *
Disallow: /account/
Disallow: /cart/
Disallow: /search/

Sitemap: https://example.com/sitemap.xml

最简单的方案。这里没有给AI爬虫单独分组,因此它们全都遵循带星号的通用分组。

示例2.拦训练,放搜索和用户请求

# Training crawlers: blocked
User-agent: GPTBot
Disallow: /

User-agent: ClaudeBot
Disallow: /

User-agent: Google-Extended
Disallow: /

# Search crawlers and user-initiated fetchers: allowed, except utility sections
User-agent: OAI-SearchBot
User-agent: ChatGPT-User
User-agent: Claude-SearchBot
User-agent: Claude-User
User-agent: PerplexityBot
User-agent: Perplexity-User
Disallow: /account/
Disallow: /cart/
Disallow: /search/

# Everyone else, including Googlebot, Bingbot and YandexBot
User-agent: *
Disallow: /account/
Disallow: /cart/
Disallow: /search/

Sitemap: https://example.com/sitemap.xml

这里有个技术细节,是大家最容易搞错的。爬虫会在robots.txt里找以自己名字命名的分组,一旦找到,它就会忽略星号通用分组。所以功能性目录的规则必须在每一个具名分组里重复一遍。否则,用户中心就只对OAI-SearchBot之外的所有人关闭。

示例3.一个常见错误

User-agent: *
Disallow: /

User-agent: Googlebot
Allow: /

这就是“除Google外全部拦截”的样子。网站还留在Google里,但对ChatGPT、Claude和Perplexity背后的爬虫完全关闭,对Bingbot也一样,也就意味着对Copilot关闭。这样的文件我们经常碰到,而站长通常连它的存在都不记得了。

那robots.txt里要写llms.txt吗?

robots.txt里并没有针对llms.txt的指令,所以您不需要声明它:这个文件在标准地址example.com/llms.txt上就能找到。只要确认robots.txt没有拦住对它的访问即可。文件里该写什么,见我们的llms.txt完整指南

防火墙、CDN和机器人防护:看不见的拦截

robots.txt是一个请求,不是一把锁。真正的锁在您的服务器上,或者在它前面,而且它常常拦下的正是您想放进来的那些机器人。最常见的几种情况:

  • CDN里的“拦截AI机器人”开关。有些CDN和安全服务提供一键拦截已知AI爬虫的设置,新项目里它甚至可能默认开启。这类开关并不总能区分训练爬虫和搜索爬虫。
  • DDoS防护和浏览器验证。爬虫过不了JavaScript验证或验证码,拿到的是验证页面,而不是您的内容。
  • 地区封锁。只服务单一国家的企业,有时会把其他所有地区的流量都封掉。AI爬虫通常从其他国家的数据中心发起请求,于是一并被拒。
  • 访问频率限制。爬虫连续请求多个页面就会触发限制,收到429状态码。
  • Web应用防火墙和安全插件。WordPress等CMS里的安全模块,以及主机层面的防火墙,会按自己的名单拦截“可疑”的user agent。

解决办法不是关掉防护,而是把该放行的爬虫加进白名单,最好按官方公布的IP段核验,而不是只看名字。这样真爬虫进得来,冒充GPTBot的机器人进不来。

如何查看服务器日志:谁来过、拿到了什么

唯一可靠的办法,是看服务器访问日志。它记录每一次请求:URL、状态码和user agent。下面是几条适用于运行nginx的Linux服务器的命令。您服务器上的日志路径可能不同。

# How many requests GPTBot made
grep -ci "GPTBot" /var/log/nginx/access.log

# Which status codes OAI-SearchBot receives
grep -i "OAI-SearchBot" /var/log/nginx/access.log | cut -d' ' -f9 | sort | uniq -c

# Which pages PerplexityBot requested
grep -i "PerplexityBot" /var/log/nginx/access.log | cut -d' ' -f7 | sort | uniq -c | sort -rn | head -20

结果怎么读:

  • 完全没有请求:要么爬虫还没来过,要么它在到达您的服务器之前就已经在CDN层面被拦下了。请查看CDN日志。
  • 200状态码:一切正常,爬虫拿到了您的页面。
  • 403、429或503状态码:爬虫来了,却被拒之门外。请到防护设置里找原因。
  • 大量301和404:爬虫把时间浪费在跳转和死链上了。该清理了。

如果您拿不到服务器权限,比如用的是托管型建站平台,那么Google Search Console和Bing Webmaster Tools里的抓取报告能帮上部分忙,但它们对AI爬虫只字不提。这种情况下,请去问平台的技术支持。

访问权限设置分步清单

步骤 做什么 什么时候做
1.政策 决定是否放行训练爬虫,并把它写成公司政策 一次
2.审查robots.txt 检查是否拦了Googlebot、Bingbot和各家AI搜索爬虫 一次,之后每次改版后再查
3.重写robots.txt 照上面某个示例来写,功能性目录的规则在每个分组里都重复一遍 一次
4.检查防护 逐项检查CDN设置、DDoS防护、地区封锁、防火墙和安全插件 一次,之后更换主机或CDN后再查
5.读日志 看哪些爬虫来过、它们收到的是什么状态码 改动后一到两周,之后每月一次

爬虫访问权限是我们AI搜索优化清单的第一节。这一节不过关,清单上其余的事都无从谈起。

结果:您的网站对能带来客户的机器人是敞开的

权限设置妥当之后,局面就可控了。搜索爬虫拿到的页面都是200状态码,功能性目录对所有人关闭,是否供模型训练是一个经过权衡并写进robots.txt的决定,而您的防护会放行经过核验的爬虫、挡住冒牌的。这不保证您一定能进AI回答,但它排除了缺席AI回答最令人窝火的那个原因:“它们根本就进不来”。

AI爬虫权限以及其他工作,我们怎么做

AI搜索优化自2002年起从事SEO。我们有全球100多家客户、Google与Yandex认证,网站与AI可见度由同一个团队端到端负责。我们为纽约以及国际市场的企业,优化在Google AI Overviews和AI Mode、ChatGPT、Gemini、Claude、Perplexity、Microsoft Copilot等AI助手中的表现。

设置AI爬虫访问权限,属于网站技术优化的一部分。完整服务包括:

  • AI可见度审计:robots.txt、服务器防护、日志,以及AI助手是怎么谈论您和您的竞争对手的;
  • 提示词研究:您的客户会向AI助手提出哪些问题;
  • 网站技术优化:AI爬虫访问权限、llms.txt、Schema标记、速度、错误;
  • 为AI回答而写的新内容;
  • 在第三方网站上的品牌提及;
  • 在外部来源发表文章,建立公司及其专家的权威性;
  • 持续的AI可见度监测。

AI是把网站当成一个整体来评估的,所以我们从第一天起就接管整个站点,从技术优化一直到GEO。我们保证交付GEO任务、修复错误,并让您的网站快速适应不断变化的AI搜索要求,包括陆续出现的新爬虫。

月费为每月290美元,含前10小时工作时长。每增加1小时45美元。GEO工作按实际工时结算:我们只对当月完成并交付的工作开票。不打折,也没有免费月。

预约通话。我们会查清您的网站现在正把哪些爬虫拒之门外,并把它向您的客户真正在用的AI助手敞开。

更多文章

AI搜索优化:如何让ChatGPT、Google AI Overviews和Perplexity推荐您的企业

AI助手只推荐它找得到、看得懂、信得过的企业。AI搜索优化让您的网站被引用,让您的公司在AI回答中被点名。

阅读文章

什么是生成式引擎优化(GEO)?写给企业主的GEO与SEO对比

GEO、AEO、LLMO和AI SEO说的是同一个目标:让AI推荐您的企业。GEO建立在SEO之上,两者缺一不可。

阅读文章

预约与AI搜索优化专家通话

我们会让您看到ChatGPT、Google AI Overviews、Perplexity等AI助手如何评价您的企业和竞争对手——以及您的网站内外需要做哪些改变。

纽约, 美國

切尔西·夏克

Division Street 40, New York, 10002, 纽约

+1 (347) 620-09-02

united-states-new-york-city-zh@promo-yar.ru