判断抓取情况时,很多运营者习惯先盯着後台的收錄數字。但收錄是结果,而且通常有延迟;服務器日誌才是過程,能看到具体某一天、某個爬虫、對哪條 URL 發生了什么。当收錄停滞时,日誌往往已经提前给出了原因。
為什么日誌比收錄數字更早给信号
收錄數字是被聚合過的統計,看不到單條 URL 的经歷;日誌則是原始流水,包含時間、URL、狀態碼、响應時間。两者的差別在于:數字告诉你“有没有”,日誌告诉你“為什么没有”。抓取被 5xx 挡掉、被 403 拒绝、被跳到無關頁面,這些在收錄數字上只表現為“没收錄”,在日誌里却一目了然。
第一步:把真實爬虫筛出来
日誌里的訪問者大致分三類,混在一起看容易得出错誤结论。
- 真實搜尋引擎爬虫:UA 與 IP 段都能對應上,請求有一定节奏,會重复回訪。
- 伪装的爬虫:UA 寫得像,但 IP 段對不上,請求频率過于均匀,或長期集中在少數頁面。
- 其他流量:监控、SEO 工具、聚合抓取、普通用戶,都會混進同一份日誌。
建议先按 UA 過滤,再對可疑 IP 做反查,把真實爬虫單獨提取出来,後面的分析才有意义。
第二步:重点看四個字段
- 時間與频率:看單日抓取總量是否稳定,有没有長時間断档,或某天突然暴增。
- 請求的 URL:是集中在首頁和栏目頁,還是能進到内容頁;新頁面有没有被碰到。
- 狀態碼:200、301、404、403、429、5xx 各占多少,决定了爬虫實际能拿到什么。
- 响應時間與返回体积:响應過慢、頁面体积異常,都會影响抓取预算的分配。
狀態碼该怎么讀
- 大量 5xx:服務器不稳定,爬虫會主動降低訪問频率,抓取量随之下降。
- 大量 403 / 429:多為風控、限流或防火墙誤拦,真實爬虫也會被一起挡住。
- 大量 301 鏈:跳轉层數過多會消耗抓取配額,最好收敛到一跳。
- 大量 404:說明站内仍有指向失效 URL 的入口,需要清理内鏈。
第三步:识別四種異常信号
- 只抓首頁和少數栏目頁:通常意味着内鏈入口不足,或重要頁面点击深度太深。
- 反复抓同一批舊 URL,新頁面不碰:可能是 sitemap 没更新、内鏈没有指向新頁,或舊頁面内容仍在频繁變動。
- 抓取量突然归零:優先检查 robots.txt、防火墙規則、CDN 回源設定是否被改動過。
- 抓取量很大但没有新增 URL:多為參數頁、篩選頁被大量抓取,占用了本就不多的抓取预算。
第四步:和後台資料交叉驗證
日誌只是其中一环。把日誌里的抓取次數、被抓到的 URL 數量,與後台的抓取統計、索引覆盖、sitemap 狀態對照着看,能較快判断問题出在“没抓”還是“抓了没收”。如果日誌顯示抓取正常、狀態碼正常,索引却迟迟没變化,那問题多半在頁面质量或内容重复,而不在抓取环节。
一次可操作的抽样方法
- 固定一個時間窗口,比如最近 7 天。
- 從日誌中筛出主要搜尋引擎爬虫的记錄。
- 統計每日抓取量、狀態碼分布以及被訪問 URL 的類型分布。
- 挑 20 到 50 條你關心的新 URL,逐條確認是否被抓過。
- 把结论與後台資料對照,只记錄差异最大的两三處。
日誌分析的價值不在于把每個請求都看完,而在于用一小段样本判断抓取鏈路是否通畅。抓取正常却收錄不動,和抓取本身就被挡住,是两類完全不同的問题,處理方向也相反。