Redirect Chain
轉址鏈(Redirect Chain)是指 URL 經過多次 301/302 跳轉才到達最終目的地。了解轉址鏈如何影響 SEO、網站速度與爬蟲效率,以及如何用工具檢測並修復。
定義
Redirect Chain(轉址鏈)指一個 URL 經過多次 301 或 302 重定向才到達最終目的地(例如 A→B→C→D)。每一次跳轉都會增加 HTTP 請求往返時間,拖慢頁面載入速度,並讓搜尋引擎爬蟲浪費抓取資源(crawl budget)。Google 建議將轉址縮減到單一跳轉(A→D),以確保最佳的抓取效率與使用者體驗。轉址鏈常見於網站改版、URL 結構變更、或多次行銷活動追蹤參數疊加時產生。
為什麼重要
- 增加 TTFB(首位元組時間),每次跳轉約增加 100-500ms 延遲
- 浪費 Googlebot 的 crawl budget,減少有價值頁面被抓取的機會
- 可能導致 PageRank 傳遞損失(每次跳轉約損失 10-15%)
- 造成 Core Web Vitals 指標下降,特別是 LCP 和 FCP
- 複雜的轉址鏈增加除錯難度,難以追蹤流量來源
- 過長的轉址鏈(5+)可能被搜尋引擎放棄追蹤
- 影響行動裝置使用者體驗,特別是網路較慢的環境
怎麼做(實作重點)
- 使用 Screaming Frog、Sitebulb 或 Ahrefs Site Audit 掃描全站轉址
- 在 .htaccess 或 nginx config 中直接指向最終 URL:RewriteRule ^old-url$ https://example.com/final-url [R=301,L]
- 更新所有內部連結指向最終目的地 URL,避免經過轉址
- 在 sitemap.xml 中只提交最終 URL,不要包含會被轉址的 URL
- 使用 Google Search Console 的「網址檢查」工具驗證轉址行為
- 建立轉址對照表(redirect map)文件,追蹤所有轉址規則
- 定期審核舊的轉址規則,移除不再需要的轉址
範例
apache
# .htaccess - 避免轉址鏈,直接指向最終 URL
# 錯誤:A → B → C(轉址鏈)
# RewriteRule ^page-a$ /page-b [R=301,L]
# RewriteRule ^page-b$ /page-c [R=301,L]
# 正確:A → C(單一跳轉)
RewriteRule ^page-a$ https://example.com/page-c [R=301,L]
RewriteRule ^page-b$ https://example.com/page-c [R=301,L]nginx
# nginx.conf - 正確的單一跳轉設定
server {
# 將所有舊 URL 直接導向最終目的地
rewrite ^/old-page-1$ https://example.com/new-page permanent;
rewrite ^/old-page-2$ https://example.com/new-page permanent;
# 使用 map 處理大量轉址
# map $uri $new_uri { include /etc/nginx/redirects.map; }
}相關連結
常見問題
關於這個詞彙的常見問答。