收錄量是结果,蜘蛛的抓取行為是過程。结果通常滞後一两周甚至更久,而過程当天就能從日誌里看到。與其每天刷收錄數字,不如隔几天拉一次日誌,看看蜘蛛這几天到底訪問了什么、跳過了什么、在哪些地址上反复消耗時間。
日誌里先看這几列
日誌字段很多,初期不必全看,先盯住能直接說明問题的几列:
- 訪問的 URL 路径:能看出蜘蛛是在逛栏目、翻分頁,還是被一堆參數地址牵着走。
- 狀態碼:200、301、302、404、410、5xx 各自的占比。大量 3xx 說明地址變体太多,大量 4xx 說明站内還在引用死鏈。
- 蜘蛛标识(User-Agent):区分不同搜尋引擎,也顺便看看有没有伪装成蜘蛛的采集器。
- 响應時間:單個請求拖到几秒以上,蜘蛛通常會主動降低訪問频率。
- 同一 URL 的訪問频次:一個更新很少的頁面被天天抓,通常說明它占據了不该占的配額。
三種常见的抓取模式
只围着入口頁打轉
日誌里翻来覆去就是首頁、几個栏目頁和热门文章頁,深處的頁面几乎没出現過。這多半不是蜘蛛懒,而是站内連結没有给它一條能走進去的路:深頁只靠搜尋框、篩選器或者 JavaScript 触發的跳轉才能到達,連結本身没有出現在 HTML 里。此时该做的是补内鏈、做几個聚合入口,而不是繼續提交 sitemap。
反复回訪同一批老頁面
一批數月没動過的頁面每天都被抓,而新上线的頁面迟迟不见影子。老頁面權重高、連結多,蜘蛛自然會優先回訪。可以观察這些頁面是不是真的需要那么高频回訪,同时给新頁面更强的入口位置,让新地址出現在蜘蛛已经熟悉的那几條路径上。
掉進參數頁和無意义地址
篩選、排序、會话 ID、跟踪參數,凡是由用戶操作生成的地址,都容易被蜘蛛一路点下去。日誌里如果同一個内容以几十種參數形式被反复請求,說明抓取预算正在被稀释。常见的處理方式是用 robots.txt 屏蔽無意义的參數组合,或者让這些地址預設返回 noindex,只保留規范版本可被抓取。
從日誌到改動,可以按這個顺序做
- 先統計一周内被抓取的 URL 總量,以及其中 200 狀態碼的比例。
- 把被抓取最多的前二十個地址列出来,逐個判断:它值得被這么频繁地抓吗?
- 把新上线頁面列出来,看它們在被抓取的列表里排在第几梯队。
- 對比 sitemap 里的地址和實际被抓的地址,差額往往就是發現鏈路的問题所在。
- 改動只做一两類,隔一周再看日誌,確認行為有没有變化。
日誌给的是线索,不是结论。一次抓取異常可能只是临时波動,只有连續几次观察都指向同一個模式,才值得動手改结构。
日誌之外還要對照的两样東西
一是搜尋控制台里的抓取統計和索引狀態,日誌看到的是請求,控制台看到的是搜尋引擎自己認定的结果,两者對不上时通常更有價值。二是站内自身的更新记錄:哪些頁面是這周新寫的、哪些是改過标题和正文的。把更新時間和抓取時間叠在一起看,就能大致判断一次改動大概多久能被重新訪問。
收錄快慢很大程度上取决于蜘蛛愿不愿意把時間花在你真正在意的頁面上。日誌是少數能直接观察這件事的工具,成本不高,只是需要养成隔段時間翻一翻的习惯。