确认 robots 协议配置是否生效,核心是看目标抓取程序是否按你的规则改变了抓取行为。最直接的做法是:在服务器访问日志中查找对应爬虫的请求记录,观察它是否仍在请求被 Disallow 的路径。如果你能控制一个测试用爬虫,也可以主动发起请求,对比配置前后的响应差异。两种路径各有适用条件,下面分别说明。
robots 协议限制的是抓取,不是索引。一条 URL 被 Disallow 后,搜索引擎可能仍保留已收录的摘要,甚至因为无法抓取而缺少更新依据。因此,验证配置生效时,判断对象应是“爬虫是否停止请求该路径”,而不是“搜索结果里是否消失”。如果你真正想要的是移除索引,需要配合 noindex 或移除工具,这与抓取限制是两回事。
这是最贴近真实环境的验证方式,前提是服务器保留了访问日志,且目标爬虫确实访问过你的站点。
Googlebot 或 Bingbot,统计它对你 Disallow 路径的请求次数。验收信号:被禁止路径的请求量明显下降,且日志中该爬虫开始集中请求允许范围内的页面。判断结果时要注意,请求量下降也可能由抓取预算调整、站点整体流量变化或爬虫自身调度引起,所以最好保留配置前后的对照区间,而不是只看单日数据。
适用条件:站点已有一定抓取量、日志可访问、能区分不同爬虫。缺点是反馈有延迟,爬虫可能数天甚至更久才重新访问。
如果你无法依赖日志,或者站点几乎没有自然抓取,可以用自建测试请求来核对。robots 协议本身是一个放在站点根目录的文本文件,抓取程序读取它之后决定是否继续请求。你可以模拟这一读取过程:
/robots.txt,确认返回状态码为 200,内容是你最新上传的版本,而不是缓存的旧版本。User-agent、Disallow、Allow 的书写是否规范,路径是否区分大小写,是否误用了通配符语法。Disallow: / 这类会屏蔽整站的规则是否写错。验收信号:文件可正常访问、内容为最新、测试工具对若干代表性 URL 的判定与你的设计一致。判断结果时注意,不同搜索引擎对通配符和 Allow 优先级的支持程度不完全相同,测试工具的结论只代表它自身的解析逻辑,不能直接等同于所有爬虫的行为。
适用条件:配置频繁调整、需要快速反馈、或站点抓取量太低不足以从日志看出趋势。局限是它验证的是“规则被正确表达”,而不是“真实爬虫已经遵守”。
无论用哪种方式,都应先确认文件放在站点根目录、返回 200 且不是 HTML 错误页伪装成文本。如果返回 404,爬虫通常会按“无限制”处理,这会让你的限制意图完全落空。
看到“抓取量下降”就认为生效,可能忽略了季节性波动或站点改版。看到“测试工具显示禁止”就认为完成,可能忽略了真实爬虫尚未重新读取文件。还有一种情况是:你禁止了某个目录,但页面已被其他方式引用,爬虫仍可能通过其他入口获知 URL,只是不再抓取内容。
建议把下面几项列为固定检查:文件可访问且为最新版本;规则语法与目标爬虫的支持范围匹配;日志中目标爬虫行为与规则一致;如果你同时需要控制索引,另行确认 noindex 等信号是否到位。
下一步:选定一个你真正关心的被禁止路径,先做一次主动请求验证,再在日志里为它建立一个为期两周的观察记录,用前后对比决定是否需要调整规则。