robots.txt是位于网站根目录的一个纯文本文件,用于向搜索引擎爬虫说明哪些内容可以抓取、哪些内容需要避开。它是站点管理者掌控爬虫抓取行为、保护敏感数据的基础工具。配置得当,不仅能让爬虫更高效地访问核心页面,也能防范后台目录、临时文件被意外收录。
一份规范的robots.txt由若干规则块组成,每个规则块通过以下命令界定抓取边界:
一个基础的配置示例如下:
User-agent: *
Disallow: /cache/
Allow: /cache/public/
Sitemap: https://www.example.com/sitemap.xml
编写时需留意路径大小写是否敏感,并确保所有符号均使用半角标点。任何一行的格式错误,都可能导致整条规则被忽略。
根据站点运行阶段与结构特点,robots.txt的配置思路应有所调整。以下是几种常见场景及其推荐写法。
适合新站上线前的调试阶段,或站点需临时关闭访问的情形。需要提醒的是,这种方式并不会立刻清除搜索引擎已经收录的缓存页面,若要删除旧快照,还必须配合站长平台的索引删除工具操作。
User-agent: *
Disallow: /
若站点内容全部公开,无需隐藏任何资源,通常不必添加Disallow规则,仅声明Sitemap地址即可。这种配置最简单,也有利于爬虫全面遍历网站。
User-agent: *
Allow: /
Sitemap: https://www.example.com/sitemap.xml
多数企业站和内容站需要隐藏后台登录页、用户中心以及临时文件目录,避免隐私数据被爬虫收录,也降低被恶意扫描的风险。
User-agent: *
Disallow: /admin/
Disallow: /user/
Disallow: /temp/
如果希望主流搜索引擎正常收录,同时屏蔽其他流量异常的爬虫,可以为不同爬虫分别编写规则块。
User-agent: SomeSpider
Disallow: /
这种写法在识别到某些爬虫过度消耗服务器资源时特别有效。
即便语法正确,若忽略细节,robots.txt也可能无法发挥预期作用。以下几点值得特别留意:
完成配置后,不妨借助搜索引擎站长工具(如百度搜索资源平台、Google Search Console)中的"robots.txt 测试工具"来验证规则是否生效。实际操作中,常见的问题是误将动态参数页(如带问号的URL)全部屏蔽,导致大量有效页面无法被抓取。
建议在正式投入生产前,先在小范围目录上测试规则,观察抓取日志中爬虫的访问行为是否与预期一致,再逐步扩大应用范围。
当同一路径同时存在允许与禁止规则且路径长度不同时,搜索引擎会以更具体(即路径更长)的那条规则为准。若路径完全相同,Allow 优先于 Disallow。因此,可通过 Allow 在 Disallow 的目录下开设例外入口。
生效时间并无固定标准,取决于搜索引擎爬虫对文件的抓取频率。通常来说,主流搜索引擎会在几天内重新读取该文件。若要加快进程,可主动在站长工具中提交更新请求。
不会。robots.txt 只负责阻止未来的抓取行为,无法清除已有的快照和索引记录。需要删除旧收录时,应通过站长平台的链接删除工具或索引清理功能处理。
配置 robots.txt 的核心思路是用最少的规则达成清晰抓取边界。建议从后台目录、临时文件等敏感路径的屏蔽做起,保持文件简洁,并定期通过站长工具检查规则的有效性。同时也要明白,robots.txt 只是一个沟通工具,并非安全机制,真正重要的页面仍须依靠访问权限控制来保护。