排查收錄問题时,很多人第一反應是「抓取不够」或者「頁面质量不行」,却很少回头看更前面的一步:這條 URL 究竟是怎么被發現的。發現、抓取、索引是三件獨立的事。發現渠道如果只是在反复投喂同一批老地址,抓取日誌看起来很热闹,新地址的實际增量可能接近于零。
為什么要把發現渠道單獨量一遍
搜尋蜘蛛的抓取资源是有限的。同一個站点,每天能承受的抓取次數大致在某個区間内波動。如果這些次數大多落在已经抓過很多遍的地址上,新頁面自然排不上队。
問题在于,從日誌表面看不出来。日誌里全是 200 狀態碼的正常抓取,你很难判断這一轮抓的是新地址還是老面孔。只有把「發現」這一层拆出来,才知道资源被谁占了。
常见的几類發現渠道
一個正常运营的站点,URL 被發現通常来自這几條路:
- 站内連結:新頁面挂上導航、列表頁、相關推荐後,被顺着連結爬到。這是最稳定的一條。
- XML sitemap:周期性提交或自動更新,适合批量告知,但不保證被抓。
- 主動提交接口:單條或批量推送,适合时效性内容,有配額限制。
- 外鏈與第三方投放:包括各類外鏈资源、蜘蛛池類服務。它們更多影响的是「這條地址被訪問過多少次」,而不是「有多少條新地址被带進来」。
- 歷史抓取回流:蜘蛛上次抓過的頁面,下次可能會再来看一遍。這條渠道贡献的次數往往最多,但新地址最少。
把這几條混在一起看,得出的结论通常是失真的。
統計时至少看三個數
如果日誌具备基本的可分析條件(能拿到時間、URL、狀態碼、来源頁),可以按下面的顺序取數:
- 發現總量:某條渠道在一段時間内,總計让蜘蛛訪問了多少次。這個數最容易虚高。
- 去重後的獨立 URL 數:去掉重复訪問後,實际覆盖了多少條不同的地址。
- 首次發現的新 URL 數:以站点歷史记錄為基准,标记出這次是第一次被訪問的地址。
三個數一拉出来,渠道成色就清楚了。發現總量很高、獨立 URL 數很低,說明這條渠道在重复投喂;獨立 URL 數不少但新 URL 數很少,說明它带来的都是存量地址,對收錄扩容帮助有限。
重复投喂會带来什么後果
最直接的影响是掩盖問题。渠道报表上數字好看,容易让人誤以為「發現环节没問题,是抓取或者质量的問题」,于是把精力花在改标题、加内容上,而真正该做的是調整入口结构。
其次是占住抓取窗口。同一批地址被反复推送,蜘蛛每次来都撞见熟悉的面孔,新地址被發現的概率就往下走。
建议取一個两到四周的观察期,不要用一两天的資料下结论。新地址從被發現到被抓取,本身就有延迟。
一個简單的落地做法
不必一開始就做复杂的报表,先按渠道拉一張清單,每條渠道记四列:送出或产生的 URL 數、去重後的獨立 URL 數、首次發現的新 URL 數、這些新 URL 在观察期内被抓取的數量。
有了這張表,接下来要做的事就明确了:
- 新 URL 占比高、後續被抓取也正常的渠道,保持节奏,不用額外加碼。
- 新 URL 占比低、重复次數高的渠道,先降频,观察新地址發現速度有没有變化。
- 新 URL 多但一直不抓的,問题可能不在發現,而在頁面本身或站点整体抓取配額,需要另做核對。
顺序上,先看發現,再看抓取,最後才谈收錄和质量。跳過第一步直接谈收錄,很容易在错誤的地方使劲。