Robots.txt 是网站根目录下的一份纯文本协议文件,用于向搜索引擎爬虫说明站内哪些区域可以抓取、哪些路径应当绕行。它并非强制性的访问控制手段,而是依赖爬虫自觉遵守的行业惯例。正确配置它,有助于引导爬虫高效抓取核心内容,同时减轻服务器不必要的负担。
搜索引擎蜘蛛每次来访,都会先查看根目录下的 robots.txt,以此决定抓取行动的边界。如果文件缺失,则默认站内所有可公开访问的链接均接受抓取。
日常运维中,这份文件主要用于:隐藏后台入口、屏蔽低质量页面(如站内搜索页、标签聚合页)、设定抓取频率以保护服务器资源。但必须明确,这项协议只约束正规搜索引擎,恶意爬虫软件不会遵守。因此,任何敏感数据或私密目录都不能指望靠它来"锁门"。
Robots.txt 由若干组规则记录构成,每条记录必须指定 User-agent 声明适用对象,随后紧跟具体指令。理解下列核心指令是配置的前提:
以下是一段结构规范的配置示例:
User-agent: *
Disallow: /temp/
Disallow: /admin/
Allow: /admin/login.html
Sitemap: https://www.example.com/sitemap.xml
这段配置的含义是:所有爬虫不可抓取 temp 目录,admin 目录整体屏蔽,但其中的 login.html 页面被单独放行。站点地图地址也一并告知了爬虫。
看似简单的配置,实际操作中常因几个细节疏忽而适得其反。以下场景值得重点留意:
配置完成后,不能认为万事大吉。建议通过搜索引擎官方提供的抓取测试工具,检验文件语法是否合法、规则是否符合预期。观察爬虫实际抓取日志也可以发现异常。
此外,robots.txt 并非一成不变。站点结构调整、页面改版或目录变更时,都需要同步检查该文件,避免出现失效规则或误屏蔽重要页面。每月抽出时间复查一次是比较稳妥的习惯。
不能完全保证。它只是告诉爬虫"不要抓取"某些内容,遵守与否取决于爬虫自身。此外,如果外部站点引用了你屏蔽页面的链接,搜索引擎仍有可能在搜索结果中展示该 URL(只是不抓取正文内容)。若想彻底阻止收录,应配合使用 noindex 标签。
在同一条 User-agent 记录内,Allow 指令的优先级高于 Disallow。这意味着即使某路径被 Disallow 定义命中,只要与之匹配的 Allow 规则更精准,爬虫就会遵循 Allow 放行该路径。实际使用中可利用这一特性做精细控制。
没有固定时间表。搜索引擎爬虫通常定期重新抓取该文件,短则几小时,长则几天甚至更久。修改后可以通过搜索引擎站长工具主动提交更新请求,以加快生效速度。
Robots.txt 虽只是一份简单文本,却对搜索引擎抓取效率有直接影响。配置时请重点关注三点:明确 User-agent 适用范围、谨慎书写路径避免误伤、定期验证规则有效性。建议从全站放行起步,按需逐步添加屏蔽规则,并始终在测试工具中确认效果后再上线,让爬虫资源真正聚焦在优质内容上。