搜索抓取

站点改版与 URL 迁移:怎样让蜘蛛在换路时少走冤枉路

改版最怕蜘蛛顺着旧路径走进 404。本文按改版前、改版中、改版后三个阶段,讲清旧 URL 清单怎么拉、映射表怎么写、内链与 canonical 怎么同步、Sitemap 与主动通知怎么用,以及迁移后该盯住哪些日志指标,让抓取路径平稳过渡。

搜索抓取

站点改版与 URL 迁移:怎样让蜘蛛在换路时少走冤枉路

改版最怕的不是页面变丑,而是蜘蛛顺着旧路径走进一片 404。抓取路径一旦断掉,新 URL 需要重新被发现、重新排队、重新评估,整个过程可能比预想中慢。下面按改版前、改版中、改版后的顺序,梳理几个容易漏掉的环节。

一、改版前:把旧 URL 的真实清单拉出来

很多站点以为自己清楚有多少 URL,实际上日志和 Sitemap 常常各说各话。至少要把这几份来源合并去重:

  • 服务器访问日志里最近 30 到 90 天被蜘蛛抓过的 URL,这是蜘蛛真正记得的那部分
  • Sitemap 中你主动声明过的地址
  • 导航、面包屑和正文内链里用户能点到的页面
  • 带参数的动态地址、分页页、筛选页,这些最容易被忽略

合并之后才是迁移映射表的底稿。有自然流量、有外链、有转化的页面优先级高;纯参数页和空壳聚合页可以考虑收口,不必一条条搬过去。

二、映射表:一条旧 URL 对应一条新 URL

迁移的核心是一张一对一(必要时多对一)的映射表,而不是让服务器自己去猜:

  1. 有等价新页面的,301 到最相关的新地址
  2. 已合并的栏目,301 到新栏目首页或最接近的上级页
  3. 确实下线的页面,301 到相关页,或返回 410
  4. 不确定的,先 301 到上级分类,不要直接 404

这里有个常见坑:不要制造重定向链。A 跳 B、B 再跳 C,等于让蜘蛛多走两跳,直接写 A 跳 C 就好。

三、内链与 canonical 要跟着一起换

服务器做完 301,站内链接却还指着旧地址,蜘蛛就会持续发现旧 URL,把抓取预算花在跳转上。需要同步处理的地方包括:

  • 全站导航、面包屑、正文内链统一替换为新地址
  • 页面的 canonical、hreflang 以及结构化数据里的 URL 同步更新
  • 图片、CSS、JS 等静态资源的引用路径一并检查,别留下破链
  • RSS、AMP、移动端版本如果还在,单独列一张清单

四、给蜘蛛一份新的路线图

迁移当天,Sitemap 应同步更新为新 URL 并提交;旧 Sitemap 可以保留一段时间,帮助蜘蛛发现 301 关系,之后再逐步下线。如果站点接入了 IndexNow 之类的主动通知,可以在新 URL 上线时批量推送一次,但不要反复刷,靠推送堆不出收录。

五、迁移后的观察期看什么

抓取结构通常需要几周甚至更久才稳定下来,这段时间重点看日志和抓取统计:

  • 蜘蛛抓取的 URL 中,新地址占比是否在上升
  • 301 命中的请求量是否在下降,说明站内链接已经换干净
  • 404 与 5xx 的曲线有没有异常尖峰
  • 旧 URL 是否还在被反复抓取,若长期不收敛,查一下是否有外部链接或站内残留指向
迁移不是一次提交动作,而是一段过渡期。旧的 301 至少保留一年,除非你能确认没有任何外部引用。

换个角度想:蜘蛛并不在意你的 URL 长什么样,它在意的是路径是否连续、是否可预期。把映射关系写清楚、把内链换干净、把日志盯住,剩下的交给时间。