搜索抓取

换域名或改版之后,蜘蛛的抓取会怎么迁移

站点换域名或调整目录结构后,蜘蛛并不会立刻知道地址变了。本文从旧地址的 301、Sitemap 更新、内链指向三个方面,说明抓取迁移的过渡过程、常见失误,以及迁移前后可以对照检查的几件事。

搜索抓取

换域名或改版之后,蜘蛛的抓取会怎么迁移

站点换域名、调整目录结构、从 HTTP 迁到 HTTPS,或者把动态 URL 改写成静态 URL,本质上都是同一件事:内容还在,页面地址变了。从蜘蛛的角度看,它并不知道你在改版,它只知道自己手里那批旧地址开始返回 301,或者干脆连不上了。

蜘蛛的起点是它已经抓过的地址

蜘蛛重新访问一个站点,通常是从上一次抓取留下的记录开始的:旧的 URL 队列、Sitemap 里的地址,以及站内已有的链接。改版之后如果这些入口没有同步更新,蜘蛛会继续访问旧地址,而这些地址要么打不开,要么要跳转,抓取时间就花在了过渡页面上。

告诉蜘蛛“搬家”的三个信号

  • 301 跳转:最直接的方式。旧地址永久跳转到新地址,一跳到位,不要中间再串几层。
  • Sitemap:新站点的地图要更新为新地址;旧地图可以保留一段时间,但要保证里面指向的地址能正常跳转。
  • 内链与导航:导航、面包屑、列表页、正文里的链接都要指向新地址。内链还残留旧地址,蜘蛛就会继续沿着旧路径爬。

迁移期常见的几个失误

只给首页做跳转

首页 301 到新域名,但栏目页、详情页都没处理。蜘蛛顺着旧内链走到一个 404,这条路径就断了。跳转要覆盖到所有还有外链或历史抓取记录的地址,而不是只处理门面。

在 robots.txt 里屏蔽旧站

为了“让蜘蛛快点去新站”,有人直接在旧站 robots.txt 里写 Disallow: /。结果是蜘蛛连 301 都看不到,只知道这里不允许抓取,跳转关系传不过去。旧站应该保持可抓取,直到跳转关系稳定下来。

Sitemap 一次性全换掉

旧 Sitemap 直接删除、新 Sitemap 一次性提交,蜘蛛需要一个重新发现的过程。更稳妥的做法是新旧并存一段时间,让两边都有据可依。

抓取量的变化通常不是立刻发生的

改版后的一段时间里,日志中可能同时出现旧地址和新地址的抓取记录,旧地址的抓取量缓慢下降,新地址逐渐上升。这个过渡期有多长,和站点规模、外链数量、更新频率都有关系,没有统一的时间表。比较有用的做法是盯住几个指标:旧地址返回 301 的比例、新地址被发现的节奏、404 的数量,以及服务器对蜘蛛请求的响应时间。

服务器与抓取节奏

迁移期间,新旧两套地址可能同时在跑,服务器压力会比平时大。如果响应变慢或者频繁出现 5xx,蜘蛛的抓取节奏会自动放慢,新地址被发现的速度也跟着慢下来。把跳转做得轻量、缓存配置好、避免跳转链,比反复提交更实在。

迁移前后可以对照的检查项

  1. 有外链、有抓取记录的旧地址是否都有对应的 301,且是一跳到达。
  2. 新站的导航、面包屑、列表页与正文内链是否全部使用新地址,没有残留旧域名。
  3. Sitemap 是否已更新,旧 Sitemap 是否仍可访问并指向能跳转的地址。
  4. 旧站 robots.txt 是否保持可抓取,没有误封全站。
  5. 服务器在双份流量下是否稳定,有没有明显变慢或大量超时。
  6. 日志里旧地址的 301 数量与新地址的抓取量,是否在按预期方向变化。
迁移不是一次提交动作,而是一段持续数周到数月的过渡。把跳转、地图、内链这三件事做扎实,剩下的交给时间。