改版本身不难,难的是迁移之后:老地址还有没有人在访问,新地址要多久才被重新抓取和替换,中间这段时间里出现的空档怎么处理。下面按操作顺序把这件事捋一遍。
第一步:把新旧地址的对应关系列清楚
动手之前先做一张对照表,左边是老 URL,右边是新 URL,一行一个。这张表决定了后面所有动作,也决定了出问题时能不能快速定位。
- 哪些页面保持原地址不变;
- 哪些页面换了地址但内容不变;
- 哪些页面要合并到一个新地址;
- 哪些页面确定不再需要。
合并的情况只保留一个目标页,其余的都指向它。没有这张表就上线,后面看到一个 404 都不知道是漏配了还是本来就要删。
第二步:跳转统一用 301,并且只跳一跳
301 表示永久替代,搜索引擎会把新地址当成老地址的接替者。302、meta refresh、JavaScript 跳转容易被理解成临时处理,老地址可能继续留在索引里,新地址也拿不到应有的位置。
跳转链越长,传递过程越容易损耗。老地址 → 中间页 → 新地址这种结构,最好改成老地址直接指向最终页。
另外注意大小写、结尾斜杠、www 与非 www 在迁移时保持一致,别让同一次迁移又引入一批新的形式变体。
第三步:地址改动和内容改动尽量分开做
换域名、改 URL 结构、重写正文、换模板,如果全部挤在同一天上线,一旦出现问题,你很难判断是哪一步引起的。比较稳的做法是分批:
- 先只改地址,内容和模板保持原样,观察一轮;
- 再换模板和版式;
- 最后调整正文和结构。
时间上确实赶不开,至少把旧版本的页面内容留档,方便对照判断哪个新地址对应哪个老页面。
第四步:不要把所有老页面都跳到首页
整站 301 到首页是常见的省事做法,但搜索引擎判断不出对应关系,通常不会把首页当成那些页面的替代,老地址更可能被当作失效内容处理。只有确实找不到替代页面的地址,才让它返回 404 或 410。
第五步:迁移期间要同步更新的几处
- sitemap:换成新地址版本,别再长期提交老地址的 sitemap。
- 站内链接:导航、面包屑、文章内链都要直接指向新地址,不要依赖跳转。
- canonical:指向新地址自己,不要还指回老地址。
- robots.txt:确认新目录没被意外屏蔽。
- 提交入口:新旧地址都过一遍,确认没有遗漏。
老地址要保留多久
301 至少保留到老地址在搜索结果里基本消失、访问量稳定落到新地址为止。常见做法是一年以上,访问量大的站点更久一些,别急着停掉老域名。
判断依据主要看两处:日志里老地址还有多少真实访问和抓取;站内搜索或粗略的站点查询里老地址还剩多少。后者只是参考,不要当成精确数据。
迁移后常见的三种情况
新地址收录慢
新地址需要重新走一遍被发现、被抓取的过程。先确认它内链可达、在 sitemap 里、没有被屏蔽,然后给一点时间。只靠提交入口而不修内链,效果通常有限。
老地址还出现在结果里
可能是跳转还没被处理完,可能是站内还有链接指向老地址,也可能是外部链接仍在指老地址。只要跳转正常,用户点进去到的是新页面,这一般属于过渡期现象。
流量短期起伏
迁移期间流量有所波动是正常的。重点看整体趋势和最终落到哪个地址,别在几天内反复改跳转、改 canonical,那样只会让状态更难判断。
迁移是一次性的工程。按对照表、301、内链、sitemap 的顺序推进,比上线之后一点点补窟窿要省力得多。