站点改版、栏目調整、商品下架後重新上架,都會让一批目标 URL 變成 301 跳轉。做 URL 發現和蜘蛛池投放时,很容易遇到一個具体問题:入口頁里到底放舊地址,還是直接放跳轉後的新地址?两者都能被搜尋蜘蛛碰到,但抓取路径、日誌表現和後續维護成本並不一样。
先分清 301 的几種常见场景
同样是 301,處理方式不能一刀切。常见有三類:
- 單頁換路径:舊 URL 永久跳到一個明确的新 URL,一對一關系清晰。
- 整站或目錄迁移:舊目錄下大量 URL 按規則映射到新目錄,可能形成批量跳轉。
- 鏈式跳轉:舊地址先 301 到中間地址,中間地址再 301 到最终頁。鏈越長,抓取时消耗越多,也越容易在中間环节丢失參數。
投放前先確認自己面對的是哪一種,再决定入口頁放什么連結。
預設建议:優先投最终的新地址
如果没有特殊原因,蜘蛛池入口頁更适合直接指向返回 200 的最终地址。原因很實际:搜尋蜘蛛少走一跳,抓取预算更集中;日誌里能看到明确的 200 响應,排查时不容易把跳轉失敗和抓取失敗混在一起;後續如果舊地址再被改動,也不會影响已经投放的連結。
舊地址也不是完全没用。如果舊地址在外部仍有一些自然連結、用戶收藏或歷史流量,保留少量入口指向舊地址,可以帮助確認 301 是否被正常跟随。但不要把它当成主要投放對象。
判断标准可以简化成一句话:如果舊地址的 301 配置稳定、目标明确,投新地址更省事;如果舊地址本身還有外部入口,可以少量补充,但不建议大量重复投。
這些情况下,舊地址不值得繼續投
- 301 鏈超過两跳,或者中間夹杂 302、JS 跳轉、meta refresh。
- 跳轉最终落到 404、软 404,或者需要登入才能訪問的頁面。
- 最终頁設定了 noindex,或者被 robots.txt 禁止抓取。
- 跳轉過程中稳定丢失查询參數,導致目标頁内容與预期不一致。
- 舊地址本身返回 5xx、403 或频繁超时,搜尋蜘蛛可能直接放弃。
遇到以上情况,繼續投放舊地址通常只是在制造無效抓取。先把跳轉鏈修短、修稳,再考虑投放。
投新地址前,先做這几項检查
- 用不带登入態的請求訪問新地址,確認返回 200,且内容與用戶看到的一致。
- 检查 canonical 是否指向新地址自身,避免新舊地址互相 canonical。
- 確認頁面没有誤加 noindex、nofollow 或屏蔽搜尋蜘蛛的規則。
- 查看服務器和 CDN 日誌,確認新地址不會對搜尋蜘蛛返回 403、429 或 503。
- 如果新地址带參數,測試參數是否會影响頁面内容或 canonical 指向。
這些检查不复杂,但能避免投放後才發現目标頁根本不可抓。
跳轉鏈上的參數與跟踪碼
301 是否保留查询參數,取决于服務器和跳轉規則的實現。有些配置會原样保留 utm、fbclid 等參數,有些會直接丢弃。如果入口頁投放的是带跟踪參數的舊地址,而跳轉後參數丢失,最终頁可能仍能打開,但統計和排查會對不上。比較稳妥的做法是:先用少量連結測試跳轉後的實际落点,再决定是否清理參數。
用日誌判断投放有没有走通
分批投放後,重点看三類记錄:
- 舊地址上的 301 請求是否出現,以及出現的频率。
- 最终新地址是否收到對應的 200 抓取請求。
- 同一個搜尋蜘蛛的抓取間隔是否稳定,有没有突然中断或大量 5xx。
如果只看到 301,看不到最终頁的 200,說明跳轉可能没被跟随,或者中間环节被拦截。這时繼續加量意义不大,應该先回到跳轉配置排查。
小结
目标 URL 發生 301 时,預設把蜘蛛池入口頁指向最终的新地址,舊地址只在有外部入口或需要驗證跳轉时少量补充。保持跳轉鏈短、目标頁可抓、參數行為可预期,再分批观察日誌,比一次性大量投放舊地址更容易看出問题。抓取和收錄受多種因素影响,投放只是增加被發現的机會,不能替代站点本身的可訪問性和内容质量。