AI 能够访问整个互联网并检索相关信息的核心技术是:AI 爬虫,这项技术正在迅速改变传统的网页抓取与内容分发模式,成为了互联网中重要组成部分。MERJ 和 Vercel 近期发布了一份研究报告,重点阐述了 AI 爬虫在网络内容采集中的增长趋势及其对网站优化的影响,并结合实际案例分析了 AI 爬虫的技术能力、内容偏好,以及局限性。报告的末尾,作者还分享了如何构建 AI 友好的网站优化建议,这些策略能够让网站内容更容易被新兴的 AI 工具正确理解和使用。
我们对作者的研究报告做了整理和翻译,希望给到大家一些思考和启发,原文内容可以通过点击「阅读原文」链接进行查阅。
Part.01
什么是 AI 爬虫
根据 MERJ(一家专业的数据咨询公司)和 Vercel(著名的前端开发和部署平台)的最新研究显示, AI 爬虫(人工智能网络内容采集器)已经成为网络上的重要存在。OpenAI 的 GPTBot 在过去一个月内在 Vercel 网络中生成了 5.69 亿次请求,而 Anthropic 的 Claude 紧随其后,达到了 3.7 亿次。要理解这个数字有多大,我们可以对比一下:这个总量已经达到了同期 Google 搜索引擎爬虫(Googlebot)45 亿次请求的 20%。换句话说,AI 爬虫的规模已经达到了传统搜索引擎的五分之一。
在此之前,我们与 MERJ 合作研究了 Google 搜索引擎是如何处理网页中的 JavaScript 代码的。现在,我们把目光转向了这些新兴的 AI 助手。通过分析数据,我们发现了 ChatGPT、Claude 等 AI 工具在获取和处理网页内容时的独特行为模式。
特别值得关注的是,这些 AI 爬虫在三个关键方面表现出了明显的特征,这些特征直接决定了 AI 工具如何理解和处理现代网站的内容:
JavaScript 代码的处理能力。 不同类型内容的优先级选择。 网页导航方式。
1) 研究方法与数据来源
为了确保研究的准确性和全面性,我们主要采集了两类数据:
1. 核心数据来源:对 nextjs.org(Next.js 官方网站)和 Vercel 网络的持续监控数据
2. 验证数据来源:为了验证发现的普遍性,我们还分析了两个使用不同技术架构的求职网站:
Resume Library(使用 Next.js 构建)
CV Library(使用传统的单体架构)
特别说明:由于微软的 Copilot(前身是 Bing Chat)没有使用独特的标识符,我们无法在数据中区分它的行为,因此未将其纳入本次研究范围。
2) AI 爬虫的规模
让我们来看看过去一个月内各类爬虫在 Vercel 网络上的访问量:
1. 传统搜索引擎:
Googlebot:45 亿次(包括 Gemini AI 和普通搜索)
GPTBot(ChatGPT 使用):5.69 亿次 Claude:3.7 亿次 AppleBot:3.14 亿次 PerplexityBot:2440 万次
虽然单个 AI 爬虫的规模还不及 Google,但它们的总和已经相当可观:所有 AI 爬虫加起来达到了约 13 亿次请求,占到了 Googlebot 流量的 28% 以上。这个数字令人印象深刻,说明 AI 爬虫正在成为网络世界中不可忽视的力量。
图|各类爬虫的访问量
3) AI 爬虫的地理分布
在地理分布方面,我们发现了一个有趣的现象,AI 爬虫都集中在少数几个美国数据中心:
ChatGPT:位于爱荷华州德梅因和亚利桑那州凤凰城 Claude:位于俄亥俄州哥伦布
相比之下,Google 的爬虫分布更广,遍布美国七个不同地点,包括俄勒冈州达尔斯、爱荷华州康瑟尔布拉夫斯和南卡罗来纳州蒙克斯科纳等地。
4) AI 爬虫的技术局限
(1) AI 爬虫无法执行网页中的 JavaScript 代码
在技术能力方面,我们重点研究了各类 AI 爬虫处理 JavaScript 的能力。研究发现,目前主流的 AI 爬虫都存在一个共同的局限性:它们不能执行网页中的 JavaScript 代码。具体包括:
1. 无法执行 JavaScript 的爬虫:
OpenAI 的所有爬虫(包括 OAI-SearchBot、ChatGPT-User、GPTBot) Anthropic 的 ClaudeBot Meta 的 Meta-ExternalAgent 字节跳动的 Bytespider Perplexity 的 PerplexityBot
Google 的 Gemini:因为使用了 Googlebot 的技术,可以完整运行 JavaScript AppleBot:采用类似浏览器的技术,能够处理 JavaScript、CSS 和 Ajax 请求 Common Crawl(CCBot):作为训练数据采集工具,不会执行 JavaScript
有趣的是,虽然 ChatGPT 和 Claude 的爬虫会下载 JavaScript 文件(ChatGPT 的请求中有 11.50% 是 JavaScript 文件,Claude 则达到 23.84%),但它们并不会执行这些代码。这就意味着,如果网站的内容需要通过 JavaScript 来显示,这些 AI 工具就无法看到这部分内容。
不过值得注意的是,如果网站的初始 HTML 响应中包含了完整内容(比如 JSON 数据或者 React 服务器组件),AI 模型仍然可以理解这些内容,因为它们能够解析各种格式的数据。
(2) AI 爬虫失败访问率较高
数据显示,当前的 AI 爬虫存在较高的失败访问率:
ChatGPT:34.82% 的请求遇到 404 错误(页面不存在) Claude:34.16% 的请求遇到相同问题 ChatGPT 还有 14.36% 的请求遇到了重定向
分析发现,除了常规的 robots.txt 文件外,这些爬虫经常试图访问 /static/ 目录下已经不存在的文件。这表明它们在选择和验证 URL 时还不够智能。
对比之下,Google 的表现要好得多:
仅 8.22% 的请求遇到 404 错误
只有 1.49% 的请求需要重定向
这种差异说明 Google 在优化爬虫访问效率方面投入了更多精力。
5) AI 爬虫的内容偏好
通过分析 nextjs.org 的访问数据,我们发现不同的 AI 爬虫在内容获取上有明显的偏好:
ChatGPT 特别关注 HTML 内容(占总请求的 57.70%) Claude 则更多地获取图片(占总请求的 35.17%) 两者都会获取大量 JavaScript 文件(ChatGPT:11.50%,Claude:23.84%),尽管并不执行这些代码
相比之下,Google 的爬虫(包括 Gemini)表现得更加均衡:
HTML 内容:31.00% JSON 数据:29.34% 纯文本:20.77% JavaScript:15.25%
这种差异可能反映出不同公司的技术策略:Google 经过多年发展,已经形成了成熟的内容采集策略;而新兴的 AI 公司可能还在探索最佳的内容获取方式。
6) AI 爬虫与传统搜索引擎的异同
基于 nextjs.org 的数据,我们发现了当前的 AI 爬虫行为的访问模式具有以下特点:
1. 跟随热度:自然流量大的页面更容易吸引爬虫的注意。
2. 不够智能:在选择要访问的 URL 时,表现得不够有规律。
3. 需要优化:AI 爬虫高失败率说明它们的 URL 选择策略还有待改进。
这与传统搜索引擎形成鲜明对比:搜索引擎已经开发出复杂的算法来决定访问顺序,而 AI 爬虫在这方面还处于起步阶段。
"我们的研究表明,尽管 AI 爬虫发展迅速,但在处理动态网页内容方面还面临不少挑战。随着 AI 技术继续改变网络世界,企业需要确保自己的网站既能被传统搜索引擎读懂,也能被 AI 工具正确理解。这就要求网站采用服务器端渲染等技术,确保核心内容容易被访问和理解。"
—— MERJ 董事总经理 Ryan Siddle
Part.02
网站优化策略
1) 对于希望被抓取的网站所有者
核心内容要用服务器端渲染。由于 ChatGPT 和 Claude 不执行 JavaScript,任何重要内容都应该是服务器渲染的。这包括主要内容(文章、产品信息、文档)、元信息(标题、描述、类别)和导航结构。可以使用:SSR(服务器端渲染)、ISR(增量静态再生成)、SSG(静态站点生成),这些技术确保所有访问者(包括 AI)都能看到完整内容。 次要功能可以用客户端渲染。可以自由使用客户端渲染来处理非必要的动态元素,如浏览计数器、交互式 UI 增强、实时聊天小部件和社交媒体源。 保持 URL 结构清晰稳定。考虑到 AI 爬虫较高的访问失败率,所有网站建设者应当维护好重定向规则、及时更新网站地图、使用简单统一的 URL 命名规则。
2) 对于不希望被抓取的网站所有者
善用 `robots.txt` 文件。robots.txt 文件可以有效控制各类爬虫的访问权限。通过指定特定的用户代理或产品令牌来为 AI 爬虫设置特定规则,限制对敏感或非必要内容的访问。要找到要禁止的用户代理,你需要查看每个产品的技术文档(例如,Applebot 和 OpenAI 的爬虫文档)。 使用 Vercel 的网站防火墙。Vercel 提供了便捷的"阻止 AI 机器人"功能,只需一键即可自动识别各类 AI 爬虫,灵活控制访问权限,保护网站资源。
3) 对于使用 AI 工具的用户
可能看不到动态内容。JavaScript 渲染的内容可能缺失。由于 ChatGPT 和 Claude 不执行 JavaScript,它们关于动态 Web 应用程序的响应可能不完整或过时。 要谨慎对待 AI 提供的信息来源。高达 34% 的 404 率意味着当 AI 工具引用特定网页时,这些 URL 有很大可能不正确或无法访问。对于关键信息,始终直接验证来源而不是依赖 AI 提供的链接。 内容更新可能不及时。除了 Gemini,其他 AI 工具的抓取规律不明显,有些可能引用较旧的缓存数据,即使要求 AI 获取最新内容,也可能看不到实时的爬取记录。
举个有趣的例子:当我们要求 ChatGPT 或 Claude 查询最新的 Next.js 文档时,通常在 nextjs.org 的服务器日志中看不到 AI 即时的访问记录。这说明这些 AI 工具很可能在使用已缓存的数据,即使它们声称正在获取最新信息。
Part.03
文章总结
AI 爬虫的崛起是一个重要的技术转折点。目前,它们在 Vercel 网络上每月已经产生近 10 亿次请求,这个数字还在持续增长。虽然在技术能力上还不及传统搜索引擎成熟,但它们正在改变我们获取和处理网络信息的方式。
对于网站开发者来说,关键是要确保:1)核心内容容易被访问、2)采用合适的渲染策略、3)优化网站结构、4)重视内容的可访问性。这不仅能提升网站在搜索引擎中的表现,也能确保网站内容能被新兴的 AI 工具正确理解和使用。