網站改版、栏目合並、路径調整,這些動作本身不一定错,错在改完之後把老地址直接丢掉。用戶從搜尋结果、收藏夹、外鏈点進来,看到的是 404;蜘蛛按老 URL 来抓,也拿不到内容。迁移前把地址映射和跳轉安排做扎實,比改完再补要省事得多。
先盘清楚哪些地址會變
不要只盯着首頁和几個栏目頁。把目前有流量的、被外鏈引用的、在站点地图里的、以及近期被蜘蛛抓過的地址都列出来。可以從訪問日誌、搜尋资源平台的資料、站点地图和站内連結里交叉核對。分類整理:
- 栏目頁:栏目改名、拆分、合並後路径是否變化。
- 内容頁:文章 ID、日期目錄、別名規則有没有調整。
- 标簽頁和聚合頁:這類頁面數量多,改版时容易被忽略。
- 静態资源:图片、附件如果換了域名或目錄,也要记錄。
這一步的目标不是追求完整到每一條,而是把主要入口和主要流量頁面先覆盖住。剩下的小批量地址可以在映射表里留扩展位。
建立舊地址到新地址的映射表
映射表至少要有三列:舊地址、新地址、跳轉類型。舊地址寫完整 URL,新地址寫最终要展示的頁面地址。不要寫中間跳轉地址,也不要把多個舊地址全都塞到一個首頁。最好用表格或 CSV 维護,改版前给技術、編輯、运营各一份,避免口头传達。
映射表里容易漏的内容
- 带參數的地址:同一篇文章因為来源不同产生多個參數版本,要决定保留哪個、合並到哪個。
- 大小寫和结尾斜杠:如果服務器不区分,最好在映射阶段统一成一種寫法。
- 已刪除頁面:确實没有對應内容的,不能硬跳首頁,應该给一個說明頁或相關推荐頁。
- 分頁地址:列表分頁在改版後如果结构變了,舊的分頁地址要指向新的列表或對應頁。
跳轉方式怎么選
永久迁移用 301,临时調整用 302。如果只是短期測試或 A/B 展示,別用 301,因為浏览器和蜘蛛會把它当成長期信号。跳轉鏈不要超過一跳,舊地址直接到新地址,中間再经過一次跳轉會浪費抓取和加载時間。
具体操作上,能服務器层配置就服務器层配置,其次才是頁面层跳轉。跳轉規則要寫清楚匹配條件,避免把不该跳的地址也卷進去。改完後用工具抽查一批舊地址,確認返回的是目标狀態碼和最终地址,而不是 404 或 200 空頁面。
同步更新站内入口和站点地图
跳轉只是兜底,站内連結才是主要路径。改版後要检查導航、面包屑、相關推荐、文章正文里的内鏈,把指向舊地址的連結換成新地址。站点地图重新生成,提交更新後的版本。robots.txt 里如果之前有屏蔽舊目錄的規則,迁移後要確認不會誤伤新目錄。
canonical 标簽也要同步改。如果舊頁面做了 301,新頁面的 canonical 應指向自己,不要還留着舊地址。标簽頁和聚合頁如果合並了,原頁面的 canonical 要指向合並後的主頁面。
改版後观察蜘蛛来訪
迁移完成後,翻一段時間的服務器訪問日誌,看蜘蛛對舊地址和新地址的請求情况。重点關注舊地址是否還在被大量請求、返回狀態是否正常、新地址有没有開始被抓。如果舊地址請求量一直很高但新地址很少,說明跳轉或内鏈更新可能没做到位。
- 看狀態碼分布:301 是否按预期返回,404 是否集中出現在某些目錄。
- 看抓取频次:新地址的抓取量是否逐步上来。
- 看流量入口:搜尋進来的落地頁是否從舊地址切到新地址。
给舊頁面一個明确归宿
不是所有舊頁面都需要跳轉。内容确實下线、且没有合适替代頁的,可以保留一個說明頁,告诉用戶内容已調整,並给出相關栏目入口。不要让這類頁面直接返回 404,也不要用 200 狀態展示“内容不存在”,那样容易被当成低质量頁面。
改版迁移的核心不是把地址換掉,而是让用戶和蜘蛛都能顺着舊地址找到新位置。映射表、跳轉、内鏈、站点地图、日誌观察,這几件事按顺序做,比事後到處补洞轻松得多。