可复用的 robots协议检查清单,核心不是把语法背一遍,而是把每次改动都拆成“目标—作用范围—验证方法—回滚方式”四步,并明确一条边界:robots.txt 只表达抓取偏好,不能可靠地把已收录页面从搜索结果中移除。清单必须同时覆盖允许抓取、禁止抓取、站点地图声明和上线后验证,否则很容易出现“文件写对了,但页面仍被索引”的误判。
很多人把 Disallow 理解成删除指令,这是清单失效的根源。抓取和索引是两件事:爬虫不访问某个 URL,不代表它不会因为外部链接、历史记录或其他信号而保留对该 URL 的索引。更麻烦的是,如果整站被禁止抓取,爬虫可能连“这个页面已经改成 noindex”都读不到,反而让移除更难完成。
因此清单里要单独设一项判断:本次目标是节省抓取预算、阻止内容被抓取,还是让页面从搜索结果中消失。前两者可以用 robots.txt;后者应优先考虑页面级 noindex,并在允许抓取的前提下让爬虫读到该指令。robots.txt 与 noindex 不是互相替代,而是适用条件不同。
每次修改前把以下信息记录在同一处,后续复查才有对照基准:
这一层的价值在于把“凭印象改文件”变成有依据的变更。路径写法、通配符位置和大小写差异都可能让规则匹配到预期之外的 URL,先固定输入才能判断结果是否符合预期。
面对“禁止抓取”和“移除索引”两种需求,可以用下面的对比来决定:
Disallow 指向该目录,并确认该目录下没有需要被索引的页面。Sitemap 指令指向站点地图地址,但要清楚站点地图是发现辅助,不保证收录。这里的关键判断是:规则的作用对象和期望结果必须一致。禁止抓取解决的是“爬虫来不来”,索引移除解决的是“结果里有没有”,两者混用就会得到看似矛盾的现象。
文件发布后不要只看“能否打开”,而要逐项核对:
Disallow。判断结果时要接受一种情况:文件本身完全正确,但索引移除仍未发生。这通常说明目标应改用页面级指令,或需要更长的处理周期,而不是继续在 robots.txt 里加规则。不同搜索引擎对指令的支持与处理节奏需要分别核查,不能拿一个平台的表现直接推断另一个平台。
要让清单真正可复用,可以固定四个栏目:本次目标、涉及路径、所选方案及适用条件、验证结果与回滚记录。每次改动只填这四栏,下一次遇到类似需求时先比对适用条件,再决定是沿用还是更换方案。这样清单不会退化成语法备忘录,而能持续回答“这次该不该用 robots协议、用到什么程度、怎么确认生效”。
下一步,挑一个当前正在处理的目录或页面,按上面的四栏填一遍,并单独标注它是抓取问题还是索引问题;如果两者都有,就拆成两次变更分别验证。