服務器日誌是站点运营里最容易被忽略、却最實在的一份資料。搜尋蜘蛛什么时候来、抓了哪些 URL、拿到什么狀態碼、等了多久,日誌里都记着。比起靠猜测判断抓取情况,把日誌切出来看几天,往往能更快定位問题。
先分清哪些請求来自蜘蛛
日誌里混杂着真實用戶、监控探针、第三方爬虫和各種掃描器。動手分析之前,先把它們分開。
- 看 User-Agent:主流搜尋引擎的 UA 里有固定标识,但 UA 可以伪造,只能作為初筛。
- 做 IP 反查:把訪問 IP 反解析回官方域名,或用官方公布的 IP 段比對,這一步能過滤掉大部分冒牌請求。
- 标记已知来源:自家监控、CDN 回源、压测流量先排除,否則會把噪声当成抓取。
分類做好之後,把日誌按“搜尋引擎蜘蛛 / 其他爬虫 / 真實用戶”拆成三份再看,结论會清楚很多。
三個最值得盯的指标
抓取频次
按天統計蜘蛛請求數,再看它落在哪些目錄。健康的狀態是請求量平稳、且分散在栏目頁和内容頁上;如果绝大多數請求都堆在列表頁或某几個參數頁,說明站内連結把蜘蛛引向了低價值区域。
狀態碼分布
把蜘蛛請求的狀態碼拉出来,按比例排個序。200 之外的部分,就是需要處理的部分。重点關注 5xx,以及大量的 404 和 301。
响應時間
蜘蛛請求的平均响應時間和 P95 值比真實用戶更值得看。抓取窗口有限,如果頁面经常几秒才返回,蜘蛛自然會降低訪問频率。响應慢的頁面通常集中在動態查询、未加缓存的内頁,或者依赖外部接口的模块上。
常见的日誌信号與處理方向
- 5xx 集中在某個時間段:多半是資料库压力、定时任務或發布流程占用了资源,和抓取本身無關。
- 大量 404 来自蜘蛛:站内死鏈,或已下线頁面仍被内鏈引用,先修内鏈再谈重定向。
- 同一個 URL 出現多跳 302:重定向鏈太長,蜘蛛可能中途放弃,尽量收敛成一跳。
- 抓取集中在少數 URL:内鏈分布不均,新内容缺少入口,需要补栏目索引和上下篇連結。
- 只在移動 UA 上出現異常:检查是否有只在移動端生效的跳轉或拦截規則。
分析节奏與日誌留存
日誌不需要天天逐條看,但要有固定节奏。建议按周對比,观察抓取總量、狀態碼比例和响應時間的變化趋势;發現異常再往下钻到具体 URL。
- 保留至少 30 天的原始日誌,方便回溯改版前後的差异。
- 图片、CSS、JS 等静態资源請求量大,可以單獨統計,不混進頁面統計里。
- 把每周的指标记成一張表,趋势比單点資料更有说服力。
日誌反映的是已经發生的事,它能帮你發現問题、驗證調整效果,但並不能直接决定收錄结果。
把日誌当成例行检查的一項,和站点地图、内鏈结构、内容更新放在一起看,抓取和索引上的很多疑問,答案其實早就在日誌里了。