改版、換域名、調整目錄结构,這類操作在規划阶段常被当成设計或開發任務,真正容易出問题的部分却在迁移细节上。頁面能不能打開是一回事,搜尋引擎和用戶能不能顺着原来的路径找到新地址,是另一回事。
改版前先盘清家底
動手之前,至少要有一份舊站的完整视图。缺了這一步,後面做映射时只能靠记忆和猜测。
- URL 清單:從服務器日誌、sitemap、站内連結中匯總全站可訪問地址,去重後統計總量。
- 流量分布:哪些頁面带来了大部分自然搜尋訪問,哪些几乎没人看,重定向的優先級並不相同。
- 外部連結:被外部引用的頁面尽量保持地址不變,或者做長期有效的跳轉。
- 索引基线:记錄各目錄大致的收錄量級,作為上线後的對照參照。
- 技術配置:robots.txt、sitemap、结构化資料、規范連結、CDN 與缓存規則,逐項列出来。
URL 映射表是迁移的核心
新站上线之後,舊地址必须能找到新地址。映射表不是给開發看的草稿,而是要在上线前完成评审的正式清單。
- 按模块逐個對應,能一對一就一對一,能保持不變的尽量不變。
- 确實合並或刪除的頁面,跳轉到最接近的上級栏目或替代頁,不要全部丢到首頁。
- 跳轉使用 301,避免多次跳轉串联,一條鏈路上不要超過一次。
- 跳轉規則寫成可维護的配置文件或資料表,別散落在各處代碼里。
- 上线後用脚本抽检,随机抽查几百條舊 URL,確認返回狀態和最终落地頁都正确。
上线顺序同样關键
不少人习惯一上线就同时替換 robots.txt、sitemap 和全站連結,结果一旦出問题,很难判断是哪一步引起的。
- 先在測試环境驗證,確認新站可正常抓取,没有被誤屏蔽的目錄。
- 上线时保持舊站跳轉可用,至少保留一個完整的观察周期。
- sitemap 更新為新地址,提交後观察抓取情况,再逐步清理舊记錄。
- robots.txt 的改動放在最後,確認無誤後再放開抓取限制。
上线後要盯的几组資料
- 服務器日誌中新舊地址的訪問比例,以及 301 命中量是否在缓慢下降。
- 抓取错誤和 404 的數量變化,尤其注意原栏目下的路径。
- 核心頁面的索引與展示情况,與改版前的基线做對比。
- 頁面加载時間、TTFB 等基础指标,改版容易顺带引入性能回退。
观察建议以周為單位,短期波動属于正常現象,重点看趋势是否稳定,而不是盯着某一天的數字下结论。
常被忽略的几個细节
改版不只是換個外观,地址、連結、跳轉、索引這些看不见的部分,往往比视觉變化影响更持久。
- 站内鏈和導航仍指向舊地址,靠跳轉兜底,白白浪費一跳。
- 绝對地址里寫死了舊域名,出現在图片、CSS、JS 或接口調用中。
- sitemap 里還混着舊域名,或者包含大量重定向地址。
- 移動端與桌面端使用了不同的跳轉規則,同一頁面出現两條鏈路。
- 备份文件被放進站点根目錄,结果被外部訪問到。
准备一個能落地的回滚方案
再充分的准备也可能遇到意外。回滚方案要寫清楚触發條件、执行人、操作步骤和時間窗口,並尽量在上线前實际演练一次。保留舊站的可訪問版本一段時間,是比較稳妥的做法。
改版本身没有错,問题在于把迁移当成收尾工作。提前把清單列出来,按步骤执行並记錄结果,整個過程會可控得多,出現異常时也能更快定位原因。