在蜘蛛池和站点运营里,最能让人困惑的情况之一是:入口頁正常打開,連結不是 JS 動態生成,也没有 nofollow,可搜尋蜘蛛就是只抓了其中一部分目标 URL,剩下的長期停在“已發現”或者干脆没動静。這不是某一個開關的問题,而是抓取調度在多個信号之間做取舍的结果。
先分清三種狀態
排查前先把狀態分清楚,否則很容易在错誤的方向上改来改去。
- 没被發現:抓取日誌里看不到對目标 URL 的請求,入口頁的抓取记錄也稀疏,說明問题出在入口頁這一侧。
- 已發現未抓取:URL 進了待抓队列,但一直没轮上,通常和抓取配額、優先級有關。
- 抓過但没保留:抓取發生過,只是目标頁返回異常、内容重复或质量信号弱,後續没有繼續。
只抓一部分的常见原因
1. 站点整体抓取配額有限
搜尋蜘蛛對每個站点的抓取量是有大致上限的。如果同一個域名下同时存在大量 URL,包括歷史遗留的參數頁、分頁、搜尋结果頁,入口頁能分到的抓取次數就會被摊薄。表現就是入口頁被訪問了,但每次只带走少量連結。
2. 目标 URL 大面积雷同
如果几百個目标 URL 的标题、模板、正文结构高度一致,只換了少量參數,搜尋引擎可能把它們当作近似重复的頁面。這種情况下繼續抓取的收益不明顯,队列里的優先級自然會被压低。入口頁本身没問题,是目标侧的信号在拖後腿。
3. 入口頁長時間没有實质更新
入口頁如果每天都是同一批連結、同样的顺序、同样的内容,抓取频率會慢慢下降。搜尋蜘蛛判断值不值得再来,看的是變化,而不是連結數量。只堆連結、不做任何更新的入口頁,往往在头几次抓取之後就趋于平淡。
4. 入口頁的連結分布過于集中
連結全塞在一個区块、一段 HTML 里,和連結分散在几個有语义的结构里,抓取时的處理並不完全一样。更重要的是,如果入口頁本身很長,排在後面的連結被带走的概率會明顯下降。
5. 目标頁响應不稳定
目标 URL 如果经常出現超时、5xx、连接被重置,或者在移動端和桌面端返回不一致,抓取端會把這批 URL 判定為不值得花配額。哪怕入口頁一切正常,後續抓取也會慢下来甚至暫停。
一個可执行的排查顺序
- 看入口頁最近一周的抓取日誌,確認訪問频率是在下降,還是稳定但每次只取少數連結。
- 抽 20 到 30 個未被抓取的目标 URL,手動检查狀態碼、响應時間、canonical 和主要内容是否重复。
- 對照 sitemap,看這些 URL 是否已经提交、提交時間是什么时候。
- 检查同域名下是否存在大量低质量或參數化 URL,它們在抢占抓取配額。
- 確認入口頁本身有没有更新,最近一次内容變化是什么时候。
可以尝试的調整
- 控制單頁連結數量:把入口頁拆成几頁,每頁連結保持在一個合理范围,而不是一頁塞几百個。
- 让内容有真實變化:新增、下架、排序變化都算,關键是別让入口頁看起来永遠冻结。
- 差异化目标頁:标题、描述、首屏信息尽量体現各自的内容,避免整批頁面像同一張模板。
- 稳定目标頁响應:把超时和 5xx 压下去,比反复提交 URL 更有效。
- 清理同域冗余 URL:减少無意义參數頁和重复路径,把配額留给真正需要的頁面。
抓取是發現、排队、抓取、保留的连續過程,任何一环的信号變弱,都會表現為只抓了一部分。不要只盯着入口頁的連結格式。
如果想確認問题到底在入口頁還是目标頁,可以把同一批 URL 分两组:一组只通過入口頁暴露,一组只寫進 sitemap,观察两周後的抓取比例。差异明顯,說明入口頁這一侧的抓取效率還有優化空間;差异不大,那更可能是目标 URL 本身或整站抓取配額的問题。