搜尋抓取

站点改版後的 URL 迁移:蜘蛛怎样重新發現新路径

站点改版不只是換頁面,還會改變蜘蛛熟悉的抓取路径。本文從舊 URL 處理、新内鏈结构、Sitemap 更新和服務器稳定性几個角度,說明如何让搜尋蜘蛛更顺畅地發現新地址,减少抓取浪費。

搜尋抓取

站点改版後的 URL 迁移:蜘蛛怎样重新發現新路径

改版為什么會让抓取路径断掉

站点改版时,URL 结构、目錄层級、内鏈入口都可能變化。蜘蛛之前记住的路径可能失效,如果新路径没有被明确指向,它需要重新摸索。摸索過程會消耗抓取額度,也可能让部分頁面迟迟不被發現。要做的不是催蜘蛛,而是把新路径铺清楚。

舊 URL 至少给出明确去向

舊 URL 不要直接返回 404,除非确實没有對應内容。有對應新頁时,用 301 指向最终地址,不要经過多次跳轉。

  • 301 指向最终 URL,不要鏈式跳轉
  • 不要用 JavaScript 跳轉代替服務端 301
  • 批量迁移时,按目錄或規則做映射,减少遗漏
  • 舊 URL 有流量但無替代内容时,保留一個說明頁或返回 410

410 表示内容永久移除,比 404 更明确。但不要用它来掩盖迁移错誤。蜘蛛遇到大量 404 或 410 會降低對站点路径的信任,再發現新 URL 的速度也可能變慢。

新内鏈结构要能走通

蜘蛛發現 URL 主要靠連結。改版後,新頁面如果只存在于後台或資料接口里,没有可抓取的 HTML 連結,蜘蛛就很难自己找到。可以從首頁、栏目頁、相關推荐、面包屑几個位置,给新 URL 稳定的入口。

  • 首頁或频道頁保留核心栏目入口
  • 列表頁和詳情頁之間保持可点击的 HTML 連結
  • 面包屑帮助蜘蛛理解层級
  • 避免全站連結都依赖 JS 事件

連結深度不要太深。從首頁到詳情頁,尽量控制在三到四次点击以内。层級越浅,蜘蛛越容易在有限時間内覆盖更多 URL。

Sitemap 要跟着改版更新

改版後,Sitemap 里的 URL 要同步替換。如果舊 Sitemap 還留着大量舊地址,蜘蛛會反复訪問無效路径,浪費抓取资源。新 Sitemap 可以按栏目或頁面類型分片,每個文件控制在合理大小,並用索引文件串联。

  • 只放目前有效、希望被抓取的 URL
  • 更新 lastmod 时要真實,不要全站统一填目前時間
  • 提交新 Sitemap 後,观察蜘蛛訪問日誌
  • 舊 Sitemap 確認無價值後再移除,不要突然全部刪除

Sitemap 是辅助發現,不是收錄保證。它最大的價值是告诉蜘蛛這些地址存在,但頁面能否被稳定抓取,還取决于服務器响應和内鏈權重。

服務器稳定比临时催抓更重要

改版期間,站点可能會有临时维護、缓存刷新或压力波動。如果蜘蛛来的时候频繁遇到 5xx、超时或连接重置,它會把抓取节奏放慢,甚至暂时降低訪問频率。與其反复提交,不如先把服務器和缓存配置稳住。

  • 保持正常 200 响應,不要用 200 返回错誤頁
  • 避免维護頁對蜘蛛也返回 200
  • CDN 回源超时要排查,不要只在前端看
  • 日誌里關注蜘蛛的响應碼和抓取間隔
蜘蛛的耐心来自站点稳定,而不是来自提交次數。

迁移後的抓取路径检查

  1. 抽几條舊 URL,確認 301 是否直達新地址
  2. 從首頁出發,检查核心新頁面能否在几次点击内到達
  3. 查看 Sitemap 是否只包含新 URL
  4. 在日誌里观察蜘蛛對新舊路径的訪問比例
  5. 對仍然只被舊入口指向的頁面,补充内鏈

改版後的一段時間里,舊路径訪問逐渐下降、新路径訪問上升,是正常過程。但如果新 URL 長期没有蜘蛛訪問,就要回到連結、Sitemap 和服務器响應上找原因。抓取路径重建不是一次動作,而是让站点重新變得可走、可讀、可稳定响應。