站点改版、目錄調整或栏目合並之後,常见的情况是老頁面逐渐不再被抓取,新頁面又迟迟没有出現。問题往往不在蜘蛛本身,而在入口:舊 URL 還在被訪問,但返回的内容和新的结构對不上,蜘蛛沿着老路径走一圈,找不到有效的下一步。把改版当成一次“入口迁移”来處理,比改完再补更省事。
改版後抓取断档的常见原因
- 舊 URL 直接 404,没有任何跳轉,老入口被走空;
- 跳轉统一指向首頁或栏目頁,而不是内容最接近的詳情頁;
- 新頁面有内容,但站内没有任何連結指向它;
- Sitemap 里還是舊地址,或者 lastmod 没有随改版更新;
- 導航、面包屑、分頁仍停留在舊目錄,等于同时维護两套结构。
第一步:给舊 URL 一個明确出口
跳轉目标尽量對應
能一對一跳轉的,就跳到内容最接近的新頁面;栏目合並的,跳到新栏目而不是首頁;确實没有對應内容的,用 404 或 410 明确說明,比让它長期返回一個空壳頁更干净,也不容易让後續判断被干扰。
控制跳轉层級
一次跳轉即可,尽量避免 A 到 B 再到 C 的多級跳轉。跳轉鏈會让蜘蛛多花一次請求,也容易在中間某一环断掉。改版初期可以少量使用,但要列入後續清理清單。
第二步:内鏈與導航同步更新
蜘蛛發現 URL 的主要路径仍是站内連結,頁面内容搬了、連結没搬,等于新地址没有入口。改版後需要逐項检查:
- 首頁與栏目導航是否指向新路径;
- 列表頁、相關推荐、上一篇下一篇里是否還残留舊連結;
- 面包屑层級是否與新的目錄结构一致;
- 分頁、标簽頁、专题聚合頁的連結是否跟着更換。
内鏈換得不彻底时,日誌里會同时出現新舊两套地址,抓取量看着不低,但有效抓取的比例其實在下降。
第三步:Sitemap、canonical 與跳轉保持一致
- Sitemap 只放最终地址,不要新舊混放;
- canonical 指向的頁面要和跳轉目标一致,避免一個跳舊、一個指新;
- 同一個地址在 Sitemap、内鏈、跳轉里出現不同目标时,蜘蛛只能反复试探。
日誌上的核對顺序
- 先看舊地址的响應碼與跳轉目标是否稳定,有没有时好时坏;
- 再看新地址是否被訪問、訪問来自哪個入口,是内鏈還是 Sitemap 抓取;
- 观察新地址的首抓時間與後續回訪間隔,判断是否進入正常节奏;
- 检查 404 是否集中在一批路径上,那通常意味着漏掉了某個栏目;
- 最後對比抓取總量與改版前的水平,確認是否已经回到常態区間。
几個容易忽略的细节
- 图片、附件、静態资源換目錄後同样會产生大量失效請求;
- 站内搜尋頁與标簽聚合頁,可能把已经废弃的舊 URL 再次带出来;
- 外鏈和第三方頁面上的舊地址短期改不完,跳轉最好保留足够長時間;
- 使用 CDN 时,源站跳轉規則改了,邊缘节点可能還在用舊配置。
小结
改版带来的抓取波動,多數可以通過入口一致性来缓解:舊地址有明确出口、新地址有稳定入口、各入口指向同一個最终地址。把這些做完,再去看日誌里的响應碼、抓取量與首抓時間,判断會更接近事實,而不是停留在猜测。