很多人在判断“收录好不好”时,习惯打开搜索框输入 site 指令,看一眼数字,然后对比一下心里估的页面数。这个做法本身没问题,问题出在两边都不可靠:搜索给出的数字是一个大致范围,而心里估的那个页面数,通常既没有覆盖全部 URL,也混进了一堆本来就不该被收录的地址。
为什么“收录少”这个结论经常站不住
收录比例是一个除法。分子是搜索引擎实际建立索引的 URL 数量,分母是站点认为自己有的 URL 数量。分子不好精确获取,分母又常常是拍脑袋想出来的,两个不准确的数字相除,得出的结论自然只能当参考,不能当依据。更麻烦的是,分母里如果混着一批本来就应该被排除的 URL,比例会被永久压低,你会一直以为有问题,其实只是口径算错了。
第一步:把分母确定下来
分母的目标不是“网站一共有多少条数据”,而是“网站对外暴露了多少个可访问的 URL”。这两者经常不一致,可以从三个来源交叉比对。
sitemap
这是最直接的来源,尤其适合内容型站点。注意 sitemap 里应该只放你希望被收录的规范 URL,如果里面本来就有重复和参数变体,那它就不能直接当分母用。
内容后台或数据库
文章、商品、分类各有各的表。把每类内容的主键数量加起来,再乘以每类对应的 URL 形态数量(比如一篇内容同时有详情页和打印页,就是两种形态),能拿到一个接近真实的分母。
服务器日志与站内链接抓取
日志能告诉你搜索引擎实际请求过哪些路径,往往比你登记的还多,多出来的那部分通常就是参数、大小写或历史遗留地址。用一个简单的站内爬取工具从首页出发也能得到一份 URL 清单,和上面两份对一下,差集往往就是问题所在。
第二步:把不该进分母的 URL 剔掉
这一步决定了比例是否可信。以下几类通常不该计入:
- 已经被 robots.txt 屏蔽或设置了 noindex 的页面,这些本来就不会进索引。
- 筛选、排序、分页参数产生的组合地址,大部分属于同一内容的不同视图。
- 站内搜索结果页、内部跳转页、测试和预览地址。
- 返回 404、410、5xx 的历史 URL。
- 带跟踪参数的推广链接。
- 与规范页内容高度重复的镜像版本(www 与非 www、http 与 https 混用的残留)。
剔完之后剩下的,才是“值得被收录”的候选集合,这才是合理的分母。
第三步:按类型看,而不是看总数
一个笼统的百分比说明不了什么。更实用的做法是按页面类型分组:文章详情页、分类页、标签页、商品页、帮助文档页,各自算一遍。常见的情况是详情页收录正常,而分类和标签页大面积没进索引——这时候要讨论的是聚合页该不该放开收录,而不是笼统地说“网站收录差”。
如果某个类型长期接近零收录,先怀疑这个类型的设计是否有意避开了索引,而不是立刻归因于抓取不足。
几个容易踩的坑
- 把 site 指令的数字当精确值。它只反映一个大致的量级,不同时间查询也会波动。
- 把“被抓取”当成“被收录”。日志里有请求记录,只能说明蜘蛛来过。
- 忽略新建页面需要时间。刚发布的 URL 出现在索引里本来就有延迟。
- 分母里塞进大量低价值 URL,然后长期为这个比例焦虑。
一份可执行的检查顺序
- 导出 sitemap 里的全部 URL,作为基础清单。
- 用日志补充清单,标出 sitemap 里没有但被请求过的地址。
- 按上述规则逐条剔除不该计入的 URL。
- 把剩下的 URL 按页面类型打标签分组。
- 对每个类型抽样查看索引状态,而不是只看一个总数。
- 对长期未收录的组,单独排查是抓取、索引还是页面本身的问题。
把分母算清之后,你会发现很多“收录问题”其实是统计口径问题。真正的排查工作,应该从一份干净、分类明确的 URL 清单开始。