做站点运营的人常碰到這種情况:URL 已经通過接口提交,後台也顯示成功,但服務器日誌里迟迟看不到搜尋蜘蛛的請求。這里要先建立一個基本認知——提交成功只代表地址被接收,進入了待抓取队列,並不等于马上抓取,更不等于收錄。队列什么时候轮到這條 URL,取决于它的優先級、站点整体抓取频次,以及頁面本身是否值得抓。
一、先分清三件事:提交、抓取、收錄
把這三件事混在一起,判断就無從下手。
- 提交:你把 URL 告诉搜尋引擎,接口返回成功。
- 抓取:搜尋蜘蛛真正發起請求,日誌里能看到對應 UA 和狀態碼。
- 收錄:抓取後经過處理進入索引。抓取是收錄的前提,但不是保證。
確認問题出在哪一环,最直接的办法是去服務器日誌里按 UA 過滤,看這個 URL 或這個目錄最近有没有被抓過。完全没有记錄,問题在抓取环节;有记錄但收錄狀態没變化,問题在後續處理环节。
二、抓取迟迟不来的常见原因
- 站点整体抓取频次偏低。新站或者長期抓取量很少的站点,蜘蛛分配過来的抓取资源有限,提交的 URL 排在後面是正常現象。
- 服務器响應慢。连接超时、首字节時間過長,會降低蜘蛛對站点的抓取意愿,甚至直接放弃這次抓取。
- robots.txt 或 UA 判断挡住了。有的站点在 WAF 或 Web 服務器层做了 UA 過滤,把搜尋蜘蛛一起拦了,日誌里只剩 403。
- 頁面狀態碼異常。404、软 404、5xx、跳轉到首頁,都會让這條 URL 被标记為低價值或不可抓取。
- 同一批 URL 反复提交。重复提交不會加快速度,反而可能把有限的抓取配額集中消耗在同一批地址上。
三、提交渠道之間應该怎么配合
常见的几條渠道各有适用场景:接口推送适合新發布、时效性强的少量 URL;sitemap 适合成批维護、變化不频繁的地址;内鏈是最基础的一條,頁面之間互相可達,蜘蛛顺着連結自己就能找到。
三者不是叠加越多越好。如果一批 URL 已经通過 sitemap 稳定暴露,又每天用接口重复推一遍,收益通常很小。更實际的做法是:内鏈保證可達,sitemap 覆盖全量,接口只推送真正新增或更新的那几條。
四、一個從日誌開始的排查顺序
- 按 UA 過滤日誌,確認目标 URL 或同目錄 URL 有没有被抓過,以及抓取频次的變化趋势。
- 检查 robots.txt 是否誤屏蔽,以及服務器层有没有對搜尋蜘蛛做 UA 限流或拦截。
- 實际請求一次,看响應狀態碼和耗时,確認没有超时、跳轉鏈過長或软 404。
- 核對提交记錄,看是否存在同一批 URL 每日重复推送的情况。
- 從站点首頁按正常連結路径点過去,確認目标 URL 不需要登入、不依赖脚本渲染也能到達。
五、几個容易被誤解的点
提交成功不等于會抓取;被抓取不等于會收錄;收錄數量下降也不一定和最近一次提交有關。
還有一個反直觉的经驗:抓取量上不去的时候,先减少低價值 URL 的暴露,往往比繼續增加提交量更有效。搜尋蜘蛛把時間花在大量相似頁面上,新頁面分到的份額自然就少了。
最後提醒一句,不同搜尋引擎的队列策略並不一致,同一批 URL 在不同引擎上的表現可能差很多。排查时最好分開看,不要用一家的情况去推断另一家。