服務器訪問日誌是最容易被忽略的一份材料。它记錄的是蜘蛛真實訪問過的地址、時間和结果,而不是我們以為它訪問過的東西。不過,日誌只能說明“抓過”,不能直接說明“收錄了”,两者之間還有一段流程。把日誌讀對,能省下不少盲目排查的時間。
第一步:確認日誌里的訪問者是谁
有些爬虫的 UA 會模仿搜尋蜘蛛。保險的做法是同时看 UA 與来源 IP,必要时做反向解析確認域名归属。如果分析工具只按 UA 归類,很容易把第三方抓取工具算成搜尋蜘蛛,進而得出“蜘蛛很勤快”的错誤结论。
值得關注的几個字段
- 狀態碼:200、301、304、404、5xx 的分布,反映站点對蜘蛛的响應是否稳定。
- 返回字节數:200 但字节數极小,常见于空模板或没渲染完的頁面。
- 完整 URL:带參數的地址被反复抓取,通常意味着入口没有被收敛。
- 時間與频次:同一目錄下頁面的訪問間隔,能反映抓取分配的倾向。
三個容易看出問题的信号
频次集中在小范围 URL 上
如果蜘蛛大量時間花在分頁、篩選參數或站内搜尋頁上,真正需要被發現的詳情頁訪問次數反而很少,值得優先检查内鏈與 sitemap 里放出的地址。
狀態碼里 5xx 或超时比例偏高
蜘蛛遇到连續的服務器错誤會放慢节奏。這類情况在日誌里最直观:同一時間段大量 5xx,随後整体訪問量下降。
200 响應但内容明顯偏薄
字节數長期偏低的頁面,多半是内容没渲染完或本身信息量不足。可以把它和收錄狀態對照,看看這批地址是否大量停留在“已抓取,尚未编入索引”。
几個常见誤讀
- 抓取次數多等于收錄好:抓取只是過程,收錄還要看内容质量與重复情况。
- 蜘蛛没来就等于不會被收錄:URL 還可能通過 sitemap、外鏈或内部連結被其他路径發現,日誌只是其中一部分。
- 蜘蛛没来就等于頁面有問题:新頁面、低權重頁面回訪間隔本来就長,观察周期太短容易誤判。
日誌适合回答“蜘蛛在你站上做了什么”,不适合單獨回答“頁面有没有被收錄”。两個資料源要一起看。
把日誌和收錄狀態對照起来
- 從日誌中導出最近一段時間蜘蛛抓取過的 URL,去重後抽样。
- 對抽样 URL 逐個確認收錄狀態,可以结合站内查询與站長平台的資料。
- 把结果分成几類:已抓取已收錄、已抓取未收錄、被規則屏蔽、抓取失敗。
- 對“已抓取未收錄”的样本找共性,比如同一模板、同一目錄、相似的标题與正文结构。
- 针對共性做調整,再持續观察日誌中這批地址的訪問變化。
观察时要注意的两点
一是選一個足够長的窗口,比如四周,單日資料波動說明不了問题;二是保留歷史資料,做調整前後的對比,否則很难判断變化是不是自己带来的。
小结
日誌的價值不在于數字多大,而在于它能把笼统的“收錄不好”拆成具体的問题:是蜘蛛没来,来了却不抓想要的地址,還是抓了但頁面本身不過關。分清楚這一步,後面的處理才有方向。