改版最贵的代价通常不是页面变丑,而是旧地址集体消失。每个旧 URL 只有三种正确结局:指向最相关的新页、明确告诉搜索它已经不存在、或者原地址原样保留。最糟的做法是所有旧地址一律跳首页——它看起来解决了问题,实际是把站内所有关系搅成同一团。
先分清改版动了哪几类地址
动 URL 的改版通常同时做了三件事,每件事的处理方式不同。
- 路径重排:栏目顺序变了、日期从路径里去掉、中文路径换成英文。内容没变只是地址变了,逐条一对一映射。
- 层级合并:三个子栏目并成一个。三条旧路径要指向同一个新地址,不能各指向一个"看起来最像"的页面。
- 页面合并:两篇内容合成一篇。目标页要选内容最全、外链最集中的那个;一条链接算在站点级还是页面级这篇讲过外部链接落在哪一层,会直接影响你对"该保留哪个地址"的判断。
还有一类容易被忽略:媒体文件地址。附件页与文件本身的地址是两回事,改版时经常只处理了其中一个,WordPress 附件页关了,图片会消失吗?两种 URL 要分开检查专门讲这个区别。分类与标签页在改版里也常被重排,它们的处理方式和普通内容页一样按表走,不要因为"它不是文章"就跳过。

映射目标的选择规则
| 旧地址的情况 | 处理方式 | 目标怎么选 | 容易踩的坑 |
|---|---|---|---|
| 有对应的新页 | 301 | 内容最相关的那一页 | 指向了栏目页而不是详情页 |
| 多篇合成一篇 | 301 | 合并后的主页面 | 每篇各跳一个"最像"的页面 |
| 内容已删除且无替代 | 404 或 410 | 无 | 全部跳首页 |
| 只是暂时下线 | 保持可访问或 404 | 无 | 过几个月再补一条 301 |
| 只改样式、地址不变 | 不需要重定向 | 原地址 | 顺手把路径也改掉了 |
怎么落地:重定向和 canonical 要指向同一个页
永久与临时要分清。Google 对重定向类型的说明把 301、308 列为永久重定向,302、307 列为临时重定向:永久重定向在搜索结果里展示目标页,临时重定向展示来源页。会长期存在的映射一律用永久类型,并尽量放在服务器端设置。
重定向和 canonical 别各指一个页。Google 关于如何指定规范 URL 的说明给出的三种方式强度不同:重定向最强,其次是 rel="canonical",站点地图最弱;同一份文档也说,如果完全不指定,Google 会自行挑一个它认为客观最好的版本。所以"不指定"不会立刻出事,但会让你的对照表失去控制力。
站内链接也要一起改。Google 关于可抓取链接与锚文本的说明写明,Google 能稳定解析的是带 href 的 a 元素,靠脚本事件跳转的写法不能被可靠解析。改版后请在源码里搜一遍旧地址,而不是只看页面渲染出来是什么样。 如果改版涉及 WordPress 的固定链接设置,另看固定链接变更后的旧 URL 和跳转检查。
什么时候不要急着上重定向
- 改版还在预发布或灰度阶段。不要在预发布环境给旧站加 301,也不要让新旧两套地址同时对外可访问。
- 活动页、专题页只是暂时下线。后面还要回来的页面,先保持原地址或让它明确返回 404,等真要下线时再上永久重定向。
- 目标页还没最终确定。改版期间常有"这一版先用着、下一版再调"的情况,这时先把站内链接修好,不先上永久重定向。
- 官方没有公布重定向需要多久被重新抓取和替换,也没有公布必须保留多长时间。上一节引的那份重定向说明里查不到这两个答案,只能按自己的迁移周期安排,并在表里记下启用日期。
怎么验证旧 URL 处理对了
- 逐条请求:状态码、Location 里的目标、是否多层跳转、最终页是否 200。多层跳转要先拆成一层。
- 按外部链接数量从多到少抽查旧地址的最终落点,确认落点页真的回答了原页面的问题,而不只是"没报错"。URL 变体的计数问题里提过,参数变体常常被算成不同地址,抽查时别只验最干净的那一条。
- 把仍返回 404 的旧地址单列一张表,标注是"内容已删除"还是"还没做",避免半年后没人分得清。
- 改版稳定运行一段时间后,再看一次哪些旧地址仍有外部链接指向但没有被处理——这类遗漏通常在第二个月才暴露。
改版的验收标准只有一条:每个旧地址的结局都是有意选的,而不是默认落下来的。