网站收录

全站 URL 太多看不过来:收录核对先按模板分层抽样

大站做收录核对时,逐个 URL 检查并不现实,只看总量又容易被首页和热门页掩盖问题。本文给出一套分层抽样的做法:先按页面模板、链接深度和更新频率给全站地址分层,每层抽固定数量的样本做核对,把结果记成一张可对比的表,再根据层与层之间的差距判断问题出在哪一类页面,最后把抽样变成固定动作。

网站收录

全站 URL 太多看不过来:收录核对先按模板分层抽样

站点一大,收录核对就变成一件做不完的事。几十万条 URL 逐个查并不现实,于是很多人退回到两个偷懒的做法:看索引覆盖报告的总量曲线,或者抽查首页和几个热门详情页,然后推断全站情况。这两种做法漏掉的问题往往是一致的——出问题的常常不是首页和最热的那几页,而是模板批量生成的列表页、分页、聚合页和深层详情页。

更可行的方式是把全站 URL 先分层,再做抽样核对。抽样不是为了省事,它的目的是先回答一个问题:是哪一类页面在拖后腿。

为什么按分层抽样,而不是随机抽

收录率的高低,主要受页面模板和链接位置影响,而不是随机分布。随机抽 100 条地址,如果站内多数是详情页,抽出来的样本也会以详情页为主,列表页、分页这类占比不高但问题集中的类型几乎抽不到。分层抽样的作用,是保证每一类页面都有固定数量的样本。

第一层:按页面模板分

先对着站点的 URL 结构,把地址归到几个稳定的模板里,例如:

  • 首页与一级频道页
  • 栏目、列表页
  • 内容详情页
  • 标签、专题、聚合页
  • 分页与筛选结果页
  • 站内搜索、用户中心等工具型页面
  • 多语言版本或分站入口

每一类至少抽 20 到 30 条地址。数量太少,一两条异常就能把整层的结论带偏。

第二层:按从入口到页面的距离分

同一个模板,放在首页直连的位置和放在第三、第四层链接后面,被抓取的节奏往往差很多。可以在每层模板里再按首页直达、两级以内、三级以上分一下,看看收录情况是不是随着距离变远而明显下降。如果下降很陡,问题多半在链接结构,而不是页面内容本身。

第三层:按更新频率分

长期不更新的页面和每天有新内容的页面,抓取节奏本来就不一样。把样本按每日更新、每周更新、基本不更新再标一遍,能避免把“更新慢所以抓得慢”误判成“页面有问题”。

抽样结果记成一张表

建议每个样本至少记录下面几项,字段固定,方便下次对比:

  1. 样本 URL 与所属模板
  2. 链接深度(从首页点几次能到)
  3. 它是否应该被收录(有些页面本来就不该进索引)
  4. 目前能否在索引里查到
  5. 最近一次被抓取的时间
  6. 备注:参数、canonical 指向、是否被 robots 规则挡住等

拿到表之后先看哪里

先看层与层之间的差距,再看层内部的差异。某一层的收录率整体偏低,通常说明这一层的模板或规则有问题,比如地址带参数、内容过于稀薄、主内容被模板挤占、canonical 指向了别的地址。如果某一层整体正常,只有个别地址不对,那更可能是单页问题,不必动整层策略。

还要注意区分抓取和收录:日志里有抓取记录,只说明蜘蛛来过,不代表页面进了索引;反过来,索引里还留着某个地址,也可能只是还没更新,不代表当前还能正常访问。

几个容易被忽略的误区

  • 把索引覆盖报告的总量当成收录健康度,忽略结构变化
  • 只看一次抽样结果,不看它随时间怎么变
  • 把某一层的结论直接套到单个页面上
  • 把“没被抓取”和“抓了没收录”混在一起讨论
抽样核对的价值不在于替代全量,而在于先把问题定位到某一类页面,再决定要不要为这一层做定向的全量比对。

最后,把这件事变成固定动作:大改版后跑一次,日常每月跑一次,结论记录下来。层与层之间的比例变化,往往比单次的绝对数字更有参考价值。