如何允许AI机器人抓取你的网站:完整robots.txt与llms.txt指南

如何允许AI机器人抓取你的网站:完整robots.txt与llms.txt指南

如何允许AI机器人抓取我的网站?

通过在robots.txt文件中为GPTBot、PerplexityBot、ClaudeBot等特定AI爬虫配置明确的Allow指令,并可选地创建llms.txt文件为AI系统提供结构化内容,从而允许AI机器人抓取你的网站。

理解AI机器人抓取

AI机器人是自动化爬虫,系统性地浏览和索引网页内容,为大型语言模型和AI驱动的搜索引擎(如ChatGPT、Perplexity和Claude)提供数据。与主要用于搜索结果索引的传统搜索引擎爬虫不同,AI爬虫收集数据用于模型训练、实时信息检索和生成AI驱动的响应。这些爬虫有各自不同的用途:有的为初始模型训练收集数据,有的为AI响应获取实时信息,还有的为AI应用构建专用数据集。每个爬虫通过独特的user-agent字符串自我标识,网站所有者可通过robots.txt文件控制访问权限,因此正确配置你的网站以获得AI可见性至关重要。

AI爬虫与传统搜索机器人关键区别

AI爬虫的运行方式与Googlebot等传统搜索引擎机器人有本质区别。最重要的区别是大多数AI爬虫不渲染JavaScript,也就是说它们只能看到你网站返回的原始HTML内容,忽略任何由JavaScript加载或修改的内容。像Google这样的传统搜索引擎拥有复杂的渲染流程,可以执行脚本并等待页面完全渲染,但AI爬虫则优先考虑效率和速度,无法处理动态内容。此外,AI爬虫访问网站的频率也与传统机器人不同,通常比Google或Bing抓取更频繁。这意味着,如果你的核心内容隐藏在客户端渲染、无尽的重定向或大量脚本之后,AI爬虫可能永远无法获取这些内容,导致你的内容对AI搜索引擎不可见。

为AI机器人配置robots.txt

你的robots.txt文件是控制AI爬虫访问你网站的主要机制。该文件位于你域名的根目录(yoursite.com/robots.txt),通过具体指令告知爬虫哪些部分可以访问,哪些不可以。最重要的一点是,AI爬虫默认不会被屏蔽——除非你明确禁止,否则它们会抓取你的网站。因此,明确配置对于确保你的内容出现在AI搜索结果中至关重要。

主要AI爬虫的User-Agent

下表列出了最重要的AI爬虫及其用途:

爬虫名称公司用途User-Agent字符串
GPTBotOpenAI为ChatGPT和GPT模型进行数据训练Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.0; +https://openai.com/gptbot)
ChatGPT-UserOpenAI当用户在ChatGPT中请求信息时按需抓取页面Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ChatGPT-User/1.0; +https://openai.com/chatgpt)
ClaudeBotAnthropic为Claude AI响应实时抓取引用Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +https://www.anthropic.com/claude)
Claude-WebAnthropic用户请求实时信息时为Claude提供网页浏览能力Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Claude-Web/1.0; +https://www.anthropic.com)
PerplexityBotPerplexity构建Perplexity AI搜索引擎索引Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot)
Perplexity-UserPerplexityPerplexity用户提问时的用户触发请求Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Perplexity-User/1.0; +https://perplexity.ai/perplexity-user)
Google-ExtendedGoogleGemini等AI相关索引,超越传统搜索Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Google-Extended/1.0; +https://google.com/bot.html)

允许AI爬虫的基础robots.txt配置

若要允许所有主要AI爬虫访问你的网站,在robots.txt中添加以下内容:

User-agent: GPTBot
User-agent: ChatGPT-User
User-agent: ClaudeBot
User-agent: Claude-Web
User-agent: PerplexityBot
User-agent: Perplexity-User
User-agent: Google-Extended
Allow: /

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

该配置明确允许所有主要AI爬虫抓取你的网站内容。Allow指令告知这些爬虫有权抓取你的内容,而Sitemap指令有助于它们更高效地发现你最重要的页面。

有选择的访问控制

如果你想允许部分AI爬虫、限制其他爬虫,可创建更细致的规则。例如,你可能只想允许以搜索为主的PerplexityBot,而屏蔽如GPTBot的训练爬虫:

User-agent: GPTBot
User-agent: Google-Extended
Disallow: /

User-agent: ChatGPT-User
User-agent: ClaudeBot
User-agent: Claude-Web
User-agent: PerplexityBot
User-agent: Perplexity-User
Allow: /

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

这种做法屏蔽了模型训练爬虫,同时允许搜索和用户触发的爬虫,有助于你在保持AI搜索引擎可见性的同时,防止内容被用于AI模型训练。

理解llms.txt文件

llms.txt文件是2024年提出的一项新标准,旨在帮助AI系统更好地理解和导航你的网站。与控制访问的robots.txt不同,llms.txt为AI友好地结构化展示了你网站的内容和组织。这是专为语言模型设计的内容目录,帮助它们快速识别你最重要的页面,并无需解析复杂的HTML、菜单、广告和JavaScript即可了解你的网站结构。

llms.txt为何对AI可见性重要

大型语言模型有一个关键限制:它们的上下文窗口过小,无法处理整个网站。将复杂的HTML页面转换为LLM友好的纯文本既困难又不精确。llms.txt通过在单一、易访问的位置提供简洁、专家级的信息解决了这一问题。当AI系统访问你的网站时,可以参考llms.txt文件快速了解你网站的内容、重点页面及详细信息的入口。这大大提升了你的内容被AI准确理解和引用的概率。

创建你的llms.txt文件

你的llms.txt文件应放在域名根目录(yoursite.com/llms.txt),基本结构如下:

你的公司名称

简要描述你的公司及业务内容。

核心页面

资源

支持

可选

该文件采用Markdown格式,H1为公司名,块引用为简要介绍,H2用于各部分标题,每节下有带简要说明的链接列表。“可选"部分表示在AI系统上下文有限时可跳过的内容。

针对详细内容创建llms-full.txt

对于需要更详细信息的AI系统,你可以创建可选的llms-full.txt文件,提供关于公司、产品和服务的全面内容。该文件以干净的Markdown格式串联你最重要的页面,让拥有更大上下文窗口的AI系统无需解析HTML即可获取完整信息。llms-full.txt应包括产品、服务、目标客户、主要功能、竞争优势和联系方式的详细描述。

AI爬虫的JavaScript渲染难题

AI抓取可见性的最大挑战之一是对JavaScript的依赖。如果你的网站依赖JavaScript加载核心内容,务必确保这些信息在初始HTML响应中即可获取,否则AI爬虫将无法看到。这与传统SEO有本质区别,Google可以在首次访问后渲染JavaScript,但AI爬虫优先考虑大规模效率,通常只抓取初始HTML响应,并提取可用文本。

假设你是一个电商网站,通过JavaScript加载商品信息、用户评价、价格表或库存状态。对人类访客来说,这些内容无缝集成在页面中。但由于AI爬虫不处理JavaScript,这些动态加载的元素不会被看到或索引,影响你的内容在AI响应中的展现。为解决这一问题,应在初始HTML响应中呈现关键内容,使用服务端渲染(SSR)直接输出内容,或采用静态站点生成(SSG)预生成HTML页面。

Schema标记与结构化数据

**Schema标记(结构化数据)**是提升AI可见性的最重要因素之一。通过Schema明确标注作者、主题、发布日期、产品信息和公司详情等内容元素,有助于AI系统更高效地解析和理解你的内容。没有Schema标记,答案引擎更难分析页面并提取生成准确响应所需的信息。

对AI可见性最关键的Schema类型包括:文章Schema(博客和新闻内容)、产品Schema(电商网站)、组织Schema(公司信息)、作者Schema(建立权威和专业性)、以及面包屑导航Schema(帮助AI理解网站结构)。在高影响力页面上实现这些Schema类型,能明确告知AI爬虫哪些信息重要及其含义。这样,AI系统可自信地提取和理解相关内容,你的页面也更易被AI引用。

核心Web指标与AI抓取

虽然AI爬虫不会直接测量核心Web指标(LCP、CLS、INP),但这些性能指标会间接显著影响你的AI可见性。较差的核心Web指标反映技术问题,会妨碍爬虫抓取和提取你的内容。当你的网站加载缓慢(LCP问题),爬虫需更长时间获取和渲染页面,每次抓取能检索的URL数量减少。加载过程不稳定(CLS问题)会导致内容提取混乱,使爬虫获取到不完整或错乱的内容。

此外,较差的页面性能也会影响你在传统搜索中的排名,而这往往是AI收录的前提。大多数AI系统依赖排名靠前的搜索结果进行引用,因此如果核心Web指标差导致你在搜索结果中靠后,你在AI可见性上也会丧失竞争力。当多家网站内容相似时,性能指标往往起决定作用。如果你的内容与竞争对手同样权威且相关,但对方页面加载更快、更稳定,AI系统更倾向引用对方内容。长期来看,这种劣势会累积,降低你在AI引用中的整体份额。

监控AI爬虫活动

了解AI爬虫是否真的访问了你的网站,对于优化AI可见性策略至关重要。你可以通过以下方式监控AI爬虫活动:

  • 服务器日志分析:检查服务器日志中是否有"GPTBot”、“ClaudeBot”、“PerplexityBot”、“Google-Extended"等User-Agent,了解哪些爬虫访问了你的网站以及访问频率
  • Google Search Console:虽然GSC主要跟踪Google爬虫,但能提供整体抓取和索引情况的洞察
  • 实时监控平台:专用工具可全站跟踪AI爬虫活动,显示哪些页面被抓取、抓取频率及最近访问时间
  • 分析平台:在分析工具中配置自定义UTM参数或过滤器,追踪来自Perplexity和ChatGPT等AI平台的引荐流量
  • AI专用监控工具:专为AI可见性设计的平台,可跟踪你的品牌在ChatGPT、Claude、Gemini和Perplexity等平台的提及,显示哪些页面被引用及频率

通过监控这些活动,你可以识别哪些页面被频繁抓取(表明AI可见性良好),哪些页面被忽略(可能存在技术或内容问题)。这些数据有助于你有针对性地优化重点。

AI抓取最佳实践

为最大化你的网站在AI爬虫中的可见性,请遵循以下成熟的最佳实践:

  • 用HTML输出关键内容:确保最重要的内容在初始HTML响应中可用,不要被JavaScript或动态加载隐藏
  • 添加完整的Schema标记:在高价值页面实现文章、产品、组织、作者及面包屑Schema,帮助AI理解你的内容
  • 确保作者信息和内容新鲜度:用Schema标记添加作者信息,利用内部专家或意见领袖,内容定期更新
  • 优化核心Web指标:监控并提升LCP、CLS和INP分数,确保页面快速加载和稳定渲染
  • 创建AI优化Sitemap:除标准Sitemap外,可为AI系统单独创建优先级内容Sitemap
  • 实现llms.txt和llms-full.txt:为语言模型提供结构化、AI友好的内容版本
  • 测试robots.txt配置:使用校验工具确保robots.txt格式正确,指令生效
  • 定期监控爬虫活动:用实时工具跟踪AI爬虫访问,识别技术障碍
  • 随新爬虫出现及时更新配置:AI爬虫生态变化快,定期更新robots.txt,纳入新爬虫
  • 评估每个爬虫的商业价值:判断是否允许GPTBot等训练爬虫,是否只允许搜索爬虫,结合业务目标做决策

允许训练型与搜索型爬虫的区别

配置robots.txt时,你需要决定是否允许训练型爬虫、搜索型爬虫或两者兼容。训练型爬虫如GPTBot和Google-Extended用于模型训练,这意味着你的内容可能被用于训练AI模型。搜索型爬虫如PerplexityBot和ChatGPT-User用于实时AI响应,会在AI搜索结果中引用你的内容。用户触发型爬虫如Perplexity-User和Claude-Web在用户请求时抓取特定页面。

允许训练爬虫意味着你的内容将参与AI模型的开发,这既可能是机会(内容帮助训练更优秀的AI),也可能是风险(内容被无偿使用)。允许搜索爬虫则保证你的品牌出现在AI搜索结果,有机会获得AI平台带来的流量。多数企业选择允许搜索爬虫,并根据内容授权理念和竞争策略决定是否允许训练爬虫。

应对Web应用防火墙(WAF)

如果你使用Web应用防火墙保护网站,可能需要显式将AI爬虫加入白名单,确保其能访问内容。许多WAF服务商默认屏蔽不熟悉的User-Agent,即使已在robots.txt中允许AI爬虫,也可能导致其无法访问。

对于Cloudflare WAF,可创建自定义规则,允许User-Agent中包含"GPTBot”、“PerplexityBot”、“ClaudeBot"等AI爬虫的请求,并结合各AI公司公布的官方IP地址进行验证。AWS WAF可为每个爬虫建立IP集,结合User-Agent字符串匹配,再创建允许规则。务必使用官方最新IP段,因为这些地址会定期更新,应以官方数据为准。

AI机器人抓取常见问题解答

AI爬虫默认会被屏蔽吗? 不会。AI爬虫默认不会被屏蔽,除非你在robots.txt中明确禁止,否则会抓取你的网站。因此,显式配置很重要,以确保你的内容出现在AI搜索结果中。

所有AI爬虫都会遵守robots.txt吗? 大多数主流AI爬虫会遵守robots.txt指令,但有些可能会忽略。可通过服务器日志监控,必要时结合防火墙规则加强控制。OpenAI、Anthropic、Perplexity等知名AI公司都遵守robots.txt标准。

应该屏蔽训练爬虫吗? 取决于你的策略和内容授权理念。屏蔽训练爬虫可防止内容用于AI模型训练,允许搜索爬虫则可保持AI搜索结果可见性。很多企业选择允许搜索爬虫、屏蔽训练爬虫。

robots.txt配置应多久更新一次? 每月关注新爬虫,季度更新robots.txt,重大内容变更或发布新产品时立即更新llms.txt。AI爬虫生态变化快,保持最新很重要。

llms.txt和llms-full.txt都必须有吗? 不一定。llms.txt是必需的,作为简明的Markdown内容目录。llms-full.txt为可选,向需要详细信息的AI系统提供全面内容。建议先从llms.txt开始,如需提供更详实信息再补充llms-full.txt。

怎样追踪AI爬虫活动? 通过服务器日志分析爬虫User-Agent,使用AI可见性实时监控平台,检查分析工具中的AI平台引荐流量,或用专用工具追踪ChatGPT、Claude、Gemini、Perplexity等平台的品牌提及。

AI爬虫与传统SEO有何不同? AI爬虫抓取内容用于生成AI搜索引擎答案,传统SEO则通过搜索结果为网站带来流量。AI优化的关注点是让内容在AI响应中被准确代表,而不是仅靠排名获取点击。

AI专用Sitemap有必要吗? 虽非强制,但AI专用Sitemap可帮助AI系统优先抓取你最重要的内容,类似新闻或图片Sitemap对传统搜索的作用,有助于提升抓取效率和结构理解。

如何判断我的站点是否可被AI抓取? 建议投资AI专用实时监控方案。没有专门的监控,你无法了解AI爬虫是否成功访问并理解了你的内容。检查服务器日志中的AI爬虫User-Agent,监控你的核心Web指标,确保关键内容用HTML输出。

如果AI爬虫不访问我的网站怎么办? 若AI爬虫访问不频繁,通常是技术或内容问题导致抓取受限。请检查网站技术健康状况,确保关键内容用HTML输出(非JavaScript),实现Schema标记,优化核心Web指标,并确认robots.txt配置无误。

监控你的品牌在AI搜索引擎的表现

追踪你的网站在ChatGPT、Perplexity、Claude等AI搜索结果中的展现。实时了解你的AI可见性和品牌提及。

了解更多

如何在服务器日志中识别AI爬虫:完整检测指南
如何在服务器日志中识别AI爬虫:完整检测指南

如何在服务器日志中识别AI爬虫:完整检测指南

了解如何在服务器日志中识别并监控GPTBot、PerplexityBot和ClaudeBot等AI爬虫。发现User-Agent字符串、IP验证方法以及跟踪AI流量的最佳实践。...

2 分钟阅读
我应该允许哪些AI爬虫访问?2025年完整指南
我应该允许哪些AI爬虫访问?2025年完整指南

我应该允许哪些AI爬虫访问?2025年完整指南

了解应在robots.txt中允许或阻止哪些AI爬虫。全面指南涵盖GPTBot、ClaudeBot、PerplexityBot及25+种AI爬虫,并附配置示例。

1 分钟阅读
如何在服务器日志中识别AI爬虫
如何在服务器日志中识别AI爬虫

如何在服务器日志中识别AI爬虫

学习如何在服务器日志中识别并监控如 GPTBot、ClaudeBot 和 PerplexityBot 等AI爬虫。完整指南涵盖 user-agent 字符串、IP 验证及实用监控策略。...

2 分钟阅读