Robots.txt 是网站与搜索引擎爬虫之间约定访问权限的文本文件,它决定了爬虫可以抓取哪些页面、应当忽略哪些路径。合理配置 robots.txt 既能保护后台和隐私目录,也能引导爬虫将资源集中在关键内容上。这份指南会从基础语法入手,逐步拆解各类场景下的配置写法,并提醒你容易忽略的细节。
robots.txt 必须放置在网站根目录下,比如 https://example.com/robots.txt。文件由若干指令块构成,每个指令块以 User-agent 开头,后跟相应的 Allow 或 Disallow 规则。
核心指令含义:
一个最宽松的示例配置:
User-agent: * Disallow: Sitemap: https://example.com/sitemap.xml这段配置的含义是允许所有搜索引擎抓取全站,同时告知地图文件的存放位置。
不同网站对抓取范围有不同需求,以下是几个高频场景的具体写法。
当网站处于开发测试阶段,或需要临时下线时,可以设置 Disallow: / 来屏蔽所有爬虫访问任何路径。配置内容如下:
User-agent: * Disallow: /如果只想屏蔽后台、用户中心等敏感目录,同时保留其他内容的抓取,可以这样写:
User-agent: * Disallow: /admin/ Disallow: /private/需要注意的是,Allow 指令最好写在 Disallow 之后;如果目标爬虫不识别 Allow,更稳妥的做法是只在 Disallow 中列出需要屏蔽的路径,剩余路径默认放行。
不同搜索引擎可能需求各异。例如允许 Googlebot 抓取全部内容,而禁止其他爬虫访问图片和静态资源目录,配置如下:
User-agent: Googlebot Allow: / User-agent: * Disallow: /assets/ Disallow: /images/在书写顺序上要特别注意:先写针对单一爬虫的专属规则,最后再写通用规则,因为搜索引擎会优先匹配与自身名称相符的 User-agent 段落。
即便规则简洁,也常有细节问题引发抓取异常,以下注意事项值得牢记。
配置完成后并非万事大吉,还需要通过工具进行校验。可以在搜索引擎站长后台的 robots 测试工具中检查规则是否生效,并观察抓取日志中异常拒绝的情况。注意在调整规则后留存备份,方便随时回滚操作。
Disallow 后不加路径表示允许所有爬虫访问任何页面,等同开放全站;而 Disallow: / 则代表禁止抓取整个站点。两者恰好相反,应用场景也完全不同。
不能。robots.txt 只负责控制爬虫的抓取,无法阻止收录;如果页面已被其他网站引用或收录,仍有可能出现在搜索结果中。若想彻底阻止收录,应结合 noindex 标签使用。
并不通用。Allow 指令仅被部分搜索引擎(如 Google)确认为规范支持,其他爬虫可能忽略它。依赖 Allow 时务必查阅对应爬虫的官方文档,并做好兼容性考虑。
配置 robots.txt 看似简单,实则细节不少。建议从基础语法入手,先梳理清楚网站需要对外开放的目录清单,再针对不同爬虫制定策略。写好规则后,务必在站长工具中反复验证,结合抓取报告持续优化。遇到敏感页面时,切记不要只依赖该文件,而是配合其他权限机制共同实现访问控制。