站点运营

站点运营:搜索蜘蛛的URL发现,从分页组件的可抓取性谈起

列表页的翻页链接是内容被发现的主要出口,但用JS渲染、参数不统一或末页空转,都会让这条路径断掉。本文梳理页码链接、加载更多、无限滚动三种形态的抓取差异,以及末页空转、页码过多、canonical指向等常见问题,并给出可落地的检查清单与内链配合思路。

站点运营

站点运营:搜索蜘蛛的URL发现,从分页组件的可抓取性谈起

分页是内容发现的主要通道之一

对内容量较大的站点来说,首页和栏目首页能承载的链接有限,真正把老文章、深层内容暴露出来的,往往是列表页的翻页链接。如果分页组件只服务于「人点得动」,而没考虑「爬虫走得通」,站点的 URL 发现效率就会被压得很低:新内容可能几天就进索引,半年前的旧内容却始终停留在发现不到的状态。

三种分页形态,抓取表现不一样

普通页码链接

形如 ?page=2 或 /list/2.html 的页码,只要写在 a 标签的 href 里,就是最容易被发现的一类。注意两点:一是页码链接要在 HTML 里直接输出,而不是等 JS 执行后拼出来;二是分页参数尽量保持单一风格,不要同一栏目下混用 ?p=、?page=、?pageNum=,否则同一批内容会产生多套分页 URL。

「加载更多」按钮

这种组件通常绑定点击事件,内容是异步拉取的。对用户友好,但对发现并不友好。可行的折中是把按钮做成带 href 的链接,指向对应的下一页 URL,JS 只负责拦截点击做无刷新替换;即使 JS 失效,链接依然可达。

无限滚动

无限滚动本身没有稳定的分页 URL,需要额外提供一套分页兜底,把每屏内容对应的 URL 用普通链接列在页面底部,或者用可访问的分页入口承接。

几个常被忽略的细节

  • 末页空转:页码超出实际范围仍返回 200 和空列表,会制造大量无内容页面,也浪费抓取资源。超出范围应返回 404 或 410,或至少不输出指向更后面的页码链接。
  • 页码输出过多:一次性渲染 1 到 500 的页码,看起来链接丰富,实际会让页面上的链接价值被稀释。常见做法是首尾各几个、当前页附近若干,配合「下一页」链接逐步前进。
  • 分页统一 canonical 到第一页:把第 2 页、第 3 页全部 canonical 到第一页,等于告诉搜索引擎后几页没有独立价值,翻页里的内容链接也会被间接削弱。是否这样做要看内容策略,但至少要意识到这是个取舍。
  • 筛选与排序参数混进分页:带筛选条件的分页 URL 数量容易失控,建议控制可组合的参数范围,避免筛选结果无限制地向外扩散链接。

和站点地图、内链的配合

分页页不必全部提交到站点地图,但结构稳定、内容有价值的重点分页可以提交,作为发现路径的补充。更关键的是内链:栏目页到列表页、列表页到分页、分页到详情,这条链路要逐级可达,不要出现只能靠站内搜索才能到达的列表页。

提醒一句:把分页整理清楚能提升被发现的概率,但不等于收录或排名会立刻变化,索引结果仍由搜索引擎综合判断。

一份可以照着做的检查清单

  1. 翻页链接是否为真实 a 标签,href 是否可直接访问。
  2. 分页 URL 参数是否统一,是否存在多套等价写法。
  3. 超出范围的页码是否返回 404 或 410,而不是 200 空页。
  4. 页面输出的页码数量是否可控,是否保留「下一页」。
  5. 分页页的 canonical 与 robots 设置是否符合内容策略。
  6. 列表页与分页页是否都能从栏目页顺链接走到。

这些改动大多不涉及大改版,只是把现有组件从「能点」调整到「能走」。做完之后,隔一段时间用服务器日志看抓取分布,判断翻页是否真的被走通了,比凭空猜测更有意义。