网站改版、更换 CMS、调整栏目结构,都会牵动 URL。老链接一旦失效,或者跳到不相干的页面,先前积累的访问路径就可能断掉。与其上线后再到处救火,不如在动手之前,把迁移映射当成一份必须交付的清单来对待。
一、先把老 URL 盘清楚
迁移的起点不是新站点,而是老站点的 URL 全量清单。至少从三个来源合并:
- 可被搜索发现的页面:历史 sitemap、抓取日志里出现过的地址;
- 站内实际被链接的页面:导航、正文内链、聚合页、相关推荐;
- 有外部入口的页面:被其他站点引用、被用户收藏、出现在投放物料里的地址。
三类清单合并去重后,才是真正的迁移底表。只看 sitemap,很容易漏掉带参数的列表页、附件页和老版栏目路径。
二、映射关系要写得能被别人读懂
一对一与批量规则
能一一对应的页面,就写明旧地址到新地址;栏目整体调整,可以用前缀规则批量处理。两种方式混用时,具体规则要优先于通配规则,否则可能被通配符先吃掉,跳到错误的栏目首页。
没有对应页怎么办
确实不打算保留的内容,宁可指向最相关的上级栏目,也不要全部扔到首页。实在没有合适的落点,就返回 404 或 410,让搜索引擎和访客都能得到明确信号。大量无关页面统一跳首页,往往既影响体验,也难以达到预期效果。
三、跳转本身也要检查
重定向不是设完就算,跳转链、跳转类型和跳转后的可用性都要过一遍。
- 用 301 表达永久迁移,避免长期使用 302;
- 检查是否存在 A 到 B 到 C 的多级跳转,能合并成一步就合并;
- 大小写、末尾斜杠、http 与 https、带 www 与不带 www,尽量统一到一种形式;
- 静态资源、图片、附件、RSS、分页参数也要纳入映射范围。
四、上线后的观察与收尾
迁移发布只是开始。接下来几周,建议每周做一次简单核对:
- 抽查新旧 sitemap 的差异,确认重要页面都能在新结构中访问到;
- 看服务器日志里的 404 和 5xx,找出遗漏的映射;
- 确认内链和 canonical 已指向新地址,避免站内还停留在旧路径;
- 保留旧地址的重定向,不要急着删规则,至少保留几个内容周期。
如果站点有灰度或回滚方案,迁移映射表也应当可以一起回滚,避免新旧两套结构并存造成重复内容。
五、一份可复用的检查表
- 老 URL 清单是否包含参数页、附件页与历史栏目路径;
- 每条映射是否写明目标地址与生效范围;
- 是否存在跳转链、循环跳转或指向 404 的跳转;
- 内链、sitemap、canonical 是否同步更新;
- 上线后是否有日志层面的复查计划与责任人。
URL 迁移没法保证每一次都零损耗,但可以把可控的部分做扎实:底表全、映射准、跳转健康、观察持续。这些动作不花哨,却直接决定改版之后,访客能不能顺利找到原来的内容。