網站收錄

重定向與收錄:跳轉鏈、狀態碼和目标頁该怎么對齐

改版、換域名或合並栏目时,跳轉几乎是必做的動作,但跳轉设好不等于頁面就能被收錄。本文從狀態碼、跳轉层數、目标頁 canonical 與可抓取性几個方面,梳理重定向與收錄之間的關系,並给出一套可以照着做的自查顺序。

網站收錄

重定向與收錄:跳轉鏈、狀態碼和目标頁该怎么對齐

頁面換地址、站点改版、栏目合並时,跳轉几乎是绕不開的動作。但跳轉本身不是收錄的保證,它只是把蜘蛛從一個地址引到另一個地址。跳轉怎么設定、鏈有多長、最终落点是否能被抓取,都會影响這個地址在索引里的表現。

重定向解决的是什么問题

当一個 URL 不再作為主地址使用,就需要告诉蜘蛛和浏览器“去新地址”。這個信号有几层:HTTP 狀態碼、响應头里的 Location、以及最终返回的那份内容。几层都對上,跳轉才算清晰。

如果只做了前端跳轉,服務器對舊地址仍然返回 200 和一份正常頁面,蜘蛛看到的就是一個普通網頁,不會把它理解成搬家。這種情况下新舊两個地址可能各自被處理,重复内容的風險也随之出現。

几種跳轉方式在收錄里的差別

  • 301:最常见的永久迁移信号,指向關系稳定,後續處理一般會向目标地址收敛。
  • 302 / 307:临时跳轉,蜘蛛通常會繼續保留舊地址的观察,不會马上替換索引里的地址。長期用临时跳轉做永久迁移,索引更新容易被拖慢。
  • meta refresh 與 JS 跳轉:需要渲染才能识別,抓取和渲染资源不足时可能识別不到,稳定性不如服務端跳轉。
  • 只改前端路由:對蜘蛛来说地址没變,等于没做迁移。

跳轉鏈為什么越短越好

一次跳轉是 A 到 B,多次跳轉就是 A 到 B 再到 C 再到 D。每一跳都要消耗一次抓取,鏈越長,蜘蛛在舊地址上花的時間越多,最终落点被發現的路径也越長。實践中尽量让舊地址直接指向最终地址,避免“舊域名到中間頁再到新域名”這種接力。

另一種常见情况是跳轉成环:A 跳 B,B 又跳回 A。蜘蛛跟進几轮後會停止,這個地址的收錄狀態基本就停住了。改版之後抽几條舊地址手動点一遍,很容易發現這類問题。

跳轉方向和 canonical 要保持一致

如果 A 跳轉到 B,而 B 頁面的 canonical 又指向 A,两個信号互相矛盾。蜘蛛需要額外判断哪個是主地址,收錄结果就變得不稳定。既然已经用跳轉做了迁移,目标頁的 canonical 就應该指向它自己。

同理,站点地图、站内連結、外部還在引用的舊連結,也尽量统一到最终地址,减少中間环节。信号一致,處理才干脆。

出問题时的自查顺序

  1. 用抓取工具或命令行看舊地址返回的狀態碼,確認是 301、302,還是意外返回了 200。
  2. 看 Location 指向的地址是不是最终地址,中間有没有多余的跳轉层。
  3. 检查最终地址能否被抓取:robots.txt 有没有拦住、是否需要登入、狀態碼是不是 200。
  4. 检查最终地址的 canonical 指向哪里,和跳轉方向是否一致。
  5. 從日誌里看蜘蛛訪問舊地址的频率。如果它長期只訪問舊地址、很少到新地址,說明跳轉信号可能没被识別。

几個容易忽略的点

  • 不要把舊地址跳到一個 noindex 頁面上,等于把流量送進一個不會被索引的落点。
  • 大量舊地址一次性跳轉後,日誌上會看到集中的抓取,之後慢慢回落,属于正常現象。
  • 服務端跳轉改好了,但站内連結還指向舊地址,蜘蛛會繼續從内鏈發現舊地址,迁移並不彻底。
  • 跳轉的目标地址如果是 404,這次迁移等于把頁面丢掉了。
跳轉只是把地址指向新位置,能不能進索引,仍然取决于落点頁面的内容质量、可抓取性和重复情况。

把跳轉当成一次完整的地址迁移来看:狀態碼、目标地址、目标頁自身的收錄條件,三件事都要對。配置完成後隔一段時間看日誌和索引狀態,比一次性设好就放在那里不管要可靠得多。