换域名、调整目录层级,或者把 http 改成 https,本质上都是同一批内容换了一组地址。对搜索引擎来说,这既不是“更新页面”,也不是“修改标题”,而是新出现了一批 URL,同时旧地址还留在索引里。最终哪个地址出现在索引中,取决于你给出的信号是否一致、稳定,以及新旧地址之间的交接是否清楚。
先把三件事分开看
- 抓取:蜘蛛是否请求了这个 URL。请求成功,只说明地址可达。
- 收录:这个 URL 是否被允许进入索引。它受 robots、noindex、重复内容判断等因素影响。
- 索引归属:同一份内容存在多个地址时,索引里保留哪一个。由 canonical、跳转、内链等信号共同决定。
迁移中最常见的误判,是看到新 URL 能被抓取,就认为“已经迁完了”。实际上此时索引里可能还是旧地址,新地址处于“已发现、尚未被选为代表性 URL”的状态。
切换顺序:先铺新入口,再改跳转
顺序反过来做,很容易出现一段空白期:旧地址已经不能访问,新地址又没有任何站内入口,只能靠 sitemap 慢慢被发现。
- 新 URL 先上线并可正常访问,内链、导航、面包屑、sitemap 都指向新地址。
- 确认新地址返回 200,页面内容完整,canonical 指向自身。
- 再对旧地址做 301,跳转到语义最接近的新地址,一对一,不要统一跳到首页。
- 最后更新外部链接、站点地图和站内所有引用旧地址的位置。
301 要一对一,别做成“全部跳首页”
把一批旧 URL 全部 301 到首页,等于告诉搜索引擎这些地址对应的内容已经消失。比较自然的结果是旧地址被移除,而新地址并不会因此自动继承原来的位置。正确做法是每个旧地址跳到主题最接近的新地址;确实没有对应页面的,返回 410 或保留一个说明页,比硬跳首页更清楚。
跳转链也要控制长度:A→B→C 这种多级跳转会让信号变弱,尽量改成 A→C 的直接跳转。
让新地址被发现的几个入口
- 站内链接:正文、导航、相关推荐、分类列表页,能覆盖到的尽量覆盖。
- sitemap:只放新地址,不要新旧混放,避免给出互相矛盾的信号。
- 锚文本:用能说明页面主题的描述性文字,比“点击这里”更有参考价值。
- 外部入口:合作方、社交平台、历史文章里的旧链接,能更新的尽量更新。
旧地址的收尾
301 通常要保留较长时间,至少覆盖一个完整的抓取周期。在确认新地址已经被正常抓取、索引里的地址完成切换之前,不建议撤掉跳转。如果旧地址曾经被大量外链引用,保留跳转的价值更高。等新地址稳定出现在索引里,再考虑是否需要用工具提交移除旧地址。
迁移后的自查清单
- 新 URL 是否返回 200,canonical 是否自指。
- 旧 URL 是否 301 到语义最接近的新 URL,是否存在多级跳转。
- 站内是否还有残留的旧地址链接。
- sitemap 是否只包含新地址,且这些地址均可访问。
- 是否存在重复内容:同一份内容的新旧两个地址同时返回 200。
- 日志里新地址的抓取频次是否在上升,旧地址是否在减少。
迁移没有一步到位的做法,能控制的是信号是否一致:入口指向新地址、旧地址明确跳转、sitemap 不打架、canonical 不摇摆。把这些做稳,剩下的交给抓取周期去消化。