当筛选参数可以任意排列组合,有效地址集合不能靠穷举定义,而要靠“可索引维度”定义:只保留会改变主体内容、且用户会单独检索的参数组合,其余一律归入一个规范地址或直接屏蔽抓取。下面用一个假设情境把判断过程拆开。
假设一个房源站,列表页支持城市、区域、价格区间、户型、朝向、楼层、排序方式、每页条数、来源渠道九类参数。每个参数又有若干取值,组合起来理论上超过三万条地址。站长已经提交了站点地图、也做过内链,但抓取量上不去,新上架房源迟迟不进索引。
问题不在“提交得不够多”,而在于有效地址集合没有被定义清楚:三万条里绝大多数是同一批房源的不同排列,百度没有必要为它们各建一条索引。此时继续增加提交量,只会让真正有价值的地址被稀释。
定义有效集合的第一步,是给每个参数归类,而不是给每条地址归类。
归类之后,规则就明确了:内容型参数可以进入有效集合,排列型和追踪型参数不进入,统一指向不带这些参数的规范地址。
内容型参数也不是全部都要收录。仍用上面的假设:城市有 20 个,区域平均每个城市 8 个,价格区间 6 档,户型 5 种。全组合仍然过大,而且长尾组合往往只有一两条房源,页面价值极低。
可行的做法是设一条下限:某个参数组合对应的结果数量低于阈值时,不生成独立可索引地址,而是归并到上一级。例如“某城市 + 某区域 + 某价格档 + 某户型”只剩两条房源,就让该地址指向“某城市 + 某区域”的页面,并说明当前筛选条件下结果较少。
这个动作会直接影响下一步:可索引地址数量从数万降到几百到几千,站点地图和内链只需要覆盖这批地址,抓取预算集中到真正有内容的页面上。
需要分清两种手段的边界。robots.txt 的抓取限制不等于可靠的索引移除:被禁止抓取的地址如果已被其他页面链接,仍可能以无摘要形式出现在结果里。因此对排列型、追踪型参数,更稳妥的是让这些地址在服务端就返回指向规范地址的信号,而不是只靠禁止抓取。
具体分工可以这样安排:
这样处理后,有效地址集合的定义就落在服务端逻辑里,而不是靠事后提交去补救。
站点地图不保证收录,它的作用是告诉引擎哪些地址是你认可的。如果站点地图里混进了排列型参数地址,等于把定义工作又交回给了引擎,前面设的规则就白做了。
因此站点地图应当只包含通过下限检验的内容型组合,并且数量与页面实际可访问的结果一致。假设站点地图里保留 800 条地址,那么抓取反馈应当围绕这 800 条来观察;如果发现大量抓取仍落在被归并的地址上,说明内链或规范信号还有遗漏,需要回到上一步检查,而不是继续往地图里加地址。
把上面的过程压缩成一条决策链:先按参数作用分类,再给内容型参数设结果数量下限,然后用服务端跳转和规范标签分别处理追踪型与排列型,最后只把通过检验的地址写进站点地图和内链。每一步的结果都会改变下一步的输入——分类决定哪些参数有资格进入集合,下限决定集合的实际大小,而集合大小又决定站点地图和内链该覆盖多少地址。参数组合可以无限增长,但有效地址集合必须是一个有限、可解释、可复查的清单,这正是加速收录的前提。