後台报表只能告诉你頁面被展示、被点击,但很难告诉你蜘蛛来過几次、抓了哪些地址、拿到的是什么狀態碼。這些信息只在服務器訪問日誌里。做站点运营,與其凭感觉猜“是不是没被抓”,不如每周花二十分钟看一遍日誌。
第一步:先確認来的是谁
日誌里的 User-Agent 是可以随便寫的,所以不要只看 UA 就下结论。比較稳妥的做法是:
- 把常见蜘蛛的 UA 關鍵詞筛出来,比如 Googlebot、Bingbot、百度蜘蛛等;
- 對可疑 IP 做反向解析,確認域名归属,而不是只看 UA 字符串;
- 记錄真實蜘蛛使用的 IP 段做長期對照,避免把伪装抓取当成搜尋引擎。
如果某個 IP 顶着搜尋引擎的 UA,却在大范围抓取參數頁和後台路径,那大概率不是正常抓取,按普通訪客或異常流量處理即可。
第二步:看三個基础指标
- 抓取總量趋势:按天統計蜘蛛請求數,是平稳、上升還是骤降。骤降往往和服務器異常、robots 改動、站点结构大改同时發生。
- 狀態碼分布:200、301、404、5xx 各占多少。正常站点有 404 很正常,但比例長期偏高,說明有大量失效入口還在被引用。
- 抓取集中度:抓取量是集中在少數模板頁,還是能覆盖到内容頁。如果蜘蛛一直在列表頁和标簽頁打轉,内容頁很少被碰,說明入口和連結结构有問题。
第三步:找出被浪費的抓取
抓取预算是有限的,常见浪費来源包括:
- 带篩選參數、排序參數的组合連結;
- 站内搜尋结果頁;
- 已经下线但内鏈没清理的舊栏目;
- 层級過深的重定向鏈;
- 同一張图片被多個尺寸地址重复抓取。
發現這些地址後,處理方式通常是:能合並的做規范化,已经没用的返回 410 或 404 並清掉内鏈,需要保留但不希望被抓的用 robots 或 meta 指令處理。改完後再看日誌,驗證請求量是否真的下降。
第四步:把响應時間和抓取频次放在一起看
單獨看抓取量意义不大,還要看每次請求的耗时。如果平均响應時間從几百毫秒涨到几秒,蜘蛛往往會主動降低抓取频率。這时候抓取量下降不是“被惩罚”,而是服務器太慢導致的自然结果。可以先查慢查询、資料库连接、缓存命中率,再判断是否需要扩容。
一份可以落地的周检查清單
- 本周蜘蛛請求總量與上周對比,波動是否超過三成;
- 5xx 數量是否超過總請求的千分之一;
- 新發布的頁面在几天内是否出現抓取记錄;
- 是否存在單 IP 高频抓取非公開路径;
- 404 列表里有没有本應正常存在的頁面。
日誌分析的價值不在于看到數字,而在于把數字變成一個可以执行的小改動。一次只改一件事,下周再回来看趋势,比一次大改然後無從归因要可靠得多。
最後提醒一点:日誌轮轉要保留足够的天數,至少能覆盖两個完整的抓取周期。如果日誌只留三天,很多趋势根本看不出来。