Bot Simulator
比较 Googlebot、AI crawler 与用户触发访问看到的原始 HTML、渲染结果、状态码和访问差异,判断问题究竟出在渲染、策略还是索引层。完整功能在 Fennec SEO App 中。
什么时候该用它?
完整功能在 App 内
网页版本不直接运行抓取,而是帮助你判断 Bot 模拟应该解决什么问题、哪些结果可信、以及下一步该把证据带到哪里验证。
直接答案:当你怀疑“人能看到、Bot 看不到”或“不同 Bot 看到的版本不一致”时,用 Bot Simulator 最有价值;当你需要确认 Google 最终是否收录,仍要回到 URL Inspection 与 Page indexing。
完整 Bot Simulator 仅在 Fennec SEO App 中提供
什么时候该用它?
什么时候该用它?
Bot Simulator 不是“随便换个 UA 看页面”。它的价值在于把 crawler 视图、渲染结果、HTTP 响应和访问策略放到同一个排查链里,让你判断问题到底出在 JavaScript、访问控制、政策分流,还是索引层。
这页解释何时该用 Bot Simulator、哪些判断可以直接下、哪些判断仍要交给 Search Console 或日志验证。
真实产品证据
App 证据卡
App 入口
Bot Simulator 是 Fennec App 内功能,不是这个网页上的在线抓取器。
工具路径
适合把 Bot 模拟和技术 SEO、robots、canonical、软 404 排查串成一条复查链。
配套审计
Bot 模拟单独有用,但和站内审计、索引排查一起用时判断更可靠。
哪些 profile 值得单独看
哪些 profile 值得单独看
这三组 profile 背后的任务不同,不能混成一个“AI crawler”大桶。
Googlebot Smartphone / Desktop
Google 明确区分 Smartphone 与 Desktop crawler,但 robots.txt 里都共用 `Googlebot` token。大多数站点以移动版内容为主,因此移动抓取通常更关键。
Google Search Central: GooglebotOAI-SearchBot / GPTBot / ChatGPT-User
OpenAI 把 Search、training、user-triggered fetch 分成不同 agent。允许 `OAI-SearchBot` 不等于允许 `GPTBot`;`ChatGPT-User` 也不是自动抓取。
OpenAI: Overview of OpenAI CrawlersClaudeBot / Claude-User / Claude-SearchBot
Anthropic 同样把 training、user request 和 search quality 的用途拆开,并说明这些 bot 通过 robots.txt 控制,不应当被混成一个“AI crawler”决策。
Anthropic: Claude crawler controls可复现命令
可复现命令
下面的命令足够做快速 header 与 HTML 对比,但它们只能模拟 UA,不替代真实 crawler 身份校验。
HTTP + status check
curl -I -L -A "Googlebot" https://example.com/page
curl -I -L -A "OAI-SearchBot" https://example.com/page
curl -I -L -A "ClaudeBot" https://example.com/page Raw HTML spot check
curl -L -A "Googlebot" https://example.com/page | sed -n '1,120p'
curl -L -A "ChatGPT-User" https://example.com/page | sed -n '1,120p' 页面与官方来源最后核验:2026-07-27
四种常见决策
四种常见决策
先用 Bot Simulator 找到差异,再把差异交给 URL Inspection、robots、canonical、soft 404 或日志验证,而不是在一个工具里结束排查。
原始 HTML 正常,但渲染后内容缺失
这通常不是 robots 问题,而是 JavaScript、组件失败、资源加载或状态依赖。优先看渲染差异,再去查 URL Inspection Live Test。
继续排查 JavaScript 与渲染某个 Bot 收到 403、登录墙或空白壳
先区分这是安全策略、国家/设备分流、反爬规则,还是服务端按 UA 返回了不同页面。Bot 模拟能暴露差异,但不自动证明谁才是“正确版本”。
查看 robots 与访问控制允许 Search,阻止 training
这是典型的 AI crawler 策略任务。OpenAI 和 Anthropic 都把 search / training / user fetch 区分开,决策应按用途,而不是一刀切地“全允许”或“全阻止”。
阅读 AI crawler 测试指南Bot 视图已经正常,但页面仍不收录
Bot 模拟不替代 Google 的索引记录。此时应继续看 canonical、soft 404、URL Inspection 和站内链接,而不是停在“渲染没问题”。
继续检查 canonical 与 soft 404不同 Bot 结果分别回答什么问题
不同 Bot 结果分别回答什么问题
不要把所有 bot 测试都归成一个“爬虫结果”。用途不同,结论也不同。
| Bot 类型 | 优先回答的问题 | 不要误判成什么 |
|---|---|---|
| Googlebot | 移动优先索引、原始 HTML、渲染后 DOM 是否一致 | 不能只靠 UA 伪装来证明请求真来自 Google;要继续做反向 DNS 或 IP 范围校验。 |
| OAI-SearchBot | 页面是否愿意进入 ChatGPT search 结果、是否被 robots 明确允许 | 允许 search 不代表允许 training,也不代表用户触发抓取一定一样。 |
| GPTBot / ClaudeBot | training crawler 是否应被允许,策略是否和 search 区分 | 这更多是策略与合规决策,不是传统索引诊断。 |
| ChatGPT-User / Claude-User | 用户触发访问是否会碰到登录墙、空内容、WAF 或地理限制 | 这类请求不等于自动抓取,且行为更接近真实用户发起的 fetch。 |
边界与失败模式
边界与失败模式
- UA 模拟不等于 crawler 身份验证。Google 明确建议用反向 DNS 或 IP 范围验证真实 Googlebot。
- Bot 模拟不替代 Search Console URL Inspection。前者看现场差异,后者看 Google 实际记录与 live test。
- 登录态、Cookie、地域个性化、验证码墙和速率限制会让 App 看到的结果与真实 crawler 结果不同。
- 如果页面同时存在 canonical、soft 404、robots 或内部链接问题,单独看 Bot 视图会得出不完整结论。