收錄變慢的时候,多數人先去看 sitemap、robots 和内容质量,但站内連結路径经常被忽略。蜘蛛進入一個頁面靠的是站内連結,如果它顺着連結走,连續遇到跳轉和死鏈,抓取效率會明顯下降。這類問题不會直接導致“不收錄”,但會让本该被發現的頁面来得更晚。
重定向鏈:每一次跳轉都是一次往返
A 跳到 B、B 跳到 C、C 才到最终頁,是最典型的鏈路問题。蜘蛛每走一跳都要重新發起一次請求,最後拿到的還是同一個頁面。鏈路越長,抓取成本越高;中間地址如果被外部連結引用,還可能被單獨索引,让同一份内容在索引里留下多個版本。
更麻烦的是循环重定向:A 跳 B、B 又跳回 A,蜘蛛走進去出不来,只能放弃。這種情况在改版、切換域名或者 CDN 規則寫错时最容易出現。
失效内鏈:把蜘蛛带進死胡同
指向 404 或 410 的站内連結本身不會“惩罚”站点,但會把蜘蛛引到一個没有出口的頁面。如果這種連結出現在導航、面包屑、分頁、相關推荐這類高频位置,每次抓取都會白白浪費一次請求。常见来源有:
- 模板里寫死的舊地址,改版後没有同步更新;
- 商品下架、文章刪除後,列表頁仍指向原来的 URL;
- 分頁组件把最後一頁之後的連結也輸出成可点地址;
- 站内搜尋结果頁、篩選連結被大量輸出並被爬取。
為什么這件事和收錄有關
抓取和收錄是两件事:蜘蛛来抓,是拿内容;编入索引,是判断這個 URL 值不值得留。坏連結不會让好頁面失去资格,但會做三件拖後腿的事:
- 消耗抓取资源:站点每天能被抓取的次數有限,走死鏈的請求是净损耗;
- 削弱連結传導:内鏈既是權重通路,也是發現入口,鏈路断了,新頁面就少了入口;
- 制造重复版本:多個跳轉地址同时存在,等于给同一份内容開了好几扇门。
URL 規范:從寫連結的那一刻開始
内部連結最好的狀態,是直接指向最终地址,不经過任何跳轉。做法其實很朴素:
- 统一协议、域名和结尾斜杠的寫法,全站只保留一種;
- 導航、面包屑、推荐位里的連結统一用最终 URL,不用舊的會跳轉的地址;
- 站内連結不要带追踪參數,參數留给站外投放使用;
- 頁面下线时,把指向它的内鏈一並清理,或者改成指向最相關的替代頁。
怎么排查
可以用爬虫工具抓一遍自己的站点,或者直接讀服務器日誌,按狀態碼篩選:
- 把返回 3xx 的站内連結列出来,看是否存在超過一跳的鏈路;
- 把返回 4xx 的 URL 找出来,回到模板和後台資料里定位来源;
- 在日誌里观察蜘蛛是否反复訪問同一個跳轉地址;
- 修正後观察一段時間,重点看新頁面的發現速度,而不是只盯着總收錄數。
修完鏈路不會立刻带来收錄,它更像是把路上的坑填平:让本来就會被抓的頁面,被抓得更顺一点。
收錄是多环节共同作用的结果,連結路径只是其中一环。它值得優先處理的原因在于:改動明确、不依赖算法判断,也基本不會有副作用。当你排除了内容质量、robots、canonical 這些常见原因之後,回头看看蜘蛛走的那條路是不是绕遠了,往往能找到一些被忽略的答案。