robots.txt 是放置于网站根目录的纯文本文件,用于向搜索引擎爬虫说明站内哪些路径可以抓取、哪些路径应当回避。规则设置得当,能提升爬虫抓取效率,保护后台等敏感区域;设置错误,则可能导致整站无法被收录或资源被浪费。理解其工作逻辑与语法细节,是每个站点管理者的基本功。
这个文件本质上是站点与爬虫之间的公开约定,并非强制性的访问控制手段。主流搜索引擎如 Google、Bing、百度等都会读取并遵循其中的指令,但它不具备任何安全防护功能。
在日常运营中,合理利用 robots.txt 主要能实现三类目标:隔离站内非公开目录,比如管理后台或临时测试页面;过滤带大量跟踪参数、易产生重复内容的动态地址;声明 Sitemap 的完整位置,辅助爬虫更快定位新发布的内容。
务必牢记,该文件对所有人可见。任何依赖它隐藏的敏感数据,如用户信息、接口地址,都等于直接暴露在公开环境中。真正的保护必须依靠登录验证、IP 限制或服务器层面的访问控制来完成。
robots.txt 的书写格式遵循“字段: 值”的规则,每行一条指令。字段名不区分大小写,但所指定的路径部分严格区分大小写。掌握以下几个关键字段,即可应对绝大多数场景。
假设你的网站中有一个仅内部使用的目录 /private/,但其中有一个公开展示页需要被索引,同时想告知爬虫 Sitemap 的位置,配置可参考如下写法:
User-agent: *
Disallow: /private/
Allow: /private/about.html
Sitemap: https://www.example.com/sitemap.xml
以上规则表达了三层含义:所有爬虫不得抓取 private 目录下的内容;例外的是其中的 about.html 页面允许被抓取;并向爬虫提供了站点地图地址。
书写 robots.txt 看似简单,但要避免误伤,需要掌握其匹配优先级,并遵循清晰的编写步骤。
对于某个具体的 URL,爬虫会将其与文件中的规则逐条比对。匹配遵循最长匹配原则,即最具体、字符数最多的那条规则胜出。例如,在 Disallow: /docs 与 Disallow: /docs/internal 同时存在时,后者的规则优先作用于 /docs/internal 下的路径。
此外,路径匹配是前缀匹配而非完全匹配。规则 Disallow: /admin 会同时屏蔽 /admin.html 和 /admin/ 下的所有资源,这一点极易被忽视,往往导致意外屏蔽。
编写完成后,建议定期检查,特别是在改版或调整目录结构之后,避免旧规则导致新页面无法被收录。
在实际配置中,不少站点因对规则理解偏差而出现问题,以下三个误区最为典型。
搜索引擎爬虫通常会定期重新抓取该文件,间隔时间从几小时到几天不等。如需加快生效速度,可在搜索引擎站长平台提交“更新 robots.txt”的请求或手动提交 URL 进行抓取。
不支持标准正则表达式。目前仅支持基于星号(*)和美元符号($)的有限通配符,分别用于匹配任意字符序列和匹配路径结尾,且并非所有搜索引擎都完全支持这些符号,建议谨慎使用。
文件缺失时,爬虫会认为站点允许抓取所有公开链接的内容。如果服务器返回的是 404 错误而非有效的空文件,这通常不会被视为禁止指令,爬虫仍会正常抓取。
robots.txt 是一把双刃剑,用好了能优化抓取资源,用错了则可能影响站点收录。建议你在修改前先完整梳理站点目录,明确目标后再动笔;修改后务必通过工具进行验证,并持续观察搜索引擎的抓取异常报告。只有在理解其职能边界和匹配逻辑的前提下,才能让这份小文件真正发挥价值。