很多人盯着日誌看,發現搜尋蜘蛛确實来過入口頁,也顺着連結爬到了目标 URL 上,但之後就再没動静。這时候容易得出“蜘蛛池没用”的结论,其實更常见的原因是:發現和抓取是两件獨立的事,被看到不等于被排队抓取,更不等于被收錄。
發現與抓取,中間還隔着几道门
搜尋蜘蛛在入口頁提取到連結,只完成了“知道這個 URL 存在”這一步。接下来它要把這個 URL 放進待抓取队列,等待調度。队列里的 URL 數量通常遠超蜘蛛每天的抓取能力,所以真正决定来不来抓的,是優先級和配額,而不是連結本身寫得好不好。
- 優先級:入口頁自身的抓取频次、頁面更新频率、目标 URL 是否被多個入口重复指向。
- 配額:站点整体每天能被抓多少次,入口頁占得越多,留给目标 URL 的次數越少。
- 可抓性:目标 URL 的响應速度、狀態碼、是否被登入或驗證碼拦截。
几個最常见的卡点
入口頁把配額吃掉了
如果入口頁數量很多、頁面内容却很薄,蜘蛛每次来訪都要消耗抓取预算去重复讀取几乎没有變化的頁面,留给目标 URL 的次數自然被压缩。這时候與其繼續加入口頁,不如先看看入口頁是不是在被反复無效抓取。
入口頁给出的信号太弱
連結藏在深层 DOM、靠 JS 拼接、被折叠或隐藏,都會让連結在提取阶段就漏掉一部分。即使提取到了,如果入口頁自身長期不更新、外鏈和内鏈都很少,這條 URL 在队列里的權重也不會高。
目标 URL 自己有問题
返回 5xx、超时、重定向鏈條過長、robots.txt 不允许抓取、頁面主体靠前端渲染而蜘蛛拿不到内容,都會让蜘蛛在一次尝试後降低回訪意愿。這類問题往往表現為“第一次来過,之後再也不来”。
站点整体抓取频次被压低
如果同一個域名下大量頁面质量差、重复度高、死鏈多,站点的整体抓取频次會下降,新 URL 的等待時間随之變長。這属于站点級別的信号,單靠几個入口頁很难扭轉。
用日誌判断卡在哪一步
- 按 URL 分组統計入口頁和目标 URL 的抓取次數、狀態碼、首次抓取時間。
- 看目标 URL 是否出現過:完全没出現過,問题在發現环节;出現過一两次就停了,問题更可能在抓取或质量环节。
- 對比入口頁與目标 URL 的抓取比例,判断配額是否被入口頁過度占用。
- 检查目标 URL 的响應時間分布,排除間歇性超时。
- 確認 robots.txt、meta robots、HTTP 头之間没有互相冲突的指令。
可以尝试的調整
- 减少低质量入口頁的數量,把連結集中在少數有更新、有實质内容的頁面上。
- 给目标 URL 提供稳定的内鏈路径,不要只依赖單一入口。
- 压缩跳轉层級,尽量让蜘蛛一跳到達。
- 保證目标 URL 服務端能渲染出主要内容,响應時間控制在合理范围。
- 用 sitemap 补充重要 URL,並保持 lastmod 真實可信。
抓取频次和抓取队列的調度規則由搜尋引擎自己决定,任何外部手段都只能提高被發現的概率,無法保證什么时候被抓、是否被收錄。把精力放在站点的可抓性和内容质量上,通常比堆入口頁更稳定。
小结
目标 URL 被發現後不来抓,先別急着加更多入口頁。按“發現—排队—抓取—渲染”的顺序排查,多數問题能定位到具体一环:要么是配額被占用,要么是目标 URL 本身让蜘蛛不愿意再来。