站点改版时,URL 迁移是最容易出問题的一环。内容没變,但地址換了,蜘蛛手里的舊路径就全部作废,需要重新發現並建立新的抓取路径。這個過程不是一次切換,而是一段交接期,通常要持續几周甚至更久。
交接期的目标:让两條路径都通
迁移期里,站点實际上同时存在两套地址体系:舊 URL 還在被訪問、還在被蜘蛛抓取,新 URL 則需要被逐步發現。比較理想的狀態是,舊 URL 通過 301 指向對應的新地址,新地址能從内鏈和 Sitemap 中被找到,最终蜘蛛把抓取重心從舊地址挪到新地址。
如果只做了一半,比如把舊頁面直接删掉、内鏈却還指向舊地址,蜘蛛顺着舊連結過来會撞到 404 或跳轉鏈,抓取节奏就會被打乱。
301 怎么用才不添乱
- 一對一:每個舊 URL 尽量指向内容最接近的那個新 URL,不要全部導向首頁。
- 一层就够:避免 A 到 B 再到 C 的多級跳轉,跳轉层級越深,蜘蛛追到最终頁面的成本越高。
- 別用 302 長期顶替:临时跳轉传递的信号較弱,長期迁移應当使用 301。
- 保留時間要够長:舊地址上仍有外部連結和用戶收藏,短期内撤掉跳轉容易造成流量與抓取的断档。
内鏈:發現新 URL 的主干道
蜘蛛發現新地址最稳定的来源往往不是 Sitemap,而是頁面之間真實存在的連結。改版後,導航、面包屑、正文推荐位、分頁這些位置的連結都要指向新地址,否則蜘蛛即使知道新 URL 存在,也缺少持續訪問的入口。
一個常见疏漏是:内容里的歷史連結没有批量替換,正文中仍留有大量舊地址。這些連結虽然會经過 301 到達新頁面,但每一次都多花一跳,深层頁面的抓取會被拖慢。
Sitemap 的更新节奏
Sitemap 應尽量只保留目前有效的規范化地址。迁移期可以這样安排:
- 新地址确定後,尽快生成包含新 URL 的 Sitemap。
- 舊 URL 不必立刻從 Sitemap 中移除,但如果它們會 301 跳轉,就不要再当作有效頁面提交。
- 分批更新,避免一次性替換全部文件,方便對照日誌观察抓取變化。
日誌里值得盯的几個信号
- 舊 URL 的抓取量是否逐步下降,新 URL 是否逐步上升。
- 新 URL 從上线到首次被訪問,間隔了多久。
- 是否出現大量跳轉連結被反复抓取,這通常說明内鏈没改干净。
- 是否有新 URL 長期無人訪問,需要回头检查它有没有可爬取的入口。
迁移期的判断标准不是新頁面被抓了一次,而是蜘蛛的抓取重心是否真正轉移過去。抓取频次和入口數量,比單次訪問更能說明問题。
几個容易踩的坑
- 改版同时換了 URL 结构、模板和内容,變化過大,出問题时很难判断是哪一步導致。
- 舊站直接關停,跳轉在新站做,但新站還没被充分抓取。
- 只改了首頁内鏈,栏目頁和列表頁的連結仍是舊的。
- 迁移期服務器同时承受两套地址的訪問压力,响應變慢,反過来又影响抓取。
迁移没有一步到位的做法。把 301、内鏈、Sitemap 三件事對齐,再用日誌持續观察一两個月,通常能看到抓取逐步回到稳定狀態。节奏急不来,也不适合频繁反复調整。