Robots.txt 是放在站点根目录下的一个纯文本文件,通过约定俗成的指令告诉搜索引擎爬虫哪些路径可以访问、哪些区域应当绕开。它并不是一道强制性的安全门,而是一份依赖爬虫自觉遵守的协作约定。配置得当,能让爬虫抓取更高效,也能帮服务器省下不必要的开销。
爬虫访问网站时,通常第一步就会去读取根目录下的 robots.txt,以此确定抓取范围。如果文件不存在,爬虫会默认站内所有公开内容都可以抓取。
实际使用中,这份文件主要用来处理几类需求:隐藏后台管理入口、屏蔽低价值的自动生成页面(比如站内搜索页、标签聚合页)、降低高频抓取对服务器的压力。需要特别提醒的是,正规搜索引擎会尊重协议内容,但恶意脚本和采集程序根本不会理会它,所以不要把 robots.txt 当成安全防线来依赖。
Robots.txt 由若干条记录组成,每条记录先声明 User-agent 指定针对的爬虫,再列出具体指令。要写好配置,先要弄清这几个指令的含义:
下面是一个结构清晰、容易理解的配置模板:
User-agent: *
Disallow: /cache/
Disallow: /private/
Allow: /private/help.html
Sitemap: https://www.example.com/sitemap.xml
这段配置表示:所有爬虫不能抓取 /cache/ 和 /private/ 目录,但 /private/help.html 这个页面被单独放行,同时告诉爬虫站点地图的位置。
配置本身不难,但实际中经常因为几个细节把握不准而出现意外。以下几点值得特别留意:
写完 robots.txt 之后,建议做一次完整验证,确认配置符合预期。主要验证方式有:
另外,配置要尽量简洁,规则数量控制在合理范围内。规则越多,越容易引入冲突和遗漏,后期维护的成本也会随之上升。
不会直接影响安全,因为它本质上不是防护机制。但配置失误可能会导致后台页面或敏感目录被搜索引擎收录,间接增加信息泄露的风险。建议在测试环境中先验证再更新到正式站点。
在同一条 User-agent 记录内,Allow 的优先级高于 Disallow。也就是说,即使某个路径被 Disallow 屏蔽,只要对应的 Allow 规则更精确匹配,该路径仍然可以被抓取。实际配置时建议先把屏蔽规则写清楚,再单独补充放行规则。
需要。robots.txt 只对当前域名生效,每个子域名都需要独立放置一份。比如 www.example.com 和 m.example.com 必须各自维护自己的文件,互不影响。
Robots.txt 虽然只是一个简单的文本文件,但配置得是否合理,直接影响搜索引擎对网站的抓取效率和收录质量。建议你从最小化的规则开始,先屏蔽真正不需要的路径,再逐步补充细节。每次修改后都要用站长工具验证效果,并定期检查该文件,确保它与站点的实际结构保持一致。这样既能保护有限的服务资源,又能让搜索引擎更专注于抓取真正有价值的内容。