網站收錄

重定向鏈太長會让收錄绕遠路:跳轉层數和落点怎么查

頁面改版、換目錄或調整參數後留下的重定向鏈,會让搜尋蜘蛛多花好几跳才拿到内容。本文讲清重定向為什么影响收錄,以及怎么用 curl、服務器日誌和 sitemap 查跳轉层數與最终落点,並给出缩短鏈路的處理顺序。

網站收錄

重定向鏈太長會让收錄绕遠路:跳轉层數和落点怎么查

頁面做改版、換目錄、調參數时,很容易留下一條甚至几條跳轉。對用戶来说,多跳一次几乎無感;對搜尋蜘蛛来说,每一次跳轉都是一次額外的請求,鏈條越長,被中途放弃的概率越高。

重定向為什么會影响收錄

重定向本身不是错誤,它是在告诉搜尋蜘蛛“這個地址的内容搬到那邊了”。問题在于它不算一次抓取完成:蜘蛛要先請求舊地址,拿到 3xx 响應和 Location 头,再對新地址發起一次請求。如果新地址又返回 3xx,那就繼續跳。

這带来两件事。一是抓取资源被消耗在跳轉上,同样的预算能拿到的内容變少;二是鏈路越長,中間任何一环出問题(超时、返回 5xx、跳到 404),蜘蛛就停在那里,最终頁面拿不到,或者被当成不可用處理。

先把鏈路長度查清楚

不要凭印象判断,實际查一遍更省時間:

  • 用 curl -I 或浏览器的網絡面板跟随跳轉,看完整鏈路经過几個 3xx 才到 200。
  • 看站内連結和導航里是否還有指向舊地址的入口。内鏈指向舊 URL,用戶和蜘蛛每次都要多跳一次。
  • 看 sitemap 文件里列的是最终地址還是被重定向的地址。sitemap 里放舊 URL,等于主動把蜘蛛往跳轉鏈上带。
  • 翻服務器日誌,篩選 3xx 狀態的請求,看哪些地址被反复抓取却始终没有走到 200。

几種常见的跳轉問题

鏈路過長

http 跳到 https,再去掉 www,再补末尾斜杠,再換目錄,叠起来就是三到四跳。理想情况下,從任意舊地址到最终頁面,一跳就够。

循环跳轉

A 跳 B、B 又跳回 A,蜘蛛永遠到不了终点,這類地址基本不會被收錄。日誌里同一個 URL 反复出現 3xx,值得怀疑。

跳到無關頁面

把下线的詳情頁统一 301 到首頁或栏目頁,短期看像是保住了什么,長期看這些地址容易被当成软 404 處理,用戶也拿不到想要的内容。内容确實不存在,410 或 404 更直接。

長期使用 302

302 是临时跳轉,蜘蛛會保留舊地址一段時間。如果迁移是永久的,就该用 301,让抓取和信号都轉到新地址上。

處理顺序建议

  1. 确定每個頁面的最终地址,並让這個地址直接返回 200。
  2. 把站内連結、導航和 sitemap 全部改成指向最终地址,减少後續产生跳轉的机會。
  3. 舊地址保留一跳,直接指向最终地址,不要串成鏈條。
  4. 检查最终頁面的 canonical 是否自指,避免出現“跳轉過去又被指回舊地址”的矛盾。
  5. 隔一到两周再看日誌,观察 3xx 請求是否下降、最终地址被抓取的次數是否上升。
重定向的目标不是消灭所有 3xx,而是让蜘蛛用最少的請求到達真正想被收錄的那個頁面。

跳轉鏈這類問题通常没法一次清干净,老站尤其如此。先處理被抓取最频繁的那几類地址,比重寫全站規則更快看到變化。收錄是结果,鏈路是否顺畅只是前提之一,頁面本身有没有值得保留的内容,仍然是更關键的那一环。