Robots.txt 是放置于网站根目录的纯文本协议文件,核心作用是向搜索引擎爬虫声明网站哪些路径可以抓取、哪些路径需要避开。需要明确的是,它本质上是一份基于双方默契的"君子协定",并非强制性的安全屏障。合理配置 robots.txt,既能引导爬虫将有限的抓取配额集中在高价值页面,又能有效降低服务器因无效抓取产生的资源开销。
所有遵守协议的搜索引擎爬虫在抓取网站前,都会首先请求根目录下的 robots.txt 文件。若文件存在且内容合规,爬虫将严格依据其中的指令划分抓取边界;若文件缺失,爬虫则默认整个网站均处于可抓取状态,这往往意味着服务器会承受大量不必要的访问请求。
在实际运维中,该文件主要用于屏蔽后台管理路径、过滤标签聚合页或站内搜索结果页等低质量内容,并可通过设置抓取频率来节约带宽。但务必警惕,正规搜索引擎会遵守这些规则,而某些恶意采集程序或黑客工具则完全无视该协议,因此切勿将其视为任何形式的安全防线。
配置文件由多条记录组成,每条记录必须以 User-agent 字段声明适用对象,后随具体限制指令。掌握以下五个基础指令即可覆盖绝大多数配置需求:
以下示例改编自典型企业站点的实际配置,结构清晰且便于后期维护迭代:
User-agent: *
Disallow: /tmp/
Disallow: /private/
Allow: /private/special.html
Sitemap: https://www.example.com/sitemap.xml
该配置的执行效果为:所有遵守协议的爬虫均无法抓取 tmp 与 private 两个目录,但 private 目录下的 special.html 文件因 Allow 指令的更高优先级而被单独放行。同时,站点地图地址被明确告知给爬虫,可显著加快新内容的收录速度。
虽然文件结构简单,但实际执行中不少细节问题会导致配置失效或产生负面影响,以下场景值得特别关注:
配置文件的严谨性直接决定其可用性,以下规范是确保规则有效的前提:
各搜索引擎的抓取周期不同,通常快则数分钟慢则数小时。但搜索引擎可能已缓存旧文件,若需尽快生效,可主动在搜索引擎的站长工具中提交更新后的 robots.txt 文件并请求重新抓取。
单文件大小应控制在 500KB 以内,单条规则不宜超过 2048 个字符。超出限制的部分会被搜索引擎明确忽略,且该限制无法通过任何方式绕开。
不需要。仅当动态参数会生成大量重复或低质量页面时才值得批量屏蔽。建议优先使用 URL 参数处理工具告知搜索引擎参数的过滤规则,而非在 robots.txt 中堆砌大量模糊规则。
配置 robots.txt 时,建议先通过站点日志或搜索引擎站长后台确认爬虫的实际抓取行为,再据此制定针对性规则。每次调整后,均可借助各引擎站长工具中的测试功能验证规则的预期效果,确认无误后再正式上线。切莫试图利用该文件隐藏敏感数据,所有被禁止访问的内容均可能被直接输入 URL 的方式访问到,真正的安全管控必须依赖鉴权机制实现。