改版最容易留下的尾巴
網站改版、栏目合並、CMS 更換、目錄结构調整,這些動作做完之後,最容易出問题的地方就是 URL。内容都搬到新地址了,舊地址却要么返回 404,要么一律跳到首頁,要么一层套一层地轉。對用戶来说是多点一次,對搜尋引擎来说是信号断在了半路。改版前把地址的進出關系理清楚,比事後到處补跳轉省事得多。
一、先做一份新舊地址對照表
不要靠记忆,也不要等上线後再回头找。把所有需要保留的舊地址列出来,逐條對應新地址,形成一張表,字段至少包括舊 URL、新 URL、處理方式、優先級、负责人、完成狀態。
- 資料来源:站点地图、服務器訪問日誌、搜尋後台的落地頁資料、站長工具里的已收錄地址。
- 覆盖范围:栏目頁、文章頁、标簽頁、分頁、附件與下载地址。
- 先合並變体:把带參數、带大小寫差异、带末尾斜杠的舊地址归到主地址,再统一映射,避免同一内容映射出好几條規則。
優先處理有外鏈、有流量、有歷史点击的地址,這部分不能丢。本来就没有入口、長期没有訪問的舊地址,可以直接返回 410 让它退场,不必硬塞到首頁去凑數。
二、跳轉的落地頁怎么選
301 的目标應该是内容最接近的新頁面,而不是首頁。全部跳首頁等于告诉對方這些内容都不存在了,用戶落地後也會一脸茫然。
- 文章迁移到新路径:舊文一對一指向新文。
- 栏目合並:舊栏目指向新的栏目列表頁,而不是其中某一篇文章。
- 内容彻底刪除且没有替代:返回 410,或保留一個說明頁,不要跳到無關板块。
- 改版期間临时下线:使用 503 並說明恢复時間,不要用 302 長期顶着。
同时避免鏈式跳轉。A 跳到 B、B 又跳到 C 這種两层以上的路径,既浪費抓取,也让用戶多等一次。整理映射表时顺手把中間层拉直,让每條規則一次到位。
三、站内連結和静態资源要跟着改
如果只做了跳轉,站内的導航和正文還在指向舊地址,那用戶和蜘蛛每次点内鏈都要多走一跳。需要同步核對的地方包括:
- 導航栏、面包屑、頁脚、侧邊推荐位里的連結全部換成新地址。
- 正文内鏈、引用連結逐條检查,尤其是几年前的舊文。
- 图片、CSS、JS、字体等静態资源路径同步更新,避免加载失敗或混合内容。
- 表單提交地址、RSS 地址、分享連結、QR Code指向的地址一並核對。
這一步容易被忽略,因為跳轉让頁面看起来仍然能打開,問题被掩盖了,直到日誌里跳轉請求越堆越多才被發現。
四、给抓取侧留好线索
改版上线後,及时更新 sitemap,只放新地址,不要新舊混放。检查 canonical 是否指向新地址,robots.txt 里有没有誤挡新目錄。舊目錄如果還留在服務器上,注意別让新舊两套内容同时可訪問,否則會形成重复。
判断改版是否收尾,不看到訪量,而是看日誌里舊地址的請求是否在减少、新地址的抓取是否在增加、重点舊地址是否稳定返回 301。
五、上线後需要盯的几項
- 抓取日誌:舊地址的狀態碼分布,404 和 302 是否異常增多。
- 跳轉抽查:抽一批重点舊地址,確認返回碼、目标頁是否正确、是否只跳一次。
- 错誤监控:新增 404 與 5xx 的曲线,出現尖峰就回查對照表。
- 入口检查:外鏈較多的頁面單獨盯一段時間,必要时主動联系對方更新連結。
改版前留一份舊结构备份和映射表,出問题时有據可查。跳轉規則也不要長期堆在配置里当垃圾场,過一段時間清理掉已经没人訪問的條目,保持後續维護看得懂、改得動。