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 作为白名单特例被放行,同时声明了站点地图的地址。
配置过程看似简单,但细节决定实际效果是否达预期,以下几类情形需要特别审慎:
上线前务必进行真实性检查。可在浏览器中直接访问 yourdomain.com/robots.txt,确认内容是否正确显示且无语法错误。此外,谷歌站长平台提供的 robots 测试工具能模拟抓取并指出语法异常,百度站长后台也提供了类似的校验功能,建议发布后定期复查。
当站点规模扩大后,文件管理需要注入更强的条理性。建议将每条规则的 User-agent 单独成段,注释其针对的爬虫与屏蔽初衷;Sitemap 行置于文件末尾统一管理。对于临时性屏蔽(如促销活动页面),记得在活动结束后及时清理对应规则,避免长期阻塞页面进入索引。
一个经常被忽视的细节是文件的大小与请求开销。虽然协议上限为 500 KiB,但过大的文件会拖慢响应速度,应当定期精简冗余规则,删除已经不再使用的路径。
大多数爬虫会定期重新抓取该文件,通常在数小时至数天不等。若需加速,可以主动在搜索引擎站长工具中提交更新后的文件路径,或请求重新抓取。
该指令只负责阻止未来的抓取动作,并不保证已收录页面被立即清除。如果希望快速移除已索引内容,仍需依赖站长平台的移除工具,或等待搜索引擎自然更新索引库。
不需要。除非曾对这类资源做过显式禁止,否则爬虫默认可以访问它们。过度添加 Allow 规则不仅多余,还可能因书写错误导致预期外的抓取行为。
Robots.txt 是实现精细化索引控制的低成本工具,值得每位站点管理人员熟练掌握。建议在调整规则时遵循先备份、后修改、再验证的流程,并定期结合站长工具的抓取报告审视规则效果,及时纠正不必要的屏蔽,让搜索引擎与站点资源保持良性的协作关系。