站点改版、換域名、調整栏目结构时,重定向是最常用的過渡手段。多數人只關心「有没有做跳轉」,却很少检查「跳了几次」。對搜尋引擎来说,一次跳轉和五次跳轉的代價並不相同,而鏈條一旦變長,URL 的發現和重新抓取都會跟着變慢。
重定向在抓取流程里意味着什么
当一個 URL 返回 3xx 狀態碼,抓取工具不會立刻把内容归到新地址,而是先跟随到下一跳,直到落在一個返回 200 的最终 URL 上。這個跟随過程本身要消耗抓取资源,也要花時間。鏈條越長,中間任何一环响應慢或被临时屏蔽,都可能让這次抓取無功而返。
更關键的是,連結信号在每一跳都會有损耗。哪怕每一跳都是 301,连續几次之後,原始頁面累积的外部連結對最终頁面的帮助也會被稀释。所以重定向不是不能做,而是不该長期存在,更不该层层叠加。
几種容易被忽略的跳轉方式
302 與 301 混用
301 表示永久迁移,302 表示临时。如果本意是永久換地址,却一直挂着 302,抓取工具會倾向于保留舊 URL,把它当作仍會恢复的地址繼續尝试。混用還可能形成「A 302 到 B,B 301 回到 A」這样的环路,让抓取直接中止。
meta refresh 與 JS 跳轉
這两類跳轉發生在頁面渲染阶段,不像 HTTP 狀態碼那样在响應头里直接可见。它們會让抓取工具先拿到一個内容空白的 HTML,再根據頁面里的指令去請求下一個地址。多一层解析就多一层不确定性,尤其当跳轉目标還依赖脚本执行时。
怎么查自己的跳轉鏈
- 查看完整响應头,观察每一跳的狀態碼和 Location,而不是只看浏览器最终停在哪個頁面。
- 從站点地图、站内連結、外部連結三個来源各抽一批 URL 分別测一遍,不要只测首頁。
- 记錄鏈條長度、每跳的响應時間,以及最终 URL 是否返回 200。
- 把终点指向 404、noindex 或另一條鏈的 URL 單獨列出来,這類問题優先級最高。
收敛的常见做法
- 一步到位:把 A 到 B 再到 C 改成 A 直接到 C,中間环节能删就删。
- 统一使用 301:確認是永久迁移後,不要長期挂着 302。
- 更新上游連結:站内導航、面包屑、正文里指向舊 URL 的連結,逐步替換成最终地址,重定向只留给站外和用戶。
- 校正站点地图與 canonical:sitemap 里只放最终 URL,canonical 也指向最终地址,避免两套信号互相打架。
- 谨慎新增跳轉:临时活動頁用完就撤,別让它變成長期存在的一层重定向。
重定向是過渡工具,不是長期方案。鏈條每多一跳,抓取工具就多一次判断成本,而這個成本最终會体現在新頁面被發現的速度上。
把注意力放回最终 URL
處理完跳轉鏈之後,真正需要运营的是最终 URL:它要有稳定的内容、清晰的站内入口、過得去的頁面质量。跳轉本身不會带来收錄,它只是把抓取請求送到正确的地方。如果终点頁面内容稀薄、入口极少,鏈條修得再干净,收錄也不會凭空變快。
一個可执行的顺序是:先確認每條跳轉鏈的终点正常,再删掉多余环节,最後回头检查這些终点 URL 有没有被站内連結充分指向。做到這一步,重定向就不太會成為收錄路上的阻碍了。