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 得到单独放行,同时声明了站点地图位置。注意路径末尾的斜杠表示目录级别,省略斜杠则可能变成前缀匹配,产生意料之外的屏蔽范围。
配置看似简单,但细节偏差常导致预期失效,以下场景值得格外留意:
规则写完后,建议通过搜索引擎站长工具中的 robots 测试功能或直接访问 /robots.txt 检查文件可达性。修改后通常需等待数小时至数天才会完全生效,且不同搜索引擎刷新周期不同,不要急于反复修改。此外,添加新规则前应先模拟现有规则是否拦截了自身,防止误伤首页或核心路径。
文件内容应采用纯文本格式,遵守以下要点可减少故障发生:
不能。该文件仅对遵循协议的搜索引擎爬虫生效,恶意爬虫、采集工具或频繁爆发的攻击流量不会理会这些指令。若要真正保护敏感数据,应依赖服务器层面的身份验证或 IP 白名单。
当两条规则匹配的路径长度相同时,Allow 优先于 Disallow。若路径长度不同,则长度更长的规则优先匹配。因此在屏蔽目录时,可借助该特性用 Allow 单独放行个别文件。
没有固定时限。爬虫再次抓取该文件的时间取决于各引擎的抓取频次,通常为数小时到一周不等。若急需验证规则,可使用搜索引擎站长工具的 robots 调试功能实时预览匹配结果。
Robots.txt 是搜索引擎协作的基础工具,合理配置可提升抓取效率、保护资源,但使用不当同样会造成页面失联或内容误封。建议每季度审查一次规则,结合站点结构调整及时更新。初始阶段从少量核心规则入手,逐步丰富,并在每次改动后留意索引表现,便能将风险控制在最小范畴。