站点改版、换域名或调整目录结构之后,很多站点会遇到同一个现象:新 URL 已经开始被抓取,旧 URL 却还挂在搜索结果里,短则几周,长则几个月都没退干净。这通常不是搜索引擎反应慢,而是站点同时发出了互相矛盾的信号。下面按由内到外的顺序,整理一份可以照着做的核对流程。
先明确:这是两个独立的问题
旧 URL 退出索引和新 URL 进入索引是两件事,节奏并不一样。新 URL 能不能被收录,取决于它是否被抓取、内容是否达标;旧 URL 什么时候消失,取决于重定向是否稳定、外部引用是否还在、以及索引自身的更新周期。把两件事混在一起看,很容易误判成改版失败。
第一层:重定向本身是否干净
状态码用对,不要中途反复切
永久迁移用 301,方案还没定下来之前用 302。麻烦的是先用 302、过一阵再换 301,或者反过来来回切——搜索引擎会反复重新判断,旧 URL 在索引里的停留时间会被拉长。确定最终结构之后,尽量一次定下来,不要频繁改动。
避免链式跳转和目标不统一
A 跳到 B、B 再跳到 C 的链式重定向会增加抓取成本,也让信号传递变得模糊。理想状态是一跳到位:旧 URL 直接 301 到最终的新 URL。同时要注意同一批旧地址不要一部分跳新域名、一部分跳 www 版本,目标不统一会让新旧版本在索引里同时出现。
第二层:站内信号是否已经切换
内链、导航与面包屑
如果站内还有大量链接指向旧 URL,搜索引擎每次抓取都在重新确认旧地址是活着的。改版时建议同步更新主导航、面包屑、相关推荐以及正文里的站内链接,让站内绝大多数入口都指向新 URL。
站点地图与抓取入口
提交新的站点地图,只包含新 URL;旧 URL 不必再长期放在里面。如果旧地址数量很大,可以短时间保留一部分便于发现重定向,但不要长期混放,否则等于同时告诉搜索引擎两套地址都重要。
canonical 不要与重定向打架
旧页面如果还能访问,且页面上写着指向自己的 canonical,就会和 301 形成冲突。改版后更稳妥的做法是让旧地址直接做重定向,而不是保留旧页面再靠 canonical 兜底。
第三层:旧地址怎么收尾
重定向不是越快删掉越好。只要旧 URL 还有外链、还有用户点击、还有自然流量,保留 301 通常比直接返回 404 或 410 更稳。反过来,如果确认某个旧地址从未被引用、内容也已彻底废弃,用 404 或 410 让它明确消失是合理的。判断依据是数据,不是感觉。
几个常见踩坑
- 一次性把几万个 URL 全部切换,短时间内产生大量新地址,抓取预算被摊薄,新页面进入索引的速度反而更慢。
- 旧路径直接返回 404 而没有重定向,外部链接带来的流量一起断掉。
- 重定向目标返回 200,但内容是空页或错误提示,形成软 404。
- 新 URL 上线后内容还是占位模板,抓取到了也难以进入索引。
- 只改了服务器配置,忘了同步更新站内链接和站点地图。
可执行的核对顺序
- 确认最终 URL 规则:协议、域名、目录、尾斜杠全部统一。
- 抽查旧 URL 的响应:是否 301、是否一跳到位、目标地址是否正确。
- 检查站内入口:导航、面包屑、正文内链是否都指向新 URL。
- 提交新站点地图,核对其中不混入旧地址。
- 排查 canonical 与重定向之间是否冲突。
- 观察一段时间后,再决定旧地址是继续保留 301 还是收回 404。
改版后的收录接替,本质是让站内所有信号指向同一个答案。信号越一致,判断过程越短。
最后提醒一句:旧 URL 从索引里退出需要时间,这一点站点无法直接控制。能控制的是重定向是否稳定、入口是否统一、新页面是否值得被索引。把这三点做扎实,剩下的交给正常的抓取周期即可。