網站改版很少只改一件事:換模板、換域名、調整栏目、重寫 URL 規則,常常在同一周内一起發生。風險也来自這里——單看每一項都有人负责,合在一起就没人確認。上线後才發現 robots.txt 挡住了新目錄、canonical 還指向測試域名、模板頁脚挂着舊連結,這類事故在站点运营里反复出現。把检查項提前寫成清單,比临场凭记忆靠谱。
第一步:把改動范围寫清楚
清單的前提是知道改了什么。切換前用一頁文档列出:
- 域名、协议、WWW 前缀是否變化;
- URL 規則是否變化,哪些栏目受影响;
- 模板层面改了哪些公共区块,比如導航、面包屑、頁脚、结构化資料;
- 内容层面是否存在批量迁移、下线或合並;
- 涉及的外部依赖:CDN、統計代碼、第三方接口、站長平台的驗證文件。
范围寫清楚之後,每一類改動對應一组检查項,责任到人,避免“以為別人會看”。
第二步:切換前的抓取與索引检查
被挡住與被排除
- robots.txt 是否放開了新模板需要的目錄與静態资源路径;
- 頁面头部是否残留測試期使用的 noindex、nofollow 标记;
- canonical 是否仍指向測試域名或舊地址;
- 响應头里是否還有用于预發布环境拦截蜘蛛的規則未清除。
地址映射
如果 URL 有變化,需要一份舊地址到新地址的映射表,並坚持一對一。舊地址直接跳到新地址,不要出現 A 跳到 B、B 再跳到 C 的鏈路。映射表里查不到對應關系的歷史連結,统一落到最相關的栏目頁或首頁,而不是全部甩给首頁。
頁面級细节
- 面包屑、導航、正文内鏈是否還指向舊地址;
- 站点地图是否按新结构重新生成,是否還包含已下线的地址;
- 404 頁面是否给出搜尋入口和主要栏目入口;
- 移動端與桌面端能否拿到同样的正文内容。
第三步:切換当天的動作顺序
- 提前把域名 TTL 調低,避免切換後解析長時間摇摆;
- 確認舊版本可随时恢复,回滚路径不依赖临时搭建;
- 選擇訪問低峰期执行,並留下明确的開始與結束時間;
- 切換後立刻抽样訪問:首頁、一級栏目頁、詳情頁、分頁第二頁、404 頁、站内搜尋结果頁;
- 用事先准备好的地址列表跑一遍狀態碼掃描,看清 200、301、404 與 5xx 的分布。
抽样检查只能證明頁面“能打開”,狀態碼掃描才能證明没有大面积指向错誤。两者都要做,顺序不要颠倒。
第四步:上线後的观察窗口
切換完成不代表結束。接下来两到四周是問题集中暴露的时期:
- 訪問日誌里 404 與 5xx 是否出現異常峰值,来源集中在哪些目錄;
- 蜘蛛對舊地址的訪問量是否逐步下降,是否還在抓取已经下线的頁面;
- 站長平台里的抓取與索引統計是否出現異常波動,用来定位問题而不是追數字;
- 站内搜尋與關键轉化路径的埋点是否正常上报。
這個窗口期内不要连續做大改動。一個問题還没定位清楚就叠加第二版模板,日誌和資料的因果關系會變得难以判断。
第五步:回滚预案要寫下来
回滚不是失敗,而是清單的一部分。提前寫清楚触發條件(例如 5xx 比例、核心頁面不可用时長、關键轉化断崖)、执行人、执行步骤和预計耗时。只保留舊程序备份、却没寫恢复步骤,等于没有预案。
可复用清單
- 改動范围文档已完成,责任人與時間点明确;
- robots.txt、頁面头部标记、响應头規則均按正式环境配置;
- canonical 與站点地图统一指向正式域名;
- 舊地址映射表完整,無鏈式跳轉,兜底地址合理;
- 模板内舊連結已清理,面包屑與導航指向正确;
- 狀態碼掃描通過,404 頁與首頁均無異常;
- 观察窗口與回滚预案已確認,並指定跟進人。