日誌是抓取路径的底稿
站点地图、内鏈和提交入口更像路标,告诉蜘蛛“這里可能有路”。但路标不等于脚印。要確認蜘蛛實际走過哪些連結、多久来一次、在哪一层停下,服務器日誌通常是最直接的證據。它不會告诉你排名,但能回答一些更基础的問题:新 URL 有没有被請求,老 URL 是否還在被反复抓,某個目錄是不是長期没有蜘蛛訪問。
看日誌不需要复杂工具,先固定几個字段:請求時間、客戶端 IP、User-Agent、請求方法、完整 URL、狀態碼、响應時間、响應字节數、Referer。如果站点有 CDN 或反向代理,注意日誌里记錄的是回源請求還是邊缘請求,两者含义不同。
先確認是不是搜尋蜘蛛
User-Agent 可以伪造,所以不要只靠 UA 判断。更稳妥的方式是结合官方公布的 IP 段做反向解析,或者用日誌里的已知蜘蛛 IP 建立白名單。對中小站点来说,至少要把“疑似蜘蛛”和“普通用戶”分開統計,否則很容易把爬虫掃描当成搜尋抓取。
- 看 IP 归属:搜尋蜘蛛通常来自固定机房段,频繁變化的住宅 IP 更可能是采集或掃描。
- 看請求节奏:搜尋蜘蛛一般有相對稳定的抓取間隔,不會在几秒内把全站掃完。
- 看請求路径:如果只抓接口、登入頁或随机參數,通常不是正常發現行為。
從日誌反推抓取路径
Referer 是最接近“上一跳”的字段,但它並不總是出現。蜘蛛可能不發送 Referer,也可能從 Sitemap 直接進入詳情頁。因此,反推路径要结合多種线索:URL 层級、目錄结构、參數形態、抓取時間顺序,以及内鏈结构改動前後的對比。
几個可观察的信号
- 首次出現時間:新 URL 從發布到第一次被抓,中間隔了多久。如果超過预期,先查它是否在内鏈中露出,是否寫進 Sitemap。
- 抓取深度:從首頁到詳情頁点击了几层。深度過大时,蜘蛛可能只停在列表頁。
- 重复抓取:同一 URL 在短時間内被多次請求,可能是路径重复、參數變体或分頁回环。
- 狀態碼分布:200 是正常,301/302 要看跳轉鏈是否過長,404/410 要確認是否该保留,5xx 則直接影响下一次抓取。
- 响應時間:單個 URL 响應過慢,會让蜘蛛在同一時間窗内抓得更少。
日誌里的“抓取量下降”不等于“被惩罚”。更常见的原因是服務器變慢、内鏈改版、robots 調整或大量參數頁消耗了抓取配額。
把日誌和 Sitemap、内鏈對照
Sitemap 负责發現,内鏈负责深度,這是两條不同的通路。日誌可以帮你检查它們是否按预期工作。例如,Sitemap 中的 URL 是否被請求;内鏈改版後,原本能抓到的詳情頁是否還在被訪問;某個栏目的抓取比例是否明顯低于其他栏目。
- 如果 Sitemap 里的 URL 長期不被抓,检查是否被 robots 拦截、是否返回 5xx、是否大量重复。
- 如果内鏈指向的頁面不被抓,检查連結是否可被解析、是否用了 JS 跳轉、是否在頁面加载後才插入。
- 如果蜘蛛總在同批頁面打轉,检查分頁、篩選參數和排序參數是否生成過多入口。
服務器稳定性會改變抓取节奏
抓取路径不只受連結影响,也受响應质量影响。日誌中 5xx 比例升高、响應時間變長、连接超时增多时,蜘蛛往往會降低抓取频率。即使頁面结构没變,URL 發現速度也可能變慢。反過来,稳定、快速的响應能让蜘蛛在同样時間内走完更多路径。
可以按周統計:蜘蛛請求總量、獨立 URL 數、2xx/3xx/4xx/5xx 比例、平均响應時間、新 URL 首次被抓延迟。把這几項放在一起看,比單看“今天抓了多少”更有判断力。
日誌不是排名工具,但是诊断工具
服務器日誌不能直接提升收錄或排名,但它能减少猜测。定期抽样查看蜘蛛抓取路径,確認 Sitemap 與内鏈是否一致,留意狀態碼和响應時間的變化,通常就能發現大部分抓取問题。先把路径理顺,再谈内容與權重,會更踏實。