收錄出問题的时候,多數人第一反應是去後台翻索引报告。索引报告告诉你结果是“未收錄”,却不说是在哪一步断的。服務器日誌恰好相反,它记錄的是過程:蜘蛛什么时候来過、抓了哪些 URL、拿到了什么响應。把两者對着看,卡点通常就浮出来了。
日誌里真正有用的三類信息
原始日誌字段很多,做收錄诊断只需要盯住三样。
狀態碼
200 說明頁面能被正常取回;301、302 說明你在做跳轉;404 和 410 是明确拒绝;5xx 與超时是服務器端的問题;429 或者频繁的 503 往往意味着你在限速。同一個 URL 反复出現 5xx,搜尋引擎不會一直等下去,抓取频次會随之降下来。
抓取频次與頁面分布
統計一段時間内各目錄被訪問的次數,能看出蜘蛛的兴趣落在哪里。如果抓取集中在列表頁、标簽頁、參數頁,而正文頁寥寥無几,新内容自然难被及时發現。
入口路径
看蜘蛛是從哪個頁面走到目标頁的。如果某個重要頁面在日誌里從来没有 Referer,說明它在站内缺少可用入口,只能靠站点地图或外鏈被“發現”,這類頁面收錄慢是正常現象。
三種最常见的卡点
- 响應不稳:頁面时快时慢,或者偶發 5xx。蜘蛛抓几次都拿不到稳定结果,就會降低對這個目錄的信任。
- 抓取被低價值頁面吃掉:大量參數组合、排序篩選、會话 ID 生成的 URL 被反复抓取,真正想收錄的頁面反而排不上队。
- 頁面没有可走通的入口:新頁面只存在于站点地图里,站内没有任何連結指向它。站点地图解决的是“發現”,走不通的路径會让抓取迟迟不發生。
從日誌到具体動作
- 先把 5xx 和超时挑出来。服務器不稳,其他問题都谈不上優先。
- 把被大量抓取的參數頁、重复頁做收敛:能合並的合並,该屏蔽的屏蔽,让抓取落到正文頁上。
- 检查重要頁面的站内入口,把連結补進導航、相關推荐或列表頁,给它一條真實路径。
- 對比日誌里的抓取時間和索引报告里的收錄時間,看間隔是几天還是几周。間隔很長,說明發現到抓取之間有問题;抓取很快却一直不收錄,問题多半在頁面本身。
日誌只能證明蜘蛛来過,不能證明頁面會被收錄。抓取是收錄的必要條件,不是充分條件。
几個容易誤讀的地方
日誌里出現蜘蛛 IP,不代表頁面被索引了,只代表被訪問過。反過来,日誌里没看到某個頁面被抓,也不一定是坏事,可能只是它還不值得抓,或者抓取周期還没轮到。
另外要注意区分不同爬虫:Googlebot、Bingbot 以及各類抓取工具的用途並不相同,統計时最好按 UA 分開看,否則频次資料會被混在一起,判断就容易失真。
如果站点規模不大,日誌分析不必做得太复杂。每周導出一次日誌,筛出搜尋引擎 UA,按狀態碼和目錄做個简單匯總,几十行结论就够指導下一步動作了。