与开发人员交接 robots.txt 问题,核心不是把“收录不好”直接丢过去,而是把现象、证据、复现路径和期望结果整理成一份可执行的工单。开发人员需要知道哪个 URL、哪个 User-agent、返回了什么、与预期差在哪里,才能判断是规则写错、部署未生效,还是搜索引擎侧尚未重新抓取。
robots.txt 相关问题至少分三层,交接前要自己先定位到层,否则开发只能反复猜。
/robots.txt 返回 404、403、5xx,或返回了 HTML 而不是纯文本。Disallow 误伤了需要抓取的目录,或 Allow 与 Disallow 的优先级理解有误。判断方法很直接:用命令行或浏览器直接请求 robots.txt,看状态码和响应体;再用具体 URL 去对照规则,确认它到底命中了哪一条。若文件本身正常、规则也符合预期,问题可能不在 robots.txt,而在页面本身的索引状态,这时不应继续让开发改规则。
一份能被开发的工单,至少包含以下内容。
https://example.com/tag/seo。这里要区分“可能原因”和“已经定位的原因”。例如某个 URL 未被收录,可能原因是 robots.txt 屏蔽、页面返回 noindex、内链不足或抓取预算有限,不能因为看到一条 Disallow 就断言唯一原因。工单里应写“目前观察到 X,怀疑与 Y 有关,需要确认 Z”,而不是“就是 robots.txt 导致的”。
假设 robots.txt 中有这样一段:
User-agent: *<br>Disallow: /search/<br>Allow: /search/help
如果目标 URL 是 /search/help/faq,需要确认该抓取方对 Allow 与 Disallow 的匹配规则如何取舍。不同实现和不同抓取方对最长匹配、通配符的支持并不完全一致,所以不能只凭直觉判断。交接时把这条规则和目标 URL 一起给开发,并要求给出“命中哪条规则”的结论,而不是只回复“已修改”。
另一个常见混淆是:robots.txt 的抓取限制不等于可靠的索引移除。被 Disallow 的 URL 仍可能因为外部链接等原因出现在搜索结果中,只是摘要信息可能受限。若目标是让页面彻底不出现,应评估 noindex 等页面级手段,并注意被屏蔽抓取时 noindex 也可能无法被读取。这个边界要在工单里写清楚,避免开发按错误目标改规则。
修改完成后,不要只看“文件已更新”。可按以下检查项验收:
若规则已正确、文件也可访问,但抓取行为没有立即变化,这通常属于抓取方重新抓取的节奏问题,不应继续要求开发反复改文件。此时应记录观察时间点,等待下一次抓取后再比对日志或抓取统计。
下一步:把上述字段整理成一张固定模板,下次遇到 robots.txt 问题时直接填表交接,并让开发在回复中明确写出“命中规则、修改内容、验收方式”三项,避免来回返工。