站内搜索页、筛选页、排序组合页,是很多站点收录结构里最容易被忽略的一类 URL。它们往往不是编辑主动创建的,而是用户点一次筛选、输一个关键词就生成一条新地址。蜘蛛顺着内链爬几轮,这类地址就会成批出现在抓取日志和索引里。
为什么这类页面总是先被爬走
原因通常有三个。一是入口太浅,筛选按钮、热门搜索词、标签云常常放在所有页面都能看到的公共区域,等于给每个页面都加了一条通向无限参数组合的出口。二是链接稳定,同一个筛选条件每次都生成同样的 URL,蜘蛛第二次、第三次访问都能正常打开,自然被当成正常页面。三是内容看着有货,列表里确实带出了十几条标题和摘要,从纯文本角度看不算空页面。
结果是:真正需要被抓取和评估的栏目页、详情页还没被完整处理,筛选组合页已经先占掉了抓取额度。
先判断:哪些需要处理
- 有保留价值的:有稳定需求、内容能覆盖一定数量条目的品类筛选页,通常不需要急着清理。
- 可以存在但不该被收录的:用户输入型搜索结果页,内容随关键词变化,主要服务站内访客。
- 应当切断的:多参数自由组合、排序参数、会话参数、筛选叠加翻页产生的 URL。
判断标准不需要太复杂:这条 URL 是否可能被真实用户搜到,以及它是否在消耗核心页面的抓取机会。两个问题都答否,就属于要收敛的部分。
处理顺序:生成端 → 抓取端 → 索引端
顺序颠倒会白花时间。常见情况是先在 robots.txt 里封了一批路径,过几周发现索引里还在,于是又加 noindex,但 robots 屏蔽后蜘蛛根本读不到 noindex,两边互相抵消。
第一步:从生成端减少数量
能不开的入口就不开。筛选按钮如果只对登录用户展示、或只在用户点击后由前端渲染,蜘蛛就看不到那条链接。排序、视图切换这类参数通常没有独立的检索价值,可以统一到默认视图。用户输入的搜索页建议只保留入口,不保留可被抓取的链接形式。
第二步:在抓取端明确边界
需要完全屏蔽的组合参数,用 robots.txt 拦截;但要注意,被屏蔽的 URL 无法通过 noindex 移除已有索引。如果目标只是不希望新地址继续产生,用 robots;目标是已经收录的要清掉,robots 就不合适。
第三步:再处理已收录部分
对已经进入索引、又确实没有保留价值的 URL,用 noindex 加正常返回,并保证蜘蛛能抓到、能读到这个标签。同时把发现路径断掉:公共区域不再输出这类链接,sitemap 里如果混入了这些地址,一并剔除。
抓取端的屏蔽和索引端的移除是两件事。先把以后不再产生和现在要清掉分开,再决定用哪一层的工具,能少走很多弯路。
几个容易被忽略的点
- 分页与筛选叠加。筛选结果再翻页,URL 会成倍增长,这类地址几乎不会带来搜索流量,优先收敛。
- 空结果页。筛选后没有条目,却返回 200 并展示暂无结果,容易被当成薄页面,建议返回合适的状态或至少加 noindex。
- 内链深度。筛选链接放在页脚、侧栏,等于给全站每个页面增加出链,蜘蛛的抓取重心会被拉到参数页上。
验证与后续监测
调整之后,观察抓取日志里这类 URL 的访问占比是否下降,以及索引量是否逐步回落。索引移除不是即时的,通常要经过几轮重新抓取才生效,中间出现反复属于正常现象。同时留意核心页面的抓取频次有没有回升,这才是这次调整的目的。
最后提醒一点,收录数量本身不是目标。筛选页、搜索页被收录并不等于出问题,关键在于它们是否占用了本应分给核心页面的抓取资源,以及是否在搜索结果里挤占了更该出现的页面。