後台的收錄數字通常有延迟,而且只给一個匯總结果。当你想知道某個具体地址到底有没有被看到、蜘蛛来過几次、服務器当时返回了什么,服務器日誌往往是更早也更细的信息源。它不能直接告诉你頁面是否已经進了索引,但能告诉你抓取环节發生了什么,從而把排查范围缩小到几類可能。
日誌里先確認三件事
不同服務器和 CDN 的日誌字段不完全一样,但下面三類信息要能對上。
- 訪問者身份:常见做法是通過 User-Agent 识別,例如 Googlebot、Bingbot、百度蜘蛛等。注意 UA 可以被伪造,正規做法是结合反向解析或官方 IP 段核對,不要只凭 UA 就下结论。
- 被請求的 URL 與狀態碼:這是判断抓取结果的核心。同样是蜘蛛訪問,200、301、404、410、5xx 代表完全不同的處理路径。
- 時間與频次:單個 URL 一周被訪問几次、整站每天的抓取量有多少,比單次訪問更能說明問题。
把日誌行對應到收錄阶段
發現、抓取、索引是三個环节,日誌基本只能覆盖前两個。
只有提交记錄,没有抓取记錄
如果日誌里能看到蜘蛛請求 sitemap.xml,却看不到對應頁面的任何請求,說明地址大概率還停在待抓取队列,或者連結入口太浅、站点抓取配額有限。此时優先检查内鏈是否可達、sitemap 是否列出了這些地址。
有抓取记錄,狀態碼是 200
說明蜘蛛已经把 HTML 拿到了。能否進索引取决于頁面质量、内容是否與其他頁面重复、是否為規范化版本等,日誌到此就不再提供更多线索,需要配合頁面本身和站点級信号去判断。
反复出現的異常狀態碼
- 大量 404 或 410:可能是内鏈指向了已刪除地址,蜘蛛把時間花在死鏈上。
- 大量 301 跳轉鏈:每跳一次都消耗抓取机會,長鏈式跳轉應改成一跳到目标。
- 集中的 5xx 或超时:服務器不稳定會让蜘蛛降低抓取频次,恢复後也要過一段時間才回到原来的节奏。
几個容易忽略的细节
- 日誌被轮轉或压缩:只看最近几小时容易誤判,尽量覆盖完整的一天或一周。
- CDN 與源站日誌不一致:使用 CDN 时,蜘蛛訪問可能由 CDN 直接响應,源站日誌里看不到,需要查看 CDN 侧的訪問日誌。
- robots.txt 與 sitemap 的請求:這两個文件的抓取记錄能間接反映蜘蛛是否還在正常訪問站点。如果连它們都長期没有請求,問题可能出在更外层。
- 參數與大小寫差异:日誌里同一個内容出現多種地址寫法,說明 URL 尚未收口,後續會出現重复抓取。
一份可执行的自查顺序
- 先按 User-Agent 筛出搜尋引擎蜘蛛的請求,統計總量與趋势。
- 把狀態碼做归類,看 2xx、3xx、4xx、5xx 各占多少。
- 挑出重点栏目或新發布的 URL,逐個查它們有没有被抓取记錄。
- 對被抓取但未收錄的地址,回到頁面层面检查内容质量與重复情况。
- 對從未被抓取的地址,检查内鏈入口、sitemap 以及是否被 robots.txt 挡住。
- 把结论與後台的收錄資料對照,找出差异最大的那一類 URL 優先處理。
日誌能證明蜘蛛来過,不能證明頁面已被收下。把抓取记錄当成起点而不是结论,後面的判断才不容易走偏。