改版不是把頁面重新画一遍,而是把一個已经存在的 URL 集合,搬到一個新结构里。對用戶来说,換個導航或许感觉不到差別;對搜尋蜘蛛来说,舊的連結入口如果全部失效,之前积累的抓取路径就等于断了一次。所以在動模板之前,先准备一份 URL 映射表,是成本最低的一步。
先清点:舊 URL 從哪里来
映射表的第一列是舊地址,這份清單不要靠记忆或人工点击来收集,尽量用資料说话:
- 服務器訪問日誌:按 200 狀態碼篩選,能看出蜘蛛真正爬過哪些地址,包括很多後台看不到的參數頁。
- XML 站点地图與栏目索引頁:反映你希望被抓取的部分,和日誌的结果往往有落差。
- 後台的落地頁报告:有流量、有点击的地址優先處理,這是最不该丢的一批。
清点时顺手标注類型:栏目頁、内容詳情頁、列表分頁、标簽聚合頁、站内搜尋结果頁、带參數的篩選頁。類型不同,處置方式也完全不同。
再决策:每個舊地址只有四種归宿
- 原样保留:URL 不變,只是頁面模板調整。這類不需要跳轉,直接不動最稳。
- 換地址:结构變了但内容還在,用 301 一對一指向新地址。
- 合並:多個舊地址合成一個新頁面,同样用 301,但要保證目标頁确實覆盖了原内容。
- 刪除:内容不再提供,返回 404 或 410;確認没有保留價值再關閉,不要用首頁跳轉糊弄所有刪除。
把决策寫進表格时,最好同时记下负责人和確認時間。改版期間最常见的麻烦不是技術問题,而是没人拍板某個栏目到底留不留。
跳轉規則:優先一對一,別叠鏈條
寫跳轉有两個常见毛病。一是 A→B→C 的鏈條,浏览器和蜘蛛都要多跳几次,日誌里很难讀;二是把整站舊目錄通配到首頁,短時間内看似没有 404,實际是把大量無關信号倒進一個頁面。能用精确規則就別用通配;通配規則上线後要抽样測試,至少覆盖分頁和參數頁。
判断标准很简單:從舊地址出發,跳到目标頁最好只用一跳。超過一跳,就回去改映射表。
上线时同步做的几件事
- 頁面内鏈、導航、面包屑里的舊連結全部替換為新地址,別让網站自己把自己指向跳轉。
- XML 站点地图用新地址重新生成,舊地图可保留一段時間,但内容指向新文件。
- 检查 canonical、分享連結、RSS 輸出等位置是否還寫着舊域名或舊路径。
- 新结构上线初期保留跳轉,观察日誌後再逐步清理規則。
上线後的观察:用日誌驗收
改版後一到两周,重点看日誌里的 404 和 301 命中量。持續出現的 404 說明映射表有遗漏,尤其是那些從来没有内鏈、只被外部引用過的地址;301 命中長期不降,則可能是内鏈或站点地图還残留舊地址。把這些记錄回填到映射表,下一次改版就有可复用的底稿。
映射表本身不产生流量,但它决定了改版之後網站還有多少入口是通着的。花半天整理,比上线後花两周补漏要轻松得多。