robots - 怎样取得可复查的状态证据

📍 WDQWDWQD987AAAAA:216.73.217.108
📱 Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
🔗 /c15631fc2a18.html
📄

robots - 怎样取得可复查的状态证据

要取得可复查的 robots 状态证据,关键是同时保存“文件内容本身”和“抓取该文件时的响应状态”,并让两者带有可核对的时间与来源。只截图 robots.txt 正文不够,因为同一路径在不同主机名、不同协议或不同时间可能返回不同结果;只记录“已抓取成功”也不够,因为无法证明当时返回的是哪一版内容。

常见误解:看到 Disallow 就以为页面不会被收录

robots.txt 的抓取限制不等于可靠的索引移除。它约束的是符合协议的爬虫是否抓取某路径,而不是命令搜索引擎删除已有索引。一个 URL 可能因为外部链接、历史抓取或其他信号仍出现在结果中。因此,做状态复查时,证据要分成两层:一层证明 robots.txt 当前写了什么,另一层证明目标 URL 当前的抓取与索引状态,不能互相替代。

可执行的证据采集步骤

  1. 确定要复查的完整对象:协议、主机名、端口和路径。例如 https://example.com/robots.txt 与 http://example.com/robots.txt 应分别记录,不能合并成一句“robots 正常”。
  2. 用命令行保存响应头与正文,而不是只复制正文。类似 curl -i https://example.com/robots.txt 的输出可以同时留下状态码、内容类型和文件内容。
  3. 把输出保存为带日期的文件,例如 robots-2025-06-01.txt,并在文件开头手写记录执行时间、执行人和网络出口地区。若使用在线抓取工具,同样要保存工具给出的抓取时间与返回状态。
  4. 对目标 URL 单独做一次状态检查,记录它是否被 robots.txt 某条规则覆盖、是否返回可索引状态、是否有 canonical 或 noindex 等信号。这里要区分“可能原因”和“已经定位的原因”:看到 Disallow 只能说明抓取可能被限制,不能直接断定索引一定被移除或一定保留。

一份可复查记录应包含哪些字段

如果 robots.txt 返回 404,按协议通常可视为没有抓取限制,但这不等于页面一定被收录;如果返回 5xx,爬虫可能暂时保守处理,这时应把“服务端故障”与“规则允许抓取”分开记录。不同搜索引擎对 robots.txt 的支持细节和索引移除机制须分别核查,不能拿一个引擎的抓取结果推断另一个引擎的索引状态。

复查时最容易漏掉的条件

站点地图不保证收录,HTTPS 不保证安全无漏洞或排名,robots.txt 允许抓取也不保证页面会进入索引。因此,复查结论应写成有条件的判断,例如:“在 2025-06-01 10:00 UTC 抓取到的 robots.txt 中,User-agent: * 下的 Disallow: /private/ 覆盖了目标路径,故该路径的抓取被限制;索引状态需另查。”这种写法把文件证据、规则判断和待查事项分开,后续任何人都能按同样地址重新抓取并比对。

下一步:选一个你负责的页面,按上面的字段做一次记录,然后隔一周用同一命令再抓一次,对比响应头与规则行是否发生变化。只有两次记录都能复现,结论才算可复查。

图1 图2

nginx