改版之後,蜘蛛看到的是两套路径
站点改版、換域名、調整目錄结构时,最容易出現的状况不是新頁面打不開,而是新舊 URL 同时存在:老連結還能訪問,新連結也生成了,内鏈却一半指向老地址、一半指向新地址。對搜尋引擎蜘蛛来说,這就是两條並行的路径,抓取和信号传递都會被分散。處理目标很明确:让新 URL 成為主路径,把老 URL 收敛過去。
先列清單,再動跳轉
改版前應先整理三張表:
- 老 URL 清單:哪些還在被訪問、還在被連結、還在搜尋结果里出現;
- 新 URL 清單:结构、命名規則、與老地址是否一一對應;
- 無法對應的老 URL:合並到哪個頁面,還是彻底下线並返回 410。
不做這一步,跳轉規則就只能靠猜,最後往往出現大量 301 全部指向首頁的情况,蜘蛛拿到的信号是“這個頁面不重要”,後續重新抓取的意愿也會下降。
跳轉尽量一步到位
老 URL 到新 URL 最好是單跳 301,不要 A→B→C 這样接力。跳轉鏈越長,蜘蛛多花的時間越多,中途出错或超时的概率也越高。以下几類要特別检查:
- 老域名跳新域名,新域名内部又跳一次目錄;
- http 跳 https、带 www 跳不带 www 同时存在,形成两段跳轉;
- 老頁面先跳到一個中間頁,中間頁再跳最终頁。
把這些理顺成一步跳轉,蜘蛛抓取时拿到的地址會更干净,抓取预算也不會浪費在中間环节。
内鏈结构要跟着換,不能只改跳轉
蜘蛛發現新 URL 的主要途径仍然是站内連結。改版後如果導航、面包屑、列表頁、相關推荐依舊指向老地址,蜘蛛每次爬行都要先吃一次 301 才能到新頁面,長期下来效率會被拖低。建议按這個顺序更新:
- 全站導航與頁脚;
- 栏目列表頁與分頁連結;
- 正文内的相關推荐、上一篇 / 下一篇;
- 文章正文里的站内引用連結。
站内連結直接寫新地址,比让蜘蛛靠跳轉绕過去要稳妥得多。
Sitemap 與提交:帮助發現,不等于收錄
新 URL 上线後,Sitemap 應尽快換成新版,去掉已下线的老地址,避免两套清單同时提交。Sitemap 的作用是让蜘蛛知道有哪些 URL 值得来看,但能否被收錄、什么时候收錄,還取决于頁面质量、重复程度和服務器表現。不要因為提交了 Sitemap 就期待立刻有變化。
改版期間,Sitemap 是“告知”,301 是“指向”,内鏈是“路标”,三者要一致,否則蜘蛛收到的是互相矛盾的信号。
服務器要顶得住改版後的抓取波動
改版後蜘蛛往往會提高回訪频率,尤其是新目錄、新栏目刚上线时。如果此时服務器响應變慢、频繁返回 5xx 或超时,抓取节奏會被打乱,恢复起来需要時間。上线尽量避開流量高峰,並提前確認:
- 跳轉規則在服務器层生效,而不是依赖前端脚本;
- 错誤日誌里 404、500 是否集中在某一類 URL;
- 带宽與並發是否能承受短時間内的抓取量上升。
上线之後怎么观察
改版不是發布完就結束。接下来几周可以關注:服務器日誌里蜘蛛訪問老 URL 的比例是否下降、新 URL 的比例是否上升;抓取統計里新目錄是否開始出現;搜尋结果中老 URL 是否逐步被新 URL 替換。如果老 URL 長期仍被大量抓取,說明内鏈或跳轉還有遗漏,需要回头补。
如果問题集中爆發,例如新 URL 大量返回错誤、跳轉規則配置有誤,先修服務器與跳轉,再谈重新提交,不要在错誤狀態下反复推送新地址。