交接没做好,蜘蛛會卡在舊地址上
站点改版时最容易出問题的,往往不是新頁面上线,而是蜘蛛還在按老地图走。舊 URL 仍然返回内容、内鏈還指着老地址、Sitemap 里依舊是舊清單,蜘蛛自然没有理由去抓新地址。等到舊地址某天一起下线,抓取量出現断层,再恢复就要花不少時間。
把改版当成一次“抓取交接”来安排,思路會清楚很多:让新地址尽早可發現,让舊地址平稳登出,中間別出現断档。
新地址要先能被走到
新 URL 上线不代表蜘蛛知道它存在,至少要让它在三個地方出現:
- 内鏈:導航、面包屑、列表頁、相關阅讀,這些是蜘蛛日常走的路线,改版後要第一時間指向新地址。
- Sitemap:更新為新地址,並保留准确的 lastmod,別让新舊地址長期混在同一份清單里。
- 可点击的普通連結:避免只用 JS 事件或按钮跳轉,蜘蛛可能拿不到目标地址。
判断标准很简單:在浏览器里禁用 JS,還能不能從首頁一路点到新頁面。能,基本就没問题。
舊地址要留一條明确的路
舊 URL 有两種常见處理方式,效果差別很大:
- 301 永久跳轉:一對一指到最相關的新頁面,蜘蛛顺着跳轉就能把新地址记下来。
- 直接 404 或 410:适合确實没有對應内容的頁面,但如果大量有内容的頁面同时消失,抓取會明顯收缩。
跳轉鏈不要拉長,舊地址一跳到位即可。改版期間常见的错誤是舊地址先跳到中間頁,中間頁再跳一次,鏈條一長,蜘蛛走到一半放弃的情况就會變多。
舊地址保留多久
没有统一答案,但可以從日誌判断:当舊地址的抓取請求明顯减少,新地址開始稳定出現在抓取日誌里,再考虑逐步清理跳轉。改版当天就把舊地址全部 404,通常是最差的时机。
分批上线比一次切干净更安全
如果站点規模不小,按目錄分批切換會更可控。一次換一個栏目,观察该栏目的新 URL 是否開始被抓、舊 URL 是否還有大量請求。好處是出問题时影响范围有限,回滚也容易。
過程中盯几個信号:
- 新 URL 在日誌里的出現频次是否在上升;
- 舊 URL 的抓取是否在缓慢下降,而不是突然归零;
- 跳轉是否稳定返回 301,而不是夹着 302、meta refresh 或 JS 跳轉;
- 服務器是否出現 5xx、连接中断或超时。
服務器這關別掉鏈子
改版往往伴随模板調整、缓存重建、CDN 規則變更,這段時間服務器更容易抖。蜘蛛對失敗很敏感,一次超时或 5xx 就够让它下次放慢脚步。改版窗口尽量避開业務高峰,並提前確認新模板的响應時間没有明顯變長。
另外留意 CDN 與 robots.txt:新目錄如果被規則誤拦,或者 CDN 還在返回舊缓存頁面,蜘蛛看到的和你看到的就不是同一個站,排查起来會很費劲。
改完之後怎么確認交接完成
不必天天盯,按周對比日誌就够用:新 URL 的抓取占比是否在提高、舊 URL 是否還有非跳轉的直接請求、Sitemap 里的地址與线上實际地址是否一致、内鏈中是否還残留舊地址。這四項對上了,基本說明交接完成。
改版本身不會让人掉排名,交接没做干净才會。把新地址的發現路径、舊地址的登出路径和服務器稳定性這三件事理顺,剩下的交给時間。