搜尋抓取

站点改版後的抓取通路交接:舊 URL 與新 URL 怎样平稳過渡

站点改版时,搜尋蜘蛛手里的舊地图會逐渐失效。要让抓取不中断,需要把三件事同步交接:舊 URL 的可訪問狀態、站内内鏈的指向、以及 Sitemap 與 robots 這類發現入口。本文给出一套可执行的切換顺序,並列出過渡期最容易出現的几個断点與自查方法。

搜尋抓取

站点改版後的抓取通路交接:舊 URL 與新 URL 怎样平稳過渡

站点改版时,视觉、性能、内容往往被反复推敲,但搜尋蜘蛛看到的是另一套東西:一張由 URL 和連結组成的图。改版相当于把這張图重画一遍,如果舊地图没有平稳作废、新地图没有及时生效,就會出現新頁面已经上线、蜘蛛却還在舊路径里打轉的局面。

改版要交接的不是頁面,是三條通路

把交接拆開看,其實只有三样東西需要處理:URL 本身、指向 URL 的内鏈、蜘蛛發現 URL 的入口。頁面模板換了、栏目重新分组了,都不影响這套逻辑;真正影响抓取的是這三條通路有没有同步切換。

舊 URL:先保證可訪問,再考虑回收

最常见的事故是改版当天全站 404。蜘蛛手里存着大量舊地址,一旦訪問得到硬 404,它既不能顺着跳轉去新地址,也拿不到任何提示。稳妥的做法是让舊 URL 在一段時間内保持可訪問,並通過 301 指向對應的新地址;确實不再需要的頁面,可以先用 410 明确告知,再逐步清理,而不是一刀切。

要注意跳轉的落点必须是一對一的對應關系。把几十個舊栏目頁全部指向首頁,蜘蛛會認為這些 URL 最终归並到同一個地址,原先分散在各栏目下的詳情頁就失去了入口。

新 URL:让内鏈先于 Sitemap 铺開

很多人改版後第一件事是提交新的 Sitemap,却忘了新頁面上线时站内連結還指着舊地址。對蜘蛛来说,Sitemap 是候選清單,内鏈是實际路径,路径没通,清單再多也只是排队等待。

顺序上更稳的做法是:先让導航、列表頁、正文相關推荐全部指向新 URL;確認這些頁面本身可以被抓取、不是靠点击才出現的按钮連結;然後再更新 Sitemap。Sitemap 與内鏈指向同一個地址集,蜘蛛的發現效率會明顯不同。

切換顺序建议

  1. 新頁面可訪問,返回 200,内容完整;
  2. 站内内鏈全部換成新 URL,舊 URL 保留 301;
  3. 更新 Sitemap,去掉舊地址,寫入新地址;
  4. robots.txt 保持放行,不要在切換期临时封禁;
  5. 观察一段時間的抓取日誌,再决定是否回收舊 URL。

這里没有需要抢的時間窗口,匆忙提交反而容易把半成品地址送進抓取队列。

過渡期常见的几個断点

  • JS 渲染的菜單未更新:HTML 里還是舊連結,渲染後才變成新地址,蜘蛛可能先按舊路径走一遍。
  • Canonical 還指向舊地址:新頁面寫着舊 URL 的 canonical,等于告诉蜘蛛這個新地址不重要。
  • Sitemap 新舊混装:同一批頁面出現两個地址,抓取配額被分摊到無效 URL 上。
  • 舊站仍在對外提供連結:測試域名或舊环境被外鏈引用,蜘蛛可能從那里重新發現废弃地址。
  • 服務器在切換期不稳定:超时和 5xx 會让蜘蛛放慢甚至暫停這一段的抓取节奏。

怎么確認交接已经完成

看三處:抓取日誌里舊 URL 的訪問量是否持續下降、新 URL 是否稳定出現;搜尋结果中展示的地址是否逐渐统一為新地址;Sitemap 里上报的 URL 與站内實际連結是否一致。三處都收敛了,說明抓取通路已经換過来了。如果舊 URL 仍然被反复請求,通常不是蜘蛛没收到 301,而是站内還残留着指向它的連結。

改版的成败不在頁面本身,而在于蜘蛛能不能沿着新的路径,走到你希望它去的那些地址。

把交接当成一次通路迁移来做,會比把它当成一次上线發布省心得多。