与开发人员交接 robots.txt 写法,核心不是把一份规则文件丢过去,而是把“哪些路径要限制、为什么限制、改完怎么验证”变成可执行、可回滚的任务。你需要先确认当前文件由谁维护、部署在哪、是否经过 CDN 或网关改写,再决定是提交 diff、配置项还是完整文件。若只是口头说“把后台屏蔽掉”,开发很可能写成误伤全站的规则,而且上线后没人知道该检查什么。
robots.txt 可能以三种形态存在:站点根目录下的静态文件、应用路由动态生成的内容、CDN 或反向代理层返回的响应。交接前必须确认实际生效的是哪一种,因为改错位置会出现“代码里改了但线上没变”的情况。
/robots.txt,是否需要重启或清缓存。判断方法很直接:在浏览器或命令行请求线上 /robots.txt,与仓库中的文件内容逐行对比。如果两者不一致,先解决部署链路,再谈规则怎么写。这一步的代价是花十几分钟确认,收益是避免后续反复排查“为什么没生效”。
不要只给结果,要给判断依据。交接单里至少包含:目标路径、允许或禁止、适用的爬虫名称、生效范围、预期结果、不希望的副作用。例如你想禁止抓取站内搜索结果页,可以写成假设示例:
User-agent: *<br>Disallow: /search
但必须同时说明:如果站内搜索页有独立价值且希望被收录,就不应禁止;如果只是阻止爬虫产生大量参数 URL,还要确认是否误伤了 /search-help 这类正常页面。开发人员需要知道“禁止”不等于“从索引中移除”,已经收录的 URL 仍可能出现在结果里,正确移除要走页面级 noindex 或其它可用机制,具体支持情况按目标搜索引擎分别核查。
交接粒度取决于改动风险和团队协作方式。下面给出选择依据,而不是统一答案。
如果改动会影响付费广告落地页或重要栏目,交接时要把这些 URL 单独列成检查项。代价是交接文档更长,收益是上线后能用同一份清单逐项核对。
开发改完不等于任务结束。你和开发应共同完成以下检查,并记录结果:
/robots.txt,确认返回状态码为 200,内容与预期一致。Disallow: / 这类高风险规则。如果验证发现线上内容与仓库不一致,先查缓存和发布流程,不要继续改规则。若目标 URL 仍被收录,区分是“尚未重新抓取”还是“规则本身不控制索引移除”,再决定下一步。
把本次用到的字段固定下来:当前文件位置、维护方、改动行、业务原因、测试环境结果、线上验证结果、回滚方式。下次再交接 robots.txt 写法时,直接填模板并附上 diff,开发能更快判断改动边界,你也能用同一套检查项确认是否真正生效。