搜尋抓取

URL 迁移期的抓取過渡:301、内鏈與 Sitemap 怎么配合

站点改版或換域名後,蜘蛛仍會按舊地址訪問一段時間,這段過渡期直接影响新地址能否被顺畅走到。本文從 301 跳轉、内鏈切換、Sitemap 與 canonical 的配合,以及迁移节奏與日誌观察几個方面,說明新舊地址並存时该怎么安排抓取路径,並列出几個常见坑。

搜尋抓取

URL 迁移期的抓取過渡:301、内鏈與 Sitemap 怎么配合

迁移期,蜘蛛手里同时握着两套地址

站点改版或換域名时,抓取並不會在切換那一刻重置。蜘蛛仍會按舊地址来訪問一段時間,這些訪問不是噪音,而是把新地址介绍给它的机會。過渡期處理得好,抓取路径能比較平滑地迁移;處理得粗,舊地址會持續消耗抓取频次,新地址却迟迟走不顺。

舊地址要给明确去向,別让蜘蛛猜

最常见的問题不是跳轉没做,而是做得不清楚。以下几種做法需要避開:

  • 用 302 長期代替 301,临时跳轉通常不會被当作地址變更信号;
  • 用 JS 跳轉或 meta refresh 代替服務端跳轉,部分抓取场景不执行,等于舊地址是死路;
  • 跳轉鏈過長,A 跳到 B 再跳到 C,每次都是一次額外訪問,路径被拉長;
  • 在 robots.txt 里屏蔽舊路径,蜘蛛连 301 都看不到,自然也拿不到新地址。

另外,不要用一條通配規則把所有舊路径都指到首頁。路径與頁面一一對應的 301,才能把訪問带到正确的新地址上。

内鏈是切換信号,不是迁移後的收尾

舊地址在蜘蛛那里還存在,很大程度是因為站内還在指它。導航、面包屑、相關推荐、列表頁、RSS,只要有一處還輸出舊連結,蜘蛛就會繼續沿舊路径走,301 的訪問量也就降不下来。

  • 检查模板里硬编碼的連結;
  • 確認 XML Sitemap 的生成逻辑讀的是新地址;
  • 结构化資料、分享連結、站内搜尋结果里的 URL 也顺手更新。

Sitemap、canonical 與 hreflang 的配合

新 Sitemap 只放新地址,舊 Sitemap 建议保留一到三個月,用来帮助蜘蛛發現舊地址上的 301。canonical 指向自身的新地址,不要新舊互相指向,那會把信号弄乱。多語言或多地区站点,hreflang 里的地址同样要跟着換。

迁移节奏與观察指标

不必一口气全站切換,但也不宜拖得太久。可以按頁面價值分批:先切換主要入口和内容頁,再處理低價值頁面。切換後從日誌里看几件事:

  • 舊地址的抓取量是否逐步下降;
  • 新地址的抓取量是否同步上升;
  • 301 的命中次數與来源路径,判断還有哪些入口没改;
  • 新地址被抓取後的狀態碼與响應時間是否稳定。

几個容易被忽略的坑

  • 舊地址直接返回 404,蜘蛛拿不到去向,迁移信号中断;
  • 新舊頁面内容同时在线,又没有 canonical,形成重复地址;
  • 内鏈只改了一半,蜘蛛在两套结构之間来回走;
  • 新舊路径同时响應,服務器压力上升,抓取频次被動下調。
迁移的本质是把一條清晰的路径交给蜘蛛:舊地址有明确去向,新地址有稳定入口。做到這两点,剩下的就是按日誌里的反馈逐步收口。