改版、換目錄、調整命名規則,都會让一批 URL 換掉。對用戶来说点進去還是那個頁面,但對搜尋系統来说,這是舊地址退场、新地址登场的過程。這個過程有它自己的节奏,急不来,也不适合拍脑袋判断成败。
先把“改地址”和“改内容”拆開
實际項目里,URL 结构變化常常和模板、導航、内容一起改。几件事同时發生,出問题时很难归因:到底是重定向没做對,還是頁面本身變了,還是内鏈没跟上。如果條件允许,尽量分两步走,先動 URL,内容结构保持稳定,等迁移稳定後再改内容。實在拆不開,就至少在迁移前後各留一份對照資料,比如主要目錄的抓取量和索引量,方便回溯。
准备一張一對一映射表
迁移前把舊 URL 和新 URL 的對應關系落到表格里,別等到上线当天邊改邊想。這張表要覆盖全站,包括那些平时没人注意的老頁面、活動頁、带參數的地址。几個判断点:
- 優先一對一。多條舊地址指向同一個新地址,要么本来确實是重复内容,要么就是映射做粗了。
- 參數、大小寫、结尾斜杠按站点現有規范统一,別在新地址上又引入一批新變体。
- 没有對應新頁面的舊 URL,提前决定是 301 到相近頁面、用 410 明确下线,還是保留原状。
映射表做完後,用脚本批量對一遍狀態碼和跳轉目标,比上线後靠人工点要可靠得多。
301 的几種常见寫法問题
重定向是迁移的基础,但寫法上容易出岔子:
- 重定向鏈:舊地址跳到中間地址,再跳到最终地址。多一跳就多一次损耗,能直接指到终点就別绕。
- 全部 301 到首頁:用戶和蜘蛛都拿不到對應内容,舊頁面积累的信号也没有合理去處,這是最省事也最糟的做法。
- 用 302 長期顶着:临时跳轉传递的信号和永久跳轉不一样,确定不再回头的地址就该用 301。
- 只對部分訪問者做跳轉:按 UA 或来源区分處理,容易造成同一地址表現不一致。
内鏈和 sitemap 要跟着換,不能只靠重定向
重定向是兜底手段,不是長期方案。站内導航、面包屑、文章正文里的連結、聚合頁里的入口,都應该直接指向新地址。sitemap 也要重新生成,把舊地址清掉。如果内鏈還停留在舊地址上,等于每天主動把蜘蛛往重定向鏈上送,既浪費抓取,也拖慢新地址被重新認识的速度。
索引更新有自己的节奏
舊 URL 從索引中消失、新 URL 出現在索引里,這两件事通常不是同步完成的,也不受你直接控制。有的目錄几天就完成交接,有的目錄可能几周還留着舊地址的痕迹。這段時間里,索引數字上上下下是正常現象。
不要拿某一天的索引數量判断迁移成功或失敗,那更像是在看噪音,而不是看趋势。
想观察迁移進展,可以看几類相對稳定的信号:服務器日誌里新舊地址的抓取比例變化,sitemap 中已發現和已抓取數量的走向,以及重点目錄的收錄覆盖情况。這些指标都不精确,但放在一起看趋势,比單一數字有用。
迁移期間尽量少做別的大動作
改版本身就够折腾了。如果這期間還同步換模板、改導航结构、批量調整标题,一旦索引出現波動,你很难判断是哪一項引起的。把非必要的改動往後放,让迁移這件事自己走完一段路,再决定下一步。
最後提醒一点:迁移是一個過程,不是一個動作。把映射做扎實,把重定向寫干净,把内鏈和 sitemap 更新到位,剩下的交给時間,比反复折腾要有效得多。