把目标 URL 摊在多个分页上很常见:首页只做引导,每页放几十条,再靠“下一页”一路往后。但搜索蜘蛛并不会自动翻完所有分页,它翻到第几页、要不要继续,取决于链接结构、抓取预算和每一页的表现。
搜索蜘蛛是怎么“翻页”的
搜索引擎心里没有一份全局的“分页清单”。它发现第 2 页的途径通常是:第 1 页上有指向第 2 页的链接,或者像“下一页”这样的锚文本链接。抓到第 2 页后,再顺着里面的链接找到第 3 页,一层层往后。
所以分页本质上是链式发现:只要中间某一页没被抓、抓失败了,或者链接写成了搜索蜘蛛跟不到的形式,后面的页面就一起断链。
哪些情况会让它停在前面几页
- 抓取预算有限:入口页整体权重低、历史抓取频次低时,搜索蜘蛛往往只按时抓前几页,靠后的分页排不上队。
- 分页链接由 JS 生成:点“下一页”才用脚本加载新内容,链接本身不在 HTML 里,搜索蜘蛛基本看不到后续页。
- 分页地址带一堆参数:?page=2&t=xxx 这类地址如果每次访问都不一样,容易被当成新 URL,反而消耗抓取预算。
- 深层页面内容几乎一样:每页只有几条链接、彼此没有区别,搜索蜘蛛判断价值不高,往后翻的动力更弱。
- 中间某一页返回 404、403、5xx 或超时:链子断了,后面的分页可能长期不被发现。
想让后面的分页也有机会,可以做的几件事
- 让每一页都能从入口页直接点到,而不是只有“下一页”。比如第 1 页底部列出第 2、3、4…页的链接。
- 控制分页数量和单页链接数,别把几千条拆成几百页,那等于人为拉长抓取路径。
- 分页链接用普通的 <a href>,不要用 JS 点击事件,不要加 rel="nofollow",也别放在 iframe 或图片里。
- 保证每一页都能正常返回 200,响应稳定、快速。
- 把分页地址同时放进 sitemap,作为链接发现之外的补充通道。
- 如果必须分页,尽量把最重要的目标 URL 放在前几页。
分页做深并不等于“多铺几条路”。路径每多一层,后面的 URL 被发现和抓取的概率就低一截。
几个常见误区
1. 以为分页做了就会被抓完
分页只是给搜索蜘蛛提供了入口,抓不抓、抓多少,由它自己决定。分页数量越多、单页价值越低,靠后的页面越可能长期不被访问。
2. 用 rel="canonical" 指向第一页来“集中权重”
这个做法更多影响索引层面的判断,并不能加速后续分页的发现。处理不当还可能让搜索蜘蛛把分页视为重复内容,降低继续抓取分页的意愿。分页场景更稳妥的做法,是让每一页都有独立、可正常访问的地址。
3. 只盯着总抓取量,不看被抓的是哪一页
在日志里看看搜索蜘蛛实际访问到了第几页、哪些分页从来没出现过,通常比只看总数更有用。
最后提醒:本文讲的是抓取和发现的常见规律,不同搜索引擎、不同站点的表现差别很大,也不存在“分页一定会被抓完”的保证。入口页做得浅一点、结构清楚一点,通常比把链接摊成几十页更容易被搜索蜘蛛走完。