robots.txt是网站服务器根目录下一个纯文本文件,用来告知搜索引擎爬虫哪些页面可以抓取、哪些应被忽略。合理的配置能保护后台数据不被索引,同时保障核心页面的正常收录。可一旦规则写错,轻则页面漏抓,重则整站被屏蔽,损失难以预估。以下内容从基础语法到实操排查,逐一梳理关键环节。
文件内容由多个规则组构成,组与组之间用空行隔开。每个组通常包含用户代理声明和若干条访问控制指令,三者配合使用才能准确划定抓取边界。掌握这几个指令的含义是配置的第一步。
书写时务必注意路径区分大小写,/Images 与 /images 会被视为两个不同目录。有一个容易忽略的点是:Allow 并非所有爬虫都支持,部分小众爬虫仅识别 Disallow,因此关键页面不要只依靠 Allow 来开放,必要时需要调整目录结构。
一个简化示例:
User-agent: *
Disallow: /private/
Allow: /private/asset/
从零开始编写这份文件并不复杂,但需要按顺序推进,避免遗漏重要环节。下面是推荐的配置流程,每一步都对应明确的产出物。
配置完成后,可在搜索引擎站长工具中提交该文件并利用“抓取测试”功能,输入一条具体URL查看返回的抓取状态码,以此判断规则是否生效。
在实际运维中,以下五类错误出现频率最高。提前识别并规避,能有效降低收录异常的风险。
规避错误的根本方法是“先测试后上线”。在正式环境修改前,可先在本地或测试服务器模拟全部规则,并借助在线工具验证每条路径的匹配结果,确认无误再推送到生产环境。
文件上线不等于工作完成,后续的验证和维护同样关键。每隔一段时间检查规则是否仍然符合网站现状,是避免隐患的必要动作。
验证时,应在站长平台中选择“抓取诊断”或“URL检查”功能,输入若干条核心页面地址,观察返回的抓取明细。如果状态显示“已禁止”,则说明当前规则将页面拦截,需对照文件查找对应条目。同时关注搜索后台的“索引覆盖率”报表,若某目录的页面数量骤降,大概率与近期改动有关。
网站结构调整时,例如新增了目录或删除了某个板块,务必同步更新robots.txt。例如把后台从 /manager/ 迁移到 /backend/ 后,旧规则应删除,同时补充新路径的屏蔽声明。也可以在文件中添加注释行,以 # 开头说明每条规则的用途,方便多人协作时理解改动背景。
理论上可以,只要在文件中写入 User-agent: * 和 Disallow: / 即可暂停全站抓取。但这仅限于遵守协议的爬虫,部分恶意爬虫或已抓取过的页面仍可能保留在索引库中。若想让页面彻底从搜索结果消失,还需通过站长平台的删除工具提交移除申请。
在Google的规则中,路径匹配程度更高的一方优先生效。也就是说,若Disallow设置的是 /images/,而Allow设置的是 /images/logo.png,那么后者因为路径更长、具体匹配度更高,会被判定为允许抓取。不过并非所有搜索引擎都遵循这一优先规则,因此不建议在同一个目录内混用两种指令,尽量用更精确的路径拆分来替代。
文件和注释的总大小若不慎超过约500KB,爬虫可能直接放弃解析整个文件,导致所有规则失效。注释应使用英文或ASCII字符,中文注释在某些爬虫解析时可能出现乱码,虽然多数爬虫会忽略无法识别的行,但不排除个别引擎误读。因此文件保持精简、纯英文注释是最稳妥的做法。
robots.txt的作用,是在保护隐私数据与确保正常收录之间找到平衡。配置前花时间梳理目录结构,配置时严格遵循语法并精确匹配路径,配置后坚持用站长工具验证且随站点变化持续更新,这三个环节缺一不可。建议每季度审查一次网站根目录和后台路径变动,同时把robots.txt内容纳入版本管理,一旦出现问题可以快速回退到上一版本。