对 robotstxt 做检查前,最需要准备的不是工具,而是四类可核对的信息:目标站点的协议与主机名、robots.txt 的实际访问路径与返回状态、当前规则文本及其生效范围、以及你希望验证的具体抓取场景。缺少其中任何一项,检查都会退化成“看一遍文件觉得没问题”,无法判断某条规则是否真的挡住了目标抓取者。下面用一个假设例子说明准备步骤和常见错误。
假设某站点改版后,运营发现部分商品图没有出现在搜索结果里,怀疑是 robots.txt 写错了。此时不能直接打开文件改,而应先准备以下材料:
https://example.com,确认 robots.txt 应位于根目录,即 https://example.com/robots.txt。User-agent、Disallow、Allow、Sitemap 等行。这些信息齐了,才能把“图片没被抓取”拆成可验证的判断:是 robots.txt 明确禁止,还是页面本身不可访问,或是其他原因。
只复制文件内容还不够,检查前应同时记录三件事,否则规则很容易被误读。
User-agent 行属于同一组,组与组之间是否用空行分隔。一个常见的错误是把只针对某个爬虫的 Disallow 误当成对所有爬虫生效。如果站点使用子域名或 CDN,还要分别确认每个主机名下的 robots.txt,不能用一个域名的文件推断另一个域名。
检查 robotstxt 的结论必须能被复现。准备阶段就应确定用哪种方式验证:
Disallow 范围内,以及是否有更具体的 Allow 覆盖。这里要区分两件事:robots.txt 的抓取限制不等于可靠的索引移除。即使某条规则挡住了抓取,已经收录的页面也可能继续出现在结果中,移除索引需要另外的机制。同理,站点地图不保证收录,写进 Sitemap 行只表示你向抓取者提供了这份清单。
准备信息时最容易犯的错误有:只凭记忆描述规则而不取线上文本;把测试环境的 robots.txt 当成生产环境;忽略 404 与 200 的区别——robots.txt 返回 404 时,不同抓取者的处理方式需要分别核查,不能想当然认为“没有文件就等于全部允许”。
判断结果时,可以按这个顺序:先确认文件可访问且状态正常,再确认目标抓取者属于哪个分组,然后逐条匹配目标 URL,最后区分“抓取被限制”和“索引被移除”是两回事。如果规则本身没问题,问题可能出在页面可访问性、链接结构或内容质量上,应转向其他检查项。
把上面列出的路径、状态码、规则文本、目标 URL 和抓取者名称整理成一份固定清单,再开始逐条比对。每次修改 robots.txt 后,用同一份清单重新验证,避免凭印象判断规则是否生效。