很多站点在查收录时都会遇到这样的情况:栏目第 2 页、第 3 页甚至第 20 页都被收录了,真正想推的详情页却一直停在“已发现”或者“已抓取,尚未编入索引”。分页链接本身并不“坏”,问题通常出在数量、入口和差异度上——它们把抓取机会和索引名额占掉了,而分页页面对搜索用户的价值往往有限。
先判断:这类分页有没有独立检索价值
不要把“分页”当成一个整体来处理,先按下面的标准分一分:
- 有独立需求的:每一页的标题、描述和内容组合都不同,能独立回答某类查询的分页,值得保留。
- 没独立需求的:只是把同一批内容按时间或 ID 切段的翻页,第 5 页和第 6 页除了顺序外没有差别,这类页面基本不需要出现在索引里。
- 纯导航型的:论坛、评论、相册的翻页,多数属于这一类。
为什么分页容易被大量收录
常见原因有三个,按出现频率排序:
- 入口太多太密。列表底部一次放出 10 个页码链接,再加上“下一页”“尾页”,一个栏目就能产生十几条可抓取入口。
- 模板相似、差异极小。翻页页面的正文区只换了几条条目,标题往往只有一个数字之差。
- URL 形态不统一。同一份列表可能同时存在 ?page=2、/page/2/、?p=2 几套地址,等于把分页数量翻了几倍。
注意最后一点,它带来的问题不是“多收录了几页”,而是抓取和索引被分散到了同一批内容的不同地址上。
处理顺序:从收口入口到收敛索引
第一步:统一分页 URL 形态
同一个列表只保留一种分页写法,其余写法通过 301 归并到保留的那一种。这一步不做,后面的判断都会受到干扰。
第二步:检查 sitemap 与站内链接
把分页 URL 从 sitemap 里清出去,让 sitemap 只承担“希望被索引的页面”的职责。同时检查列表页底部的页码链接:是否需要一次展示 10 个页码,还是只保留上一页、下一页和首尾页即可。
第三步:决定“保留还是收敛”
- 对无独立价值的分页,页面上加 noindex, follow,保留链接可抓取,但不进入索引。
- 如果分页只是同一内容的切段,也可以考虑把它们全部规范化到主列表页。但要清楚代价:canonical 指向第一页后,后面几页的内容不会再作为独立页面参与索引。
- 确实有独立价值的分页,保留并让它的标题、描述能反映当前页的内容范围。
canonical 指回第一页并不是万能解法。当后页包含大量第一页没有的条目时,这样做等于主动放弃这些条目被单独发现的机会。先用“有没有独立需求”回答,再决定要不要指。
第四步:处理 JS 加载和滚动加载的列表
如果列表是通过无限滚动或按钮加载的,要确认后加载的内容有没有对应的可抓取 URL。没有的话,这部分内容对搜索而言等于不存在;有的话,按上面的规则同样处理。
第五步:观察并复查
改动后不要只看一两天,比较合理的是两到四周后复查:
- 抓取统计里,分页 URL 的抓取比例是否下降;
- 详情页的“已发现”数量有没有减少;
- 站点整体收录总量下降,但有效页面的收录比例上升,属于正常现象,不必急着回滚。
几个容易踩的坑
- 给分页加了 noindex,却忘了把页内链接保留为可抓取,结果详情页的入口被切断。
- 分页 URL 做了 301,但站内链接和 sitemap 里还是旧地址,导致每次抓取都多一跳。
- 把脚本生成的参数化分页地址也当成正常分页保留,等于给自己制造了一批近重复地址。
分页处理的核心不是“砍掉多少页”,而是让抓取和索引集中在真正有独立价值的地址上。先收口 URL 形态,再判断价值,最后才动 noindex 和 canonical;顺序反过来做,很容易把详情页的入口一起弄丢。