AI爬虫适配是GEO优化的技术基础,确保GPTBot、ClaudeBot、Bytespider等主流AI爬虫可以正常访问、抓取、理解网站内容。如果爬虫无法访问或无法正确解析内容,后续所有内容优化和权威度建设都无法发挥作用。AI爬虫适配技术上与传统搜索引擎爬虫适配有共通之处,但也有AI爬虫的特殊要求。
主流AI爬虫识别
截至2026年Q2,需要适配的主流AI爬虫:
| AI平台 | 爬虫名称 | User-Agent片段 | 官方文档 | 主要用途 |
|---|---|---|---|---|
| OpenAI | GPTBot | GPTBot/ |
OpenAI官方公布 | ChatGPT训练+Browse |
| OpenAI | ChatGPT-User | ChatGPT-User/ |
ChatGPT Browse用户浏览 | |
| Anthropic | ClaudeBot | ClaudeBot/ |
Anthropic官方公布 | Claude训练+检索 |
| Google-Extended | Google-Extended/ |
Google Search Central | Gemini、AI Overviews | |
| ByteDance | Bytespider | Bytespider; |
豆包、抖音AI搜索 | |
| Perplexity | PerplexityBot | PerplexityBot/ |
Perplexity文档 | Perplexity AI搜索 |
| Microsoft | Bingbot | bingbot/ |
Copilot、Bing Chat | |
| DeepSeek | DeepSeekBot | DeepSeekBot/ |
深度求索AI检索 | |
| Baidu | Baiduspider | Baiduspider/ |
文心一言、百度AI搜索 |
完整最新列表建议参考各AI平台官方文档,UA字符串可能更新。
验证爬虫真实性:
- 通过反向DNS验证IP归属,不要仅凭User-Agent信任
- OpenAI、Anthropic等官方公布了爬虫IP段,可以验证
- 恶意爬虫可能伪造UA,重要站点建议做IP校验
robots.txt配置
robots.txt是爬虫访问的第一个文件,必须正确配置:
推荐配置示例
# robots.txt - GEO优化推荐配置
User-agent: GPTBot
Allow: /
Disallow: /admin/
Disallow: /private/
Disallow: /api/
Disallow: /*?print=
User-agent: ClaudeBot
Allow: /
Disallow: /admin/
Disallow: /private/
Disallow: /api/
User-agent: Google-Extended
Allow: /
Disallow: /admin/
Disallow: /private/
User-agent: Bytespider
Allow: /
Disallow: /admin/
Disallow: /private/
User-agent: PerplexityBot
Allow: /
User-agent: Bingbot
Allow: /
User-agent: Baiduspider
Allow: /
# 传统搜索引擎爬虫
User-agent: Googlebot
Allow: /
User-agent: *
Disallow: /admin/
Disallow: /private/
Sitemap: https://example.com/sitemap.xml
配置原则
- 默认允许AI爬虫:除非内容不希望被AI使用,否则Allow: /,不要默认禁止
- 禁止敏感路径:/admin/、/private/、/api/、登录后内容禁止抓取
- 不要禁止CSS/JS:爬虫需要渲染页面时需要这些资源
- sitemap必须正确:XML格式正确,URL可访问,定期更新
- 不要使用通配符过度禁止:Disallow: /*? 会禁止所有带参数URL,很多正常页面可能受影响
是否应该禁止AI爬虫?
是否允许AI爬取你的内容是版权选择,但从GEO角度:
- 禁止AI爬虫 = 放弃AI搜索流量和曝光
- 如果商业模式是内容付费,可以禁止付费内容,公开免费内容允许抓取
- 可以在llms.txt中说明引用规则(如要求标注来源链接)
可访问性优化
1. 渲染方式选择
AI爬虫对JavaScript渲染的支持程度:
| 渲染方式 | AI爬虫支持度 | GEO推荐度 |
|---|---|---|
| SSR(服务端渲染) | 完美支持 | ★★★★★ 首选 |
| SSG(静态站点生成) | 完美支持 | ★★★★★ 首选 |
| ISR(增量静态再生) | 完美支持 | ★★★★☆ |
| CSR(客户端渲染)+ 预渲染 | 基本支持 | ★★★☆☆ |
| 纯CSR无预渲染 | 部分支持,容易丢内容 | ★☆☆☆☆ 不推荐 |
验证方法:
# 不执行JS,直接获取HTML,检查核心内容是否存在
curl -A "Mozilla/5.0 GPTBot/1.0" https://example.com/your-page -o page.html
# 检查核心内容关键词是否在HTML中
grep -c "核心关键词" page.html
# 如果返回0,说明核心内容在JS中,爬虫可能抓不到
2. 访问速度要求
AI爬虫超时阈值通常在10-30秒,但越快越好:
- TTFB(首字节时间)< 500ms
- LCP(最大内容绘制)< 2.5s
- 页面完全加载 < 5s
速度优化:
- 使用CDN加速
- 压缩图片(WebP格式)
- 启用Gzip/Brotli压缩
- 减少不必要的第三方脚本
- 缓存静态资源
3. 避免访问壁垒
以下设置会阻止AI爬虫抓取:
- 登录墙:核心内容需要登录才能访问,爬虫无法抓取
- 验证码:访问页面需要验证码,爬虫无法通过
- IP封禁:防火墙/WAF误封AI爬虫IP段
- User-Agent封禁:明确禁止AI爬虫UA
- 地区限制:根据IP地区拦截,海外AI爬虫无法访问
- Cookie提示强制确认:必须点击接受Cookie才能看内容,爬虫不会点击
- 无限滚动:内容需要滚动加载,爬虫通常不模拟滚动
如果部分内容必须登录,确保公开可索引的内容(首页、产品介绍、博客、FAQ)不需要登录即可访问。
4. 状态码与重定向
- 正常页面返回200 OK
- 永久移动页面使用301重定向(不要用302)
- 不存在的页面返回404,不要软404(返回200但显示"页面不存在")
- 服务器错误返回5xx时,尽快修复,爬虫多次遇到5xx会降低抓取频率
- 重定向链不要超过3跳,最终目标直接200
检查方法:
# 检查页面状态码
curl -I -A "GPTBot/1.0" https://example.com/page
# 检查重定向链
curl -I -L -A "GPTBot/1.0" https://example.com/old-page
内容可解析性
即使爬虫可以访问页面,还需要能正确解析内容:
1. HTML语义化
使用正确的HTML标签组织内容:
- 一个页面一个
<h1>,是页面主标题 - 按层级使用
<h2>-<h6>,不跳级 - 段落用
<p>,不要用<div>代替 - 列表用
<ul>/<ol>/<li> - 标题和正文相邻,中间不要插无关内容
- 导航用
<nav>,页脚用<footer>,主要内容用<main>
2. 避免内容仅在媒体中
- 核心文字内容必须是HTML文本,不要做在图片里
- 图片必须有alt属性,描述图片内容
- 视频/音频必须有文字稿/字幕,爬虫无法理解音视频内容
- 不要用Canvas/WebGL渲染核心文字内容
3. 结构化数据部署
按Schema.org标准部署JSON-LD结构化数据,参见《结构化数据(JSON-LD)》百科。结构化数据是AI理解内容最快的通道。
4. llms.txt配置
正确配置llms.txt,为AI爬虫提供内容导航,参见《llms.txt协议》百科。
反爬策略适配
很多网站有反爬机制,注意不要误伤AI爬虫:
- AI爬虫通常不触发高频访问(除非是训练爬虫),正常浏览频率不会触发反爬
- 不要要求JavaScript挑战、Proof of Work
- 不要基于User-Agent拦截AI爬虫
- 速率限制阈值设置合理,AI爬虫抓取速度通常比恶意爬虫慢
- 如果必须做反爬,对验证过身份的AI爬虫IP段白名单
多区域/多语言适配
- 不要根据IP强制重定向区域,爬虫IP可能来自任何地区
- 使用hreflang标签标注不同语言/区域版本URL
- 各语言版本内容独立可访问,不依赖Cookie选择语言
- 根目录默认语言版本可以直接访问
验证检查清单
部署后按以下清单验证:
- robots.txt允许主流AI爬虫,可正常访问
- sitemap.xml格式正确,URL都是200
- llms.txt正确配置在根目录
- curl模拟AI爬虫访问核心页面,返回200
- curl获取的HTML中包含核心正文内容(不是JS渲染后才有)
- 页面TTFB < 500ms,加载速度正常
- 核心内容不需要登录、不弹验证码
- 没有错误的302重定向,旧页面正确301
- JSON-LD结构化数据零错误
- 图片有alt文本
- 服务器日志中可以看到AI爬虫访问记录
爬虫访问日志分析
定期分析服务器日志,确认AI爬虫正常访问:
# 统计各AI爬虫最近访问次数(Nginx示例)
grep -E "GPTBot|ClaudeBot|Bytespider|Google-Extended|PerplexityBot" /var/log/nginx/access.log | awk '{print $12}' | sort | uniq -c | sort -rn
# 查看GPTBot最近访问的页面
grep "GPTBot" /var/log/nginx/access.log | awk '{print $7}' | sort | uniq -c | sort -rn | head -20
# 查看爬虫访问状态码分布
grep "GPTBot" /var/log/nginx/access.log | awk '{print $9}' | sort | uniq -c
如果配置完成后1-2周日志中完全看不到AI爬虫访问记录,需要检查是否被封禁或拦截。
AI爬虫适配是纯技术工作,没有玄学,按照清单逐一验证即可,是GEO投入产出比最高的基础工作。