站内链接里,指向列表页的链接往往是最多的。首页导航、面包屑、相关推荐、上一页下一页,都会把蜘蛛引向列表型页面。于是很多站点在查看收录情况时会发现,索引里列表页占了不少比例。但「被抓到」和「该留在索引里」是两件事,列表页要不要收录,需要按类型分别判断。
列表页为什么容易进入索引
列表页通常有三个特征:入口多、更新频繁、链接数量大。蜘蛛顺着站内链接走,列表页属于最先被访问的一批 URL;新内容上线时列表页会跟着变化,蜘蛛回访的间隔也相对短。结果是列表页被收录的概率并不低。
问题在于,收录数量上升不等于有效页面变多。如果列表页只是把标题和摘要重复罗列一遍,它在索引里能提供的信息有限,还可能和正文页争同一个查询词。
三种列表页,要分开看
栏目页:多数情况下值得保留
栏目页对应的是一个稳定的内容分类,有明确的主题和固定的 URL。它可以承载分类词、频道词的检索需求,也是蜘蛛发现新内容的常用入口。值得做的是:给栏目页一个独立的标题和一段不与其他页面重复的说明文字,让它在索引里不只是一串链接。
标签页:数量要控制
标签页的问题不在形式,而在数量。如果一个站每个词都自动生成标签页,很容易出现几百上千个内容稀少、彼此高度相似的页面。这类页面多了,抓取会被分散,索引里的整体质量也会被拉低。可行的做法是:只保留有检索需求、且能聚合出足够内容的标签,其余用 noindex 或 robots 挡在索引外。
分页:第 2 页以后通常不作为落地页
分页是内容列表的延续,本身没有独立主题,用户落到第二页也找不到完整内容。常见的处理是让第一页保留在索引里,后续分页用 canonical 指回第一页,或者不收录。但不必图省事把整组分页都屏蔽,分页链接对蜘蛛遍历深层内容仍然有用,屏蔽掉反而可能让内容更难被发现。
判断一个列表页该不该收录
与其按类型一刀切,不如问几个具体问题:
- 这个列表页有没有对应的检索需求,还是只是为了站内导航存在?
- 页面上的内容,是不是正文页信息的简单重复?
- 它有没有独立的标题和说明文字,还是只有标题加链接?
- 它和站内其他列表页,是否高度相似?
- 它被收录后,会不会抢占正文页的内链入口?
前三个问题偏向「值不值得收录」,后两个偏向「会不会造成负担」。如果答案大多偏向否定,就该考虑收敛这类页面。
几种处理方式,作用并不一样
- robots.txt:阻止抓取,但已经收录的页面不会因此立刻消失,而且被屏蔽后蜘蛛看不到页面上的 noindex。
- noindex:让页面退出索引,前提是蜘蛛能正常抓到它。
- canonical:把索引信号指向主版本,适合分页和带参数的列表页。
- 调整内链:减少列表页入口,把站内链接更多指向正文页。
需要留意的是,noindex 和 robots 混用时容易互相抵消:robots 阻止抓取,蜘蛛就看不到 noindex。分页或标签页要退出索引,优先考虑 canonical 或 noindex,而不是直接屏蔽抓取。
别让列表页吃掉正文页的资源
蜘蛛在站内的抓取是有节奏的。列表页链接多、层级浅,很容易成为主要抓取对象。如果列表页铺得太多,正文页的抓取频率和回访间隔就会受影响。一个简单的检查方法是看服务器日志:统计蜘蛛对列表页和正文页的访问比例,如果列表页占了大多数,而正文页更新后长期不见回访,就该收紧列表页的数量和入口。
上线前可以过一遍的检查
- 新增的列表页是否有独立主题和说明文字。
- 标签页是否只保留有需求、有内容的那部分。
- 分页是否用 canonical 或 noindex 处理,且与 robots 规则不冲突。
- 列表页的链接是否分散了通往正文页的入口。
- 上线后观察日志,看列表页与正文页的抓取比例。
列表页是站点结构的一部分,不必全部赶出索引,也不适合全部放行。按检索需求、内容重复度和它对正文页的影响做取舍,比统一屏蔽或统一保留更稳妥。