站点运营

站点运营:重定向鏈自查,別让一次跳轉變成五跳

站点改版、換域名或切換到 HTTPS 之後,舊地址常被一层层規則接力轉發,訪客和蜘蛛要跳好几次才能到终点。本文整理重定向鏈的常见成因、用命令行和浏览器開發者工具排查鏈路的方法,以及合並規則、让站内連結直指终点的日常维護习惯。

站点运营

站点运营:重定向鏈自查,別让一次跳轉變成五跳

站点做一次改版、換一次域名,或者把 HTTP 切到 HTTPS,舊地址往往不會一次性換成新地址,而是靠一條條重定向規則接力轉發。規則是分批加上去的,時間一長就容易出現 A 跳 B、B 跳 C、C 再跳 D 的情况。對訪客来说只是多等了一点,對搜尋引擎来说,每一跳都要重新解析一次,鏈路越長,最终地址被確認得越晚,中間任何一环出错,整條路径就断了。

重定向鏈通常是這样長出来的

  • 域名或协议變更:老域名 301 到新域名,新域名下面又有一條 HTTP 跳 HTTPS 的規則,两段叠在一起就是两跳。
  • www 與非 www 各留一條規則:两條規則互相指向,形成循环,或者绕一圈才回到起点。
  • 目錄结构調整:文章從 /a/123.html 搬到 /news/123.html,舊規則只改了一半,剩下的還指向更早的地址。
  • 尾斜杠與大小寫:先统一小寫,再统一加斜杠,本来是一件事却分成两跳。
  • CDN、负载均衡、反向代理各寫一條:每一层都以為自己只加了一跳,加起来就是四五跳。
  • 用脚本跳轉兜底:JS 跳轉和 meta refresh 混着用,蜘蛛拿到的往往不是最终頁面。

怎么把鏈路看清楚

  1. 用命令行看:curl 加上跟随跳轉的參數,打印狀態碼、跳轉次數和最终地址,一條命令就能看到整條鏈。
  2. 用浏览器看:打開開發者工具的 Network 面板,勾選保留日誌,輸入舊地址,逐個查看 3xx 請求返回的 Location 响應头。
  3. 抽查入口:首頁、導航、Sitemap、外鏈常用的地址各挑几個,看它們是不是直接落到终点。
  4. 看日誌:統計一段時間内 3xx 狀態碼的訪問量和来源,跳轉次數異常高的路径優先處理。

判断标准

  • 正常情况一到两跳就結束,超過三跳就值得整理。
  • Location 里尽量寫绝對地址,避免相對地址在不同层級被解析成意外目标。
  • 長期有效的跳轉用 301,临时活動頁用 302,不要把 302 当永久規則一直挂着。
  • 鏈路终点應返回 200,不能落在 404、软 404 或者又一個跳轉上。
  • 检查是否存在循环,A 到 B 再回到 A,訪客最後看到的就是报错頁。

整理顺序

先處理高频入口,再處理長尾。把重复的規則合並,同一個目标只保留最上游的一條;把站内連結、導航和 Sitemap 全部改成最终地址,减少不必要的跳轉。老地址仍然要可用,只是让跳轉更短,不要图省事直接把規則删掉。

  1. 列出跳轉次數最多的路径,逐條確認它本该落到哪里。
  2. 合並同向規則,删掉中間环节和被绕過的舊規則。
  3. 回归測試:舊地址、带斜杠和不带斜杠、大小寫變体各跑一遍。

日常维護习惯

  • 上线前把舊地址列表批量跑一遍检查,別等蜘蛛来發現。
  • 改動重定向时留一筆记錄:時間、原因、影响范围。
  • 每季度复查一次,尤其是換域名、切 CDN、調整栏目结构之後。
整理重定向的目标是让地址關系清楚、鏈路尽量短,方便訪客和蜘蛛到達同一處。具体的抓取與收錄仍由搜尋引擎决定,不必指望靠這一步拿到结果。