什么是 robots.txt,为什么要检验?
robots.txt 是放在网站根目录的纯文本文件,用于告知「遵守协议的爬虫」哪些 URL 可以抓取。它并不能把页面从公网隐藏——任何人都能直接打开 https://yourdomain.com/robots.txt。合理的规则可以保护测试环境、站内搜索参数陷阱和内部工具,同时让重要内容保持可发现性。
检验很重要:一个笔误就可能全站封禁(例如 Disallow: /),或误屏蔽 CSS/JS 导致搜索引擎渲染出「空白页」。传统搜索爬虫与 AI 爬虫越来越多地共用同一份文件,针对 GPTBot、Google-Extended 与 Googlebot 的规则应保持一致并有文档记录。
本工具通过 HTTPS 拉取线上 robots.txt,检查语法与高风险模式,列出已声明的 User-agent 与 Sitemap,并支持按路径模拟允许/禁止,便于你在发布变更前发现问题。
术语速查:常见指令
- User-agent
- 声明后续规则作用于哪一类爬虫。* 表示默认的「所有爬虫」,若存在更具体的 User-agent 块,会按爬虫实现优先匹配更精确的一组规则。
- Disallow
- 禁止抓取的路径前缀。匹配多为前缀规则;多条规则并存时要注意顺序与最长前缀等实现细节。
- Allow
- 主要用于在 Disallow 范围内放行部分路径(Google 常用)。并非所有爬虫都以相同方式实现 Allow。
- Sitemap
- 可选行,指向 XML 站点地图地址。它不能单独「修复」抓取问题,但在允许抓取时有助于发现 URL。
- Crawl-delay
- 非标准提示,表示请求间隔秒数;支持度不一。更可靠的限速应放在服务器或 CDN 层。
- Google-Extended
- Google 提供的与部分生成式/训练用途相关的 User-agent,用于在仍允许常规 Googlebot 抓取时单独声明训练相关意愿。
常见 AI 与研究类爬虫(User-agent)
下表为真实站点 robots.txt 中常见的声明。遵守 robots.txt 出于自愿——恶意爬虫可能无视文件,敏感内容仍需鉴权、WAF 与限流。
| 产品 / 体系 | 常见 User-agent | 典型用途 |
|---|---|---|
| OpenAI | GPTBot | 与 ChatGPT 生态相关的训练与浏览类抓取 |
| Anthropic | ClaudeBot | Claude / Anthropic 爬虫 |
| Google AI | Google-Extended | 在传统索引之外声明 AI 训练相关意愿的退出入口 |
| Perplexity | PerplexityBot | 答案引擎类抓取 |
| Common Crawl | CCBot | 开放网页语料,许多研究栈会用到 |
| Meta | FacebookBot | 分享预览及部分 AI/研究链路 |
精简示例:合理写法 vs 危险写法
较合理的入门写法
User-agent: * Disallow: /wp-admin/ Disallow: /private/ Allow: /public/ Sitemap: https://www.example.com/sitemap_index.xml
危险写法
User-agent: * Disallow: / # 对遵守协议的爬虫禁止整站抓取
请把路径换成你真实的管理后台、接口与结账路径。若使用 CDN 或主机层跳转,注意不同子域名可能返回不同的 robots.txt。
推荐使用流程
- 填写规范域名 — 尽量与 Search Console 中属性和用户访问时一致的主机名(带或不带 www)。子域名各自需要一份 robots.txt。
- 优先处理错误与警告 — 先解决语法与语义级问题,再微调 Allow/Disallow。全站封禁或缺失 Sitemap 通常比注释格式更重要。
- 对核心路径做爬取预览 — 对转化路径、重点栏目页等运行路径检测,确认不会被误伤。
- 发布后再验一次 — 上线后重新检验。部分 CDN 或边缘节点会缓存甚至注入 robots.txt。
- 与 Search Console 交叉验证 — 结合 Google Search Console 的 robots 报告与网址检查,确认线上行为与预期一致。
常见问题
robots.txt 检验工具检查什么?▼
检验语法错误(未知指令、缺少冒号)、语义问题(全站封禁 Disallow: /)、Sitemap 缺失、规则冲突与文件体积限制,并给出可执行的修复建议。
爬取预览有什么用?▼
输入具体页面路径(如 /products/abc),工具会根据 robots.txt 规则模拟哪些爬虫被允许或禁止访问,帮助你确认关键页面不会被意外屏蔽。
分享报告会生成独立页面吗?▼
会。每个域名自动生成一个静态报告页(如 /toolkit/robots-validator/report/example-com),中英文版本各一个,可被搜索引擎收录。
robots.txt 能屏蔽 ChatGPT 这样的 AI 爬虫吗?▼
可以。GPTBot(ChatGPT)、ClaudeBot 和 PerplexityBot 等 AI 爬虫都遵守 robots.txt 指令。截至 2026 年 Q1,前 1000 个网站中 25% 已屏蔽 GPTBot,而 2023 年初仅为 5%。
robots.txt 能防止页面被索引吗?▼
不能。robots.txt 控制的是爬取,不是索引。如果被其他网站链接,被禁止的 URL 仍可能出现在搜索结果中。使用 noindex 元标签来防止索引。
我应该多久检查一次 robots.txt?▼
至少每次网站更新、CMS 更改或 CDN 配置后检查。最佳实践:每月审查加上自动变更监控,以捕获未经授权的修改。
robots.txt 配置错误会发生什么?▼
配置错误的 robots.txt 可能造成严重的 SEO 损害。真实案例显示,屏蔽 CSS/JS 文件可导致 85% 页面被去索引,修复服务器注入的 robots.txt 污染后可恢复 261% 的流量。
我应该把 robots.txt 放在哪里?▼
始终放在域名根目录:https://yourdomain.com/robots.txt。每个子域名(blog.example.com、shop.example.com)都需要自己独立的 robots.txt 文件。