很多站点运营的日常工作围绕正文页展开:选题、排版、发布、更新。相比之下,栏目页、标签页、专题页这些由模板批量生成的聚合页,往往在后台挂着几十上百个,却很少有人回头看一眼。它们结构高度相似,列表内容又经常变动,蜘蛛一旦进入,很容易在大量相似地址之间反复转圈。
这篇文章不讨论怎么去迎合蜘蛛,只聊一件更基础的事:聚合页到底该不该被大量发现,以及怎么让自己的栏目结构把这件事说清楚。
聚合页的问题通常出在哪
聚合页由模板生成,页面主体几乎全是链接。模板化的标题、重复的导语、没有实质描述的列表,会让一批页面在蜘蛛眼里长得几乎一样。再叠加分页、排序、筛选、标签组合,同一批内容可以裂变出成百上千个地址。此时抓取资源被摊薄,真正需要被发现的正文页反而排到了后面。
先给聚合页分个类
动手改之前,建议先把站内所有聚合页列出来,按价值分成三类:
- 有独立价值:栏目本身有明确定位,有导语或说明文字,有稳定的更新节奏,用户会直接点进来浏览。
- 纯导航型:存在的意义主要是把链接归拢在一起,帮助用户和蜘蛛向下走一层,本身没有太多可读内容。
- 空壳型:栏目建了但长期没有内容,或者只有一两条记录,描述文字是模板自动填充的。
分类之后,处理方式就清晰了:第一类值得被正常抓取,第二类需要控制抓取深度和数量,第三类通常应该先清理,而不是急着让蜘蛛来发现。
空栏目和长期不更新的列表
空栏目最容易被忽视,因为它不报错、不返回 404,看起来一切正常。但对蜘蛛来说,一个点进去什么都没有的列表页,价值和软 404 差不多。如果栏目短期内确实没有内容,比较稳妥的做法是先不上线,或者暂时从导航和 Sitemap 中拿掉,等内容积累起来再开放。
还有一种情况是老栏目内容被清空或迁移走了,页面还留在原处。这类页面要么补上替代内容,要么做好跳转或下线处理,不要让它长期空转。
分页、排序与筛选参数
带参数的列表页通常是最容易失控的部分。分页、排序、价格区间、颜色尺寸、多条件组合,很容易生成大量内容几乎相同的地址。建议在站内先明确几条规则:
- 分页保留可抓取,但只在页面内提供「上一页/下一页」这类线性入口,不要把几十上百个页码一次性铺在页面上。
- 排序、筛选类参数尽量不单独生成可被收录的地址,或用 noindex 明确表态。
- 筛选组合页如果有真实的搜索需求,可以保留少量高价值组合,其余交给站内搜索承接。
noindex、canonical 与 robots.txt 的选择
处理聚合页时,这三种手段经常被混用,效果差别很大:
- noindex:适合确实不需要出现在搜索结果里的列表页,比如排序页、筛选结果页。注意它需要页面能被抓取到才能生效,用 robots.txt 屏蔽后再加 noindex 往往无效。
- canonical:适合内容确实重复、但用户需要通过不同入口访问的页面,指向那个主版本地址。
- robots.txt:适合批量屏蔽参数组合这类量大且无价值的地址,但它只控制抓取,不控制收录。
三者不要互相打架。常见错误就是一边用 robots.txt 挡住抓取,一边在页面里写 noindex,结果两边都没达到预期。
让聚合页自己也有点内容
如果希望某个栏目页被正常抓取,最省事的做法是给它一点真实内容。一段说明这个栏目收录范围、更新频率的导语;几条编辑挑选的推荐;每个列表项带一句摘要而不是只有一个标题——这些都能让页面和其他列表区分开。差异不需要很大,但要有。
一份可以照着做的自查清单
- 站内所有聚合页是否已列出,并标注了类型和价值。
- 是否存在长期空白的栏目、标签页,是否已清理或暂时下线。
- 分页是否可控,页面内是否出现几十上百个页码链接。
- 排序、筛选、标签组合参数是否设置了明确的处理规则。
- noindex、canonical、robots.txt 三者是否策略一致,没有互相冲突。
- 重点栏目是否有导语、说明或人工推荐内容。
- 导航和面包屑指向的栏目,是否就是希望优先被抓取的那几个。
聚合页不是越多越好,也不是一律屏蔽。关键是把有限的抓取机会,留在那些真正能代表站点价值的页面上。
栏目结构是站点长期运营的骨架,一次梳理不需要改动太多东西,但能避免大量重复列表在后台悄悄消耗抓取资源。建议每隔一段时间回来看一次,尤其是新增栏目和站点改版之后。