改版、換域名、合並栏目,這些動作做完之後,站点里往往會留下一串接力的跳轉:舊地址跳到中間地址,中間地址再跳到新地址。日常訪問不一定察觉,但對蜘蛛和用戶来说,每一次跳轉都是一次等待。
跳轉鏈是怎么攒出来的
很少有站点是刻意做成鏈條的,多數是几次改動叠加的结果:
- 換域名时,舊域名整体跳到新域名,但新域名下又有一批頁面單獨跳到了另一個路径。
- http 到 https、不带 www 到带 www 两條規則同时存在,先跳一次协议,再跳一次域名。
- 栏目合並後,A 跳到 B,後来 B 又並進 C,映射關系没有跟着重寫。
- URL 末尾斜杠、大小寫、參數顺序不同,服務器逐條做規范化跳轉,一次訪問连跳两三次。
為什么值得花時間理一遍
- 每次跳轉都多一次請求和一次等待,蜘蛛在跳轉鏈上耗掉的時間,會挤占抓取其他頁面的額度。
- 鏈條太長时,部分抓取工具只跟随有限次數,可能停在中間頁,最终地址反而没被看到。
- 用戶端多了几百毫秒的空白,移動網絡下感受更明顯。
- 統計工具如果把跳轉前的地址当成落地頁,来源和轉化資料會對不上。
自查可以怎么做
不需要全站翻一遍,先抽查入口級 URL,這類地址被訪問和被連結的次數最多,影响也最大。
- 首頁、主導航、面包屑、站点地图里列出的地址,逐個看跳轉次數。
- 用命令行工具查看响應头,並让工具跟随跳轉,观察最终落到哪個地址、中間经過几次。
- 浏览器開發者工具的 Network 面板勾選保留日誌,看一次訪問里出現了几個 301 或 302。
- 用爬虫工具跑一轮,把狀態碼為 3xx 的 URL 單獨導出来,按跳轉次數排序。
整理时注意几点
- 尽量让舊地址一次跳到最终地址,中間层能省則省。
- 永久性變更用 301,临时調整才考虑 302,不要把 302 長期挂着,否則地址归属會一直模糊。
- 改完跳轉後,把站内連結、站点地图、外部合作連結逐步替換成最终地址,鏈條會自然變短。
- 协议、域名、斜杠的規范化規則只保留一條,避免多层叠加。
两個容易踩的坑
一是只改跳轉不改内鏈,站内連結仍指向舊地址,用戶每次点導航都要多等一跳;二是上线时跳轉配對了,後面又删掉舊頁面,跳轉指向一個 404,等于用一次等待換来一個死胡同。後者在清理栏目时尤其常见,删頁面前先確認有没有別的地址指過来。
跳轉本身不是错誤,错誤是把跳轉当成终点。该留下的映射寫清楚,该清理的鏈條清掉,入口地址保持干净。
把检查放進固定動作
每次改版、換域名、合並栏目之後,列一張新舊地址映射表,上线後一周、一個月各抽查一次,重点看入口頁和自然流量靠前的頁面。跳轉鏈很少會自己消失,定期看一眼,比出問题时再回头翻记錄省事得多。