先给结论:不要在同一轮里同时改抓取、索引和展现三层的配置。把修复拆成“只动一个变量”的步骤,用收录查询工具观察每一步之后哪一类结果变了,才能判断异常是修复本身引入的,还是被修复掩盖的旧问题浮出来。下面用一个假设情境把决策过程走一遍。
假设某站点发现部分栏目页长期不出现在结果中。排查后判断是robots.txt里一条过宽的Disallow挡住了抓取,于是把该规则删除,并把同一批URL重新放进站点地图。几天后,收录查询工具显示这些栏目页开始被处理,但站内另一批原本正常的详情页却出现了标题与摘要异常。
此时最容易犯的错,是认为“修复把问题转移了”,然后回滚robots.txt。但回滚前必须先分清:详情页的异常是新增抓取带来的,还是它们本来就有问题、只是过去抓取量低所以没暴露。这两者的处理方向完全相反。
抓取、索引、展现是三个有先后依赖的环节,但依赖方向不是单向的。可以这样拆:
关键判断:如果一次修复只改了抓取段,那么索引段和展现段的异常不可能由修复直接造成,只能是修复后抓取量上升,让原本就存在的索引或展现问题变得可见。这个判断决定了下一步是查旧问题,还是查新改动。
针对假设情境中的详情页异常,按下面的顺序取证据,每一步只回答一个问题:
这一步的实际动作是把“已索引但展现异常”和“未索引”分成两组URL分别处理。分组结果直接决定后续:前者去查标题模板和规范标签,后者去查抓取路径。混在一起查,会反复在无关环节上浪费轮次。
下面两条判据可以帮助决定是否回滚:
只有第一条成立时才考虑回滚。若属于第二条,回滚只会让问题重新被掩盖,而不会消失。需要说明的是,抓取量或某项统计归零本身不能证明处理正确,它也可能是抓取预算重新分配、服务器临时不可用或站点地图未被读取造成的,必须结合日志和响应状态一起看。
假设确认异常属于“修复暴露”,下一步不是回滚,而是对暴露出的索引或展现问题单独做一次最小改动,例如只调整某一类页面的标题模板。改动上线后:
这个动作的结果会直接影响下一步:确认无连带影响后,才可以把同类改动推广到其他模板;一旦出现连带变化,就说明依赖链还没拆干净,应停止推广,回到分段定位。
以上流程成立的前提是:站点有可用的抓取日志或至少能区分抓取与索引状态;改动可以按URL集合切分;观察窗口内没有其他大范围改动同时上线。若这些条件不具备,先补日志和分组能力,再谈拆依赖链。另外,robots.txt的抓取限制不等于可靠的索引移除,站点地图也不保证收录,HTTPS同样不保证安全无漏洞或排名,这些都不能当作拆链结论的依据。