robots.txt编写-怎样取得可复查的状态证据

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

robots.txt编写-怎样取得可复查的状态证据

可复查的状态证据,指的是不依赖“我改过了”这类口头描述,而是能让他人按同一路径重新验证 robots.txt 当前状态、生效范围和修改历史的记录。对 robots.txt 编写来说,最实用的做法是:保存原始文件、抓取响应、解析结果和变更时间四类材料,并让每项材料都能对应到具体 URL 和具体时间。下面从交付结果倒推需要的资料、任务和验收方式。

先明确要复查的三种状态

robots.txt 的状态不是单一事实,至少分三层:

复查证据应分别对应这三层。只保存一份 robots.txt 文本,无法证明线上返回的就是它,也无法证明某条规则对某个 URL 的实际匹配结果。

从交付结果倒推必需资料

假设验收目标是“证明 /private/ 目录对通用爬虫被禁止,且首页仍可抓取”。需要准备的资料包括:

  1. 变更前的 robots.txt 原文,带获取时间和获取方式。
  2. 变更后的 robots.txt 原文,带部署时间。
  3. 对 https://example.com/robots.txt 的 HTTP 响应记录,包括状态码、响应头和响应体。
  4. 针对 https://example.com/private/page.html 和 https://example.com/ 的规则匹配结果。
  5. 若可取得,变更前后一段时间内搜索引擎对上述 URL 的抓取日志或平台报告。

这些资料的共同点是:每条都能回答“谁在什么时间用什么方法得到这个结果”。缺少时间或方法,复查者只能重新猜。

两种处理方案及适用条件

方案一:本地解析工具加人工核对。用脚本或在线解析器读取 robots.txt,输入目标 URL,输出匹配到的规则。适用条件是规则数量少、User-agent 分组清晰、需要快速确认 Allow/Disallow 优先级。判断结果是:若解析器输出“disallow”且对应分组正确,可作为规则层证据;但它不能证明线上文件未被 CDN 或 WAF 改写。

方案二:直接抓取线上文件并保留原始响应。用 curl 或浏览器开发者工具获取 robots.txt,保存完整响应。适用条件是需要证明线上真实状态、排查缓存或代理差异。判断结果是:若响应体与本地文件一致、状态码为 200、内容类型为 text/plain,则文件层证据成立;若不一致,应优先排查部署路径、缓存和重定向。

两种方案不互斥。规则复杂时,先用方案二确认线上文件,再用方案一验证具体 URL 的匹配结果,证据链更完整。

可执行的检查步骤与记录格式

下面是一组可以直接执行的步骤。示例中的域名和路径均为假设,仅用于说明方法。

  1. 获取线上文件:curl -i https://example.com/robots.txt,把完整输出保存为带日期的文本文件。
  2. 记录关键响应头:状态码、Content-Type、Last-Modified(若存在)、缓存相关头。
  3. 核对分组:确认 User-agent 行、Disallow 行、Allow 行的顺序和拼写,注意大小写和通配符。
  4. 用解析工具输入目标 URL,记录匹配到的规则行和最终判定。
  5. 若需证明抓取层状态,导出搜索引擎抓取日志中对应 URL 的最近记录,标注时间范围。
  6. 把以上材料放入同一目录,文件名包含日期,例如 robots-2025-01-15.txt、match-private-2025-01-15.txt。

验收时,复查者应能仅凭这些文件复现你的判断。若某一步依赖登录态或特定工具,需要在记录中写明工具名称和版本,而不是只写“已检查”。

容易混淆的边界

robots.txt 的抓取限制不等于可靠的索引移除。即使某 URL 被 Disallow,它仍可能因外部链接出现在搜索结果中。站点地图不保证收录,HTTPS 也不保证安全无漏洞或排名。这些结论不能写进 robots.txt 状态证据里,否则会把抓取层证据错误地当成索引层结论。

另外,不同搜索引擎对 robots.txt 的支持细节和报告方式需要分别核查。若验收目标涉及多个搜索引擎,应分别保存各自的抓取报告,而不是用一份通用文件代替。

下一步:选一个你实际控制的站点,按上面的六步生成一份带日期的证据包,再让另一位同事仅凭该证据包复述当前规则状态。若对方能复述一致,说明证据可复查;若不能,缺哪一环就补哪一环。

图1 图2

nginx