对任何网站运营者来说,robots.txt 都是一个必须掌握的基础文件。它相当于网站与搜索引擎爬虫之间的"通信协议",告诉它们哪些内容可以访问、哪些区域应当避开。配置正确时,能引导爬虫高效抓取,让重要页面尽快被索引;配置失误,则可能导致网站页面大量从搜索结果中消失。本文将拆解其语法细节与常见错误,帮助你避开那些容易踩的坑。
robots.txt 本质上是一个放置在域名根目录下的纯文本文件,访问地址固定为 https://你的域名/robots.txt。它的核心作用是管理爬虫的"抓取"行为,而非直接控制页面的"索引"状态。这是一个关键区别:如果你希望某个页面不出现在搜索结果里,正确做法是给该页面添加 noindex 标签;robots.txt 只能阻止爬虫抓取,却无法阻止其他来源引用或收录该 URL。
此外必须明确,robots.txt 的遵守完全依赖搜索引擎的自觉。正规爬虫会严格遵守,但恶意脚本或采集程序对此视而不见。对于包含用户隐私、后台数据或商业机密的敏感目录,不能只依赖这个文件,还应当结合登录验证、防火墙规则等防护措施。日常运营中也应定期检查文件内容,防止误操作导致敏感路径被暴露。
整份文件由若干"规则组"构成,每一组以 User-agent 字段起始,格式固定为"字段名: 值"。书写时建议全部使用小写字母,避免因大小写不一致导致部分爬虫无法识别。
此字段定义了规则生效的爬虫类型。例如 User-agent: Googlebot 仅对 Google 的抓取引擎生效;若希望覆盖所有搜索引擎,可使用通配符 User-agent: *。一个文件内可以配置多个规则组,为不同爬虫提供差异化权限。当同一爬虫命中多个规则组时,主流搜索引擎以"最长匹配"原则处理——路径前缀越长的规则优先级越高。
Disallow 规定禁止抓取的路径,Allow 则明确规定允许抓取的路径。值得留意的是,Disallow: 留空代表解除所有限制,即允许爬虫抓取全站。当 Allow 与 Disallow 发生冲突时,搜索引擎普遍遵循"更具体规则优先"的原则。举个例子:规则组 Disallow: /private/ 与 Allow: /private/public/ 同时存在时,后者会被放行,因为它的路径更长、更具体。
Sitemap 指令用来声明网站地图的完整 URL,有助于爬虫快速定位内容清单,通常放置在文件末尾。Crawl-delay 字段用于设置爬虫的抓取间隔,但 Google 已经明确声明忽略该指令;如果你需要限制谷歌抓取频率,请前往 Google Search Console 后台调整相应设置。而 Bing 等搜索引擎仍支持此指令,可以保留用于其他爬虫。
以下列举几个常见场景的标准配置,供直接参考并灵活替换路径。
配置完成后,建议在浏览器中直接访问 https://你的域名/robots.txt 验证文件是否生效,并观察内容是否符合预期。
误以为 robots.txt 能阻止页面被索引。这是最常见的认知偏差。该文件只能控制抓取行为,无法阻止其他网站链接你的页面,也无法阻止搜索结果显示已有快照。真正需要从结果中移除的页面,必须配合 noindex 元标记或删除页面本身。
混淆 Disallow 的空值与斜杠值。Disallow: 留空意味着"完全开放",而 Disallow: / 意味着"完全禁止"。一字之差,结果天壤之别。曾有运营者因误加斜杠导致整站从搜索结果中消失,恢复过程颇为周折。书写时务必确认这层含义。
忽略大小写与字符格式问题。路径匹配是区分大小写的,例如 /Product 与 /product 会被视为两个不同的路径。同时,文件必须为 UTF-8 编码的纯文本格式,不要使用 Word 等富文本工具保存,也不要添加 BOM 头,否则可能导致爬虫无法正常解析。
搜索引擎的爬虫会定期重新抓取该文件,通常每 24 至 48 小时内会更新。若情况紧急,可以在 Google Search Console 中提交 robots.txt 检测请求,加速重新抓取。其他搜索引擎则需耐心等待其自动轮询。
并非如此。所有正规主流搜索引擎(如 Google、Bing、百度)都会遵守该协议,但恶意爬虫、图片采集工具或竞对程序不会理会。因此,涉及隐私或敏感数据的路径,必须配合其他服务端安全措施,绝不能仅靠 robots.txt 进行保护。
取决于实际需求。如果你的网站面向国内用户,百度爬虫与谷歌爬虫的抓取偏好可能不同,可以分别配置抓取频率与路径权限。若没有特殊需求,使用通配符 User-agent: * 并配合一两条 Disallow 规则即可满足大多数情况。规则组过多反而增加维护负担与出错概率。
robots.txt 是搜索引擎抓取管理的基础工具,其语法并不复杂,关键在于清晰理解它的职责边界:它管抓取,不管索引。配置时坚持"最小化指令"原则,只对需要限制的路径做声明,避免全站屏蔽或误加斜杠。同时务必持续维护更新,定期结合站点日志检查爬虫的行为是否符合预期。掌握好这些要点,你的网站就能高效利用抓取预算,让重要内容更快、更稳定地进入搜索引擎视野。