永久重定向方法本身只负责把请求从一个地址转到另一个地址,它既不能保证搜索引擎一定抓取新地址,也不能保证新地址一定进入索引。要区分访问抓取与索引结果,最直接的做法是:在服务器日志中确认重定向是否被请求、返回码是否为 301 或 308,再在搜索引擎的抓取统计和索引状态中分别核对新地址是否被抓取、是否被收录。抓取成功不等于索引成功,索引成功也不等于排名稳定。
多人协作时最常见的返工,是把“重定向已经生效”当成“问题已经解决”。实际上要拆成三层来看:
Location 指向新地址。这三层是递进关系,但不存在自动保证。重定向生效只说明第一层通过;爬虫是否抓取新地址,取决于它是否发现并愿意请求;是否进入索引,还取决于内容质量、重复情况、robots 规则和规范化信号。robots.txt 的抓取限制不等于可靠的索引移除,站点地图也不保证收录。
第一步不是看搜索结果,而是确认重定向的实现是否正确。常用检查方式:
Location。例如请求 /old-page,期望看到 301 或 308,并指向 /new-page。判断结果:如果旧地址返回 301/308 且直达新地址,访问层通过;如果日志中只有旧地址请求、没有新地址请求,说明抓取层尚未完成,需要继续观察或补充内链、站点地图等发现路径。
抓取层可以通过服务器日志、搜索引擎提供的抓取统计来观察。索引层则要看搜索结果或索引状态查询。两者常见的错位情况包括:
这里要区分“可能原因”和“已经定位的原因”。例如新地址未收录,可能是内容重复、robots 限制、页面质量不足或抓取预算有限,不能仅凭一个现象断定唯一原因。不同搜索引擎的支持情况和处理速度须分别核查,不要用一家的结果推断另一家。
为了减少返工,交付时可以固定一组检查项,让开发和SEO都能对照:
Location 指向最终新地址。验收信号可以写成:访问层通过 + 抓取层出现新地址请求 + 索引层新地址被收录。若只满足前两项,应标注为“抓取已确认,索引待观察”,而不是直接关闭任务。
假设把 /old 永久重定向到 /new。请求 /old 返回 301 且指向 /new,说明访问层正确。几天后日志中出现爬虫请求 /new,说明抓取层已发生。再过一段时间,索引查询显示 /new 已收录、/old 已移除,才算索引层完成。这个顺序是判断依据,不是时间保证;具体快慢取决于站点情况和搜索引擎处理。
下一步建议:把上面的检查项整理成一张交付清单,每次做永久重定向时按访问层、抓取层、索引层分别记录结果,并注明观察日期,避免把“重定向已生效”误当成“索引已完成”。