站点规模一上来,标签页、聚合页、筛选列表这类由模板自动生成的地址会成倍增长。它们内容高度相似,却常常挂着站内入口,蜘蛛很容易一路走进去,把时间花在近似页面上。这篇聊的是怎么判断哪些该让蜘蛛继续走,哪些该在入口处收住。
先判断:这类页面有没有独立价值
不要按页面类型一刀切,按它实际提供的信息判断。可以问三个问题:
- 有没有独立内容:除了列表本身,是否有说明文字、筛选逻辑带来的差异化结果?
- 有没有稳定需求:这个组合词是否真有人会搜,还是只是站内导航的副产品?
- 数量是否可控:是可枚举的几十个,还是会随内容增长无限膨胀?
三个问题里有两个答“否”,基本可以归到需要收口的一侧。
该放行的:数量有限、内容有增量的聚合页
核心栏目下的标签页、主题聚合页,如果每个都有少量独立描述,总数也能控制住,通常值得保留抓取。做法上注意几点:
- 入口放在栏目页或相关文章底部,位置固定,不要藏在二级折叠里;
- 每个聚合页给出简短但不重复的说明,避免整页只有标题堆叠;
- 分页保留可抓取的翻页链接,不要只靠“加载更多”按钮;
- 同一组筛选结果只保留一个可索引地址,其余参数组合做规范化处理。
该收口的:无增量、组合爆炸的列表
筛选、排序、站内搜索结果属于典型。它们的共同点是组合数量巨大、单页价值低。收口方式主要有两种,别混用:
- robots.txt 屏蔽:适合完全不需要被抓取的路径,比如站内搜索结果、会话类参数。注意被屏蔽后蜘蛛看不到页面上的 noindex,日后如果解除屏蔽,历史地址可能被重新抓取。
- 页面级 noindex:适合还想让蜘蛛沿链接继续走、但不想让页面进入索引的情况。代价是蜘蛛仍会抓取,会占用一部分抓取量。
常见的组合失误是“内链照留 + robots 屏蔽”:链接还挂在页面上,蜘蛛反复发现却抓不了,日志里堆出一批无意义记录,链接本身也难以起到传递作用。
分页与“查看全部”怎么处理
列表页的分页建议保留真实链接,逐页可达;“查看全部”如果会让单页体积过大,或者内容与分页重复,就只做前端交互,不给独立地址。已经生成过的查看全部地址,用 noindex 或 301 收敛到第一页。
内链上要不要放这些入口
判断标准不是“能不能放”,而是“放了之后蜘蛛会不会走偏”。可以按这个顺序调整:
- 有价值的聚合页:从栏目页和正文相关位置给入口;
- 价值一般的:只从栏目页给一个入口,不进入正文区;
- 无价值的:不给内链,同时用 noindex 或 robots 处理。
上线后的复盘
调整完,看一段时间服务器日志:这些路径的抓取次数是否下降,被抓取的有效内容页是否增加,有没有冒出大量 403 或 404。如果抓取量没有变化,先查是不是还有别的入口在放行,比如移动端模板、RSS 或旧版页面。
这类工作没有一劳永逸的答案,内容结构一变,之前的判断可能就失效了,定期回看比一次设定更实际。