網站改版或者換域名之後,收錄上最容易出問题的地方,往往不是新頁面能不能被收,而是舊地址怎么退场。舊 URL 長期留在索引里,既會占用抓取资源,也可能让用戶從搜尋结果進到一個已经不再维護的頁面。下面按两種情况拆開讲,並给出一個可以照着走的處理顺序。
先分清是域名迁移還是站内改版
這两類問题的處理逻辑不一样,先把它們分開,後面的動作才不會互相打架。
- 域名迁移:域名變了,路径基本保留,例如從 a.com/news/1.html 到 b.com/news/1.html,通常可以做一對一映射。
- 站内改版:域名不變,但栏目结构或 URL 規則調整,一個舊地址可能有對應的新地址,也可能彻底没有對應頁面。
站長工具里提交“地址變更”一般只适用于域名迁移,站内改版用它意义不大,這点要先记住。
換域名:301 映射尽量一一對應,並長期保留
301 的作用是告诉搜尋引擎“這個地址永久搬到新地址”,它传递的是信号,而不是让舊地址立刻消失。常见做法可以按下面的顺序推進:
- 整理舊站的全量 URL 清單。来源建议取 sitemap、訪問日誌和索引报表三份資料做合並,只看 sitemap 容易漏掉歷史頁面。
- 為每條 URL 指定唯一的新地址,能一對一就不要一對多;多個舊地址跳同一個新地址时,信号會被合並,新地址的定位也容易變模糊。
- 把 301 寫在服務器层面,而不是只靠前端跳轉或 JS 跳轉,後者對搜尋蜘蛛不够友好。
- 跳轉鏈控制在一跳,避免 a → b → c 的连續跳轉。
- 舊域名的 301 建议長期保留,至少保留到舊地址在索引报表里基本清空、流量交接完成為止。
站内改版:先把“没有對應頁面”的舊 URL 挑出来
改版时最容易忽略的是那些在新站里找不到归属的地址:下线栏目、合並的标簽頁、過期活動頁。這一類不要统一跳首頁,也不要用 302 反复试探。
- 内容确實還有價值、只是換了位置:做 301 指向最相關的新頁面。
- 内容已明确下线且不再提供:用 404 或 410,让抓取结果與事實一致。
- 内容只是暂时维護:用 503 並配 Retry-After,而不是先改成一堆跳轉。
把舊 URL 全部跳首頁,看上去“没有死鏈”,實际上會让搜尋蜘蛛难以判断這批地址的真實關系,後續清理索引也可能更慢。
内鏈、sitemap 與 canonical 要同步改
跳轉只是入口层面的事,站内還要跟着改,否則搜尋蜘蛛仍會從舊連結反复進入已经废弃的地址。
- 導航、面包屑、正文里的站内連結,全部替換成新地址,不要依赖跳轉兜底。
- sitemap 更新為新 URL 清單,舊清單及时移除。
- canonical 指向新地址,並確認新地址本身可訪問、可被抓取,否則會形成指向失效目标的自我引用。
- 對外投放、合作方、社交平台里的舊連結,能改的改,不能改的让 301 兜住。
收尾阶段可以盯這几個信号
- 日誌里舊 URL 的抓取比例是否在下降,新 URL 的抓取是否在上升。
- 索引报表中舊地址的數量變化趋势,注意這是過程量,很少一次清零。
- 跳轉是否都返回 301,而不是 302、404,或者一個返回 200 的软跳轉頁。
- 站内是否還有指向舊地址的連結,在持續制造新的抓取。
這些信号主要用来观察進度,達到某種狀態並不等于一定會有确定结果,收敛速度本身也受站点規模、抓取频率和内容更新节奏影响。
几個常见的誤区
- 只做了首頁跳轉,栏目頁和詳情頁没處理,等于只搬了一半家。
- 跳轉上线几天就撤掉,舊地址重新變成死鏈。
- 舊域名直接停解析,让所有舊地址變成無法解析的請求。
- 同一批舊 URL 一部分 301、一部分 302,前後信号矛盾。
- 改版後没有更新 sitemap,搜尋蜘蛛仍按舊清單抓取。
把舊 URL 的退场当成一次完整的資料交接:清單要全、映射要准、跳轉要長期、站内要同步,剩下的交给時間,等索引慢慢收敛。