搜索抓取

站点改版期的抓取过渡:新旧 URL 并行时该怎么安排

改版、换目录或调整栏目结构时,最容易出问题的不是旧页面失效,而是新旧 URL 同时可访问、抓取路径被拉长。本文从映射表、重定向、内链与 Sitemap、日志对账几个环节,讲清改版期如何让搜索蜘蛛顺利从旧地址过渡到新地址。

搜索抓取

站点改版期的抓取过渡:新旧 URL 并行时该怎么安排

换域名、调目录、把栏目从一层拆成两层,这些改版动作都会让站点出现一批新 URL。对搜索蜘蛛来说,改版期最麻烦的往往不是旧页面消失,而是同一份内容同时挂着两个地址:旧的还能打开,新的也已经上线。抓取路径被拉长,URL 发现变慢,抓取频次和收录数据会在几周内来回摆动。

这篇说的是纯执行层面的过渡安排:在改版前后有限的时间里,怎么让蜘蛛更快地把抓取重心从旧地址挪到新地址。

改版期抓取容易出的三类问题

  • 新旧并存:旧地址返回 200,新地址也返回 200,两份内容几乎一样。蜘蛛不知道哪个是正主,抓取量被摊薄,两个地址的权重都被拖住。
  • 路径断裂:旧栏目页整批下线,但站内导航、面包屑、文章底部的相关推荐还指向旧地址,蜘蛛顺着内链走进去只能拿到 404 或跳转链。
  • 发现变慢:新 URL 只靠在 Sitemap 里列一遍,站内没有任何入口指向它。蜘蛛能看到清单,却缺少内链信号,抓取优先级自然排不上去。

动手前先固定一张 URL 映射表

映射表是整件事的地基。它不需要多复杂,一张两列的表格就够:左边旧 URL,右边新 URL;不一一对应的,右边写清规则,例如某个栏目整体迁到了哪个前缀下。做表时注意几点:

  1. 以实际可访问的 URL 为准,不要凭记忆写。用抓取工具或日志把旧站地址拉全,包括带参数的分页、筛选页。
  2. 确认旧站与新站的 URL 归一化规则一致,避免大小写、结尾斜杠、参数顺序在迁移后产生新的重复。
  3. 把没有对应新地址的旧 URL 单独标出来,这类页面是后续要做 410 还是保留跳转到上一层栏目,需要提前定,而不是等上线后再补。
  4. 映射表要留版本号。改版过程中需求会变,回头翻旧版能省很多解释成本。

并行期的重心:让权重落到新地址

并行期通常在几周到几个月之间。这段时间的目标不是把旧地址立刻抹掉,而是让蜘蛛每次来访都能更明确地走到新地址。

重定向

旧 URL 到新 URL 尽量用单跳的永久重定向,一跳到底,不要让蜘蛛连续穿过多层跳转。跳转链越长,抓取时被中断的概率越高。分页、筛选类参数页可以按规则映射,实在没有对应页面时,退到上一级栏目比跳回首页更贴近语义。上线后要抽查,别只看首页,抽查几个深层页面更有效。

内链与导航

新站的导航、面包屑、列表页、相关推荐,全部指向新地址,这一点必须在上线时同步做完。旧地址如果还留在内链里,蜘蛛会不断顺着旧链走,等于自己把抓取路径往回拽。站内搜索、标签页这类动态生成的入口容易被漏掉,需要一起检查。

Sitemap

改版后的 Sitemap 只放新地址,这与映射表并不冲突:映射表是给团队看的,Sitemap 是给蜘蛛看的。旧地址的清单可以逐步缩减,但不必立刻清空,等日志显示新地址的抓取已经稳定再说。Sitemap 里的地址数量较大时,按栏目分片比堆在一个文件里更容易观察哪一块还没被抓。

用日志做抓取过渡的对账

做完上面几步,判断标准不在后台的 URL 总数,而在日志里蜘蛛到底在抓什么。挑一张表,把三类数据放进去:新 URL 是否被请求、每次请求的状态码、抓取来源(是从内链进来的,还是从 Sitemap 进来的)。

看两条曲线就够了:新 URL 的请求量是否在稳步上升,旧 URL 的请求量是否在同步下降。如果新地址的请求主要来自 Sitemap,几乎没有内链来源,说明站内入口还没接好。如果旧地址的状态码大量是 200 而不是重定向,说明还有入口在把蜘蛛往旧路径上引。

几个容易被忽略的地方

  • 只改主站,忘了移动站或子域名下的镜像版本,两套地址各自被蜘蛛发现。
  • 外链和合作方链接更新滞后,属于不可控因素,只能靠重定向兜住,不必等它们改完再上线。
  • 改版同时叠加了内容调整、模板重构、服务器切换,出问题时排查会变得很困难。能分开的步骤尽量分开。
过渡期的判断标准不是“旧地址删干净了没有”,而是蜘蛛的抓取记录里,新地址的请求是否已经占住主要份额,并且能稳定拿到 200。

整个过程里最值得投入时间的,其实是改版前那张映射表和上线后的日志对账。前一步决定路径通不通,后一步决定你有没有判断依据。两边都做实了,剩下的就是给蜘蛛一点时间。