排查收录问题时,很多人第一反应是「抓取不够」或者「页面质量不行」,却很少回头看更前面的一步:这条 URL 究竟是怎么被发现的。发现、抓取、索引是三件独立的事。发现渠道如果只是在反复投喂同一批老地址,抓取日志看起来很热闹,新地址的实际增量可能接近于零。
为什么要把发现渠道单独量一遍
搜索蜘蛛的抓取资源是有限的。同一个站点,每天能承受的抓取次数大致在某个区间内波动。如果这些次数大多落在已经抓过很多遍的地址上,新页面自然排不上队。
问题在于,从日志表面看不出来。日志里全是 200 状态码的正常抓取,你很难判断这一轮抓的是新地址还是老面孔。只有把「发现」这一层拆出来,才知道资源被谁占了。
常见的几类发现渠道
一个正常运营的站点,URL 被发现通常来自这几条路:
- 站内链接:新页面挂上导航、列表页、相关推荐后,被顺着链接爬到。这是最稳定的一条。
- XML sitemap:周期性提交或自动更新,适合批量告知,但不保证被抓。
- 主动提交接口:单条或批量推送,适合时效性内容,有配额限制。
- 外链与第三方投放:包括各类外链资源、蜘蛛池类服务。它们更多影响的是「这条地址被访问过多少次」,而不是「有多少条新地址被带进来」。
- 历史抓取回流:蜘蛛上次抓过的页面,下次可能会再来看一遍。这条渠道贡献的次数往往最多,但新地址最少。
把这几条混在一起看,得出的结论通常是失真的。
统计时至少看三个数
如果日志具备基本的可分析条件(能拿到时间、URL、状态码、来源页),可以按下面的顺序取数:
- 发现总量:某条渠道在一段时间内,总计让蜘蛛访问了多少次。这个数最容易虚高。
- 去重后的独立 URL 数:去掉重复访问后,实际覆盖了多少条不同的地址。
- 首次发现的新 URL 数:以站点历史记录为基准,标记出这次是第一次被访问的地址。
三个数一拉出来,渠道成色就清楚了。发现总量很高、独立 URL 数很低,说明这条渠道在重复投喂;独立 URL 数不少但新 URL 数很少,说明它带来的都是存量地址,对收录扩容帮助有限。
重复投喂会带来什么后果
最直接的影响是掩盖问题。渠道报表上数字好看,容易让人误以为「发现环节没问题,是抓取或者质量的问题」,于是把精力花在改标题、加内容上,而真正该做的是调整入口结构。
其次是占住抓取窗口。同一批地址被反复推送,蜘蛛每次来都撞见熟悉的面孔,新地址被发现的概率就往下走。
建议取一个两到四周的观察期,不要用一两天的数据下结论。新地址从被发现到被抓取,本身就有延迟。
一个简单的落地做法
不必一开始就做复杂的报表,先按渠道拉一张清单,每条渠道记四列:送出或产生的 URL 数、去重后的独立 URL 数、首次发现的新 URL 数、这些新 URL 在观察期内被抓取的数量。
有了这张表,接下来要做的事就明确了:
- 新 URL 占比高、后续被抓取也正常的渠道,保持节奏,不用额外加码。
- 新 URL 占比低、重复次数高的渠道,先降频,观察新地址发现速度有没有变化。
- 新 URL 多但一直不抓的,问题可能不在发现,而在页面本身或站点整体抓取配额,需要另做核对。
顺序上,先看发现,再看抓取,最后才谈收录和质量。跳过第一步直接谈收录,很容易在错误的地方使劲。