搜尋抓取

換域名或改版之後,蜘蛛的抓取會怎么迁移

站点換域名或調整目錄结构後,蜘蛛並不會立刻知道地址變了。本文從舊地址的 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 數量與新地址的抓取量,是否在按预期方向變化。
迁移不是一次提交動作,而是一段持續數周到數月的過渡。把跳轉、地图、内鏈這三件事做扎實,剩下的交给時間。