很多站点收录量看着不小,翻开来一看,大头是各种列表页和翻页地址:分类页、标签页、归档页、?page=2 一直排到 ?page=87。这些 URL 确实存在,也确实有内容,但对搜索用户的价值往往有限,还会占掉抓取配额和索引空间。分清哪些列表页值得被收录、哪些应该收住,是收录管理里很基础的一步。
列表页和详情页承担的角色不同
详情页回答的是“这个东西是什么”,列表页回答的是“这一类里有哪些东西”。用户搜一个具体问题时,通常落在详情页上;搜一个宽泛词时,列表页才有机会出现。所以列表页不是不能收录,而是要有选择地收录。
值得让搜索引擎收录的列表页,通常具备几个特征:主题稳定、有独立的搜索需求、内容会持续更新、能通过内链被用户找到。反过来,纯粹为了导航而存在的中间层,比如按日期排序的归档、按字母分组的索引,价值就低很多。
翻页 URL 是重复内容的重灾区
第 2 页、第 3 页的内容,往往是第 1 页的延续,页面标题也几乎一样。如果每一页都被单独收录,索引里就会出现大量高度相似的页面。常见的翻页形式有三种,处理方式并不完全相同:
- 参数翻页,如 ?page=2、?paged=2:最容易产生无限组合,也最容易被大量抓取。
- 路径翻页,如 /page/2:结构清晰,但每一页仍是独立 URL。
- 加载更多或无限滚动:用户看到的是同一页,背后可能生成一批地址,需要先确认它会不会产生新的可抓取 URL。
判断该留还是该收住,先问三个问题
- 这一页有没有独立的搜索需求?有人会专门搜“第 3 页”吗?基本没有。
- 这一页的内容和第一页差别有多大?如果只是同一批条目的重新排列,差别就很小。
- 如果它不进索引,会不会影响用户找到详情页?只要详情页有稳定的内链入口,翻页不收录通常不影响发现。
几种常见的处理方式
做法没有唯一答案,关键是整站保持一致,别让同一类页面出现互相矛盾的信号。
- 保留抓取、不保留索引:用 noindex、允许 follow,让爬虫能顺着列表页继续发现详情页,同时不让列表页自己进索引。注意这条路径成立的前提是这些链接没有被 robots.txt 挡住。
- 翻页指向主列表页:如果翻页内容确实只是延续,可以让 canonical 指回主列表页。但要先确认这符合实际内容关系,不要把所有分页都强行指回首页或某个无关页面。
- 参数收口:能合并的参数尽量合并。排序、筛选这类只改变展示顺序的参数,可以让它不生成独立可索引的地址。
- 限制翻页深度:把过深的翻页改成加载更多,而不是持续生成第 50 页、第 51 页这样的地址。
容易踩的几个坑
把整站列表页一刀切地加上 noindex,往往会在几个月后才发现详情页的发现路径也变窄了。列表页是爬虫发现新内容的主要入口之一,收得太狠会伤到自己。
- 用 robots.txt 阻止抓取翻页 URL,同时又期待列表页上的链接被跟进——这两件事本身就是矛盾的。
- 同一类页面一半用 noindex、一半用 canonical,信号不统一,爬虫只能自己判断。
- 只盯着收录数量,不看这些 URL 有没有带来实际访问。收录多不等于有价值。
可以这样落地
先把站点里所有列表型 URL 导出来,按类型分组:分类页、标签页、归档页、站内搜索页、翻页。给每一组写下“是否希望被收录”的决定和理由,再对应到具体实现方式。上线一段时间后抽查一次,看看这些地址在索引里的实际状态和当初的预期是否一致。列表页的收录策略不需要很复杂,但需要明确,并且长期保持一致。