站点运营

站点改版与域名迁移:别让蜘蛛在旧地址和新地址之间迷路

网站改版、更换域名或调整 URL 规则时,真正的风险往往不在上线那一刻,而在之后蜘蛛还在旧地址上反复打转。本文把迁移前后需要核对的环节整理成一份清单,从旧 URL 盘点、跳转映射,到内链、canonical 和 sitemap 的同步更新,帮你把地址交接这件事做干净。

站点运营

站点改版与域名迁移:别让蜘蛛在旧地址和新地址之间迷路

先想清楚这次改的是什么

域名更换、目录结构重排、URL 规则变化、协议或 www 前缀切换,这几类改动的处理方式并不一样。比较稳妥的做法是先给这次迁移定性:是整体换址,还是局部调整?影响的是全站地址,还是某个栏目下的页面?把范围写清楚之后再动手,能避免很多漏网的地址。

最麻烦的情况是几件事叠在一起做,比如一边换域名,一边改 URL 规则,同时还调整了栏目结构。这时排查问题时很难判断是哪一步出的错,建议拆开分批推进。

迁移前的准备:把旧地址盘清楚

旧 URL 清单从哪来

  • 站内 sitemap 里列出的地址
  • 服务器访问日志中出现过的真实访问路径
  • 站内链接抓取结果,包括导航、列表页、相关推荐
  • 外部平台导出的入站链接清单

只看 sitemap 通常会漏掉一批历史页面,尤其是早期做过调整、后来又没更新的那些地址。日志和站内链接能补上这部分缺口。

建立一对一映射表

  • 内容对应的页面互相映射,语义接近的优先配对
  • 已经确定删除的页面,单独列出,不要硬塞给首页
  • 多个旧地址合并到一个新地址时,只保留一个最终去向
把成批的旧地址统一跳转到首页,对用户和蜘蛛来说都等于“这个页面已经不存在了”,同时首页还会收到一堆内容不相关的信号,得不偿失。

跳转怎么写才不添乱

用 301,尽量一跳到位

跳转链条越长,中间损耗越多。A 跳到 B,B 再跳到 C 这种结构,既让用户多等一次,也让蜘蛛多走一趟。能在配置里直接指向最终地址,就不要保留中间环节。

不要用 302 长期顶替

临时跳转适合短期的灰度或活动,但如果它长期存在,蜘蛛会持续把旧地址当作有效地址来看待,不利于地址的交接。

旧域名和证书别急着放掉

旧域名继续解析、证书继续覆盖、服务器继续返回 301,这个状态建议维持较长时间。中断之后,从旧地址进来的访问会直接进死胡同。

站内自己先改干净

  • 导航、面包屑、正文内链里的地址是否已换新
  • canonical 是否指向新地址,而不是旧地址
  • sitemap 是否已替换,旧地图是否已下线或更新
  • 结构化数据、分享卡片、RSS 里的地址是否同步

如果站内链接还指着旧地址,等于每一次点击都要多走一次跳转,蜘蛛发现新地址的速度也会被拖慢。

上线前后的核对

上线前

  1. 预发布环境确认禁止抓取,或者至少与正式环境隔离
  2. 检查配置和模板里有没有硬编码的测试域名
  3. 确认 robots 规则没有顺手把新站整站挡住

上线后

  • 抽查一批代表性地址,看跳转是否落到正确页面
  • 在访问日志里盯 404 和 5xx 的变化,而不是只看总量
  • 观察新地址的抓取情况是否逐步起来
  • 确认 sitemap 里提交的地址都能正常打开

迁移后的抓取和索引波动是常见现象,重点看趋势和错误类型,不要因为某一天的数字起伏就急着改规则。

几个容易漏掉的细节

  • 地址的大小写和结尾斜杠是否保持统一
  • 带参数的旧地址是否也在映射表里
  • 图片、样式、脚本等静态资源是否还挂在旧域名上
  • 邮件模板、二维码、外部合作页面里写死的链接

这些地方不直接影响主页面,但会在日志里留下大量混杂的请求,给后续排查添麻烦。

把过渡期当成正常阶段

迁移不是一次切换动作,而是一段需要盯着的过渡期。映射表留档、日志定期看、旧域名维持解析,这几件事做到位,地址交接基本就不会出大问题。至于新地址多久被重新抓取、页面何时恢复原有的表现,取决于站点自身情况,能做的是把可控的环节先做对。