跳至正文
WordPress 与 WooCommerce · Google SEO

WooCommerce 分类页的分页与 URL 怎么处理

// / / 光算科技

分类页的分页 URL 出问题,症状通常不是"页面没收录",而是同一个列表被切成好几份互相重复的地址,Google 每抓一次都要重新判断一次。要处理对,先问自己一句:第二页是同一个列表的另一段,还是另一个内容实体?官方把前者当成分页序列,把后者当成独立页面,两种情况的处理方式完全不同。

判断点示意:分类页第 2 页的独立 URL、自引用 canonical 与顺序链接三者缺一不可
原创示意:图中为分类页分页 URL 的三项判断点与核对顺序,不是真实后台截图或数据。

分页序列的官方口径

Google 关于分页与增量加载的说明把要求写成了可执行的几条:序列里每一页都要有自己的 URL(官方举例用 ?page=n 这样的查询参数,因为分页序列里的页面会被当成各自独立的页面);不要把序列的第一页当成整组的规范页,每页都应有自己的 canonical;不要用 # 后面的片段表示页码,官方会忽略片段标识符,只靠片段区分的下一页链接有可能不被跟随;用 <a href> 把每页链到下一页,可以考虑再从序列里任意一页链回第一页;对分页序列里的页面,标题与描述可以不区分,官方会自行识别并索引这一串页面。

还有一条容易被忽略的收尾条件:Google 抓取时主要跟随 <a href> 里的地址,不会去点按钮、也不会主动触发需要用户操作的脚本;这类交互内容最好同时配一份站点地图或商品数据源,让爬虫有第二条发现路径。

URL 层面还要守的另外几条

Google 的电商 URL 结构设计指南补了几条通用要求:尽量减少返回同样内容的替代 URL 数量;分页结果的每一页都要有唯一 URL,并明确写了"我们看到最多的分页 URL 结构错误就在这里";查询参数尽量写成 ?key=value 而不是光秃秃的 ?value;路径里尽量带描述性词语。同一篇还给了自引用 canonical 的用法——在所有可索引页面上都放一个指向当前页的 canonical,并把这些 URL 放进站点地图。

需要合并 URL 家族时,Google 关于规范 URL 的说明按影响力从强到弱排了四种手段:重定向最强,其次是 rel="canonical" 标注,站点地图收录最弱。这些手段可以叠加。同一篇还专门提醒:不要用 robots.txt 做规范合并(被它挡住的 URL 仍可能被收录,只是看不到内容),也不要用移除工具顶替 canonical。

这套做法什么时候不适用

分页处理只针对"同一列表被切开"的情况。几种例外值得单独拿出来:

  • 分类页已经空了。官方在同一篇 URL 结构指南里写明:不要链接到、或至少不要索引没有可用内容的页面;分类没有商品时用 noindex,如果分类已经从站内搜索和导航中移除,官方建议考虑返回 404 状态码。
  • 排序与筛选不是分页。官方把"带筛选条件或备选排序的 URL"单列为需要避免索引的类别,处理方式见站内另一篇关于筛选参数的讨论。
  • 按货币或语言切换的地址。这属于多语言与多地区的版本管理,不是列表分页,官方另有专门要求。

在 WordPress 上怎么落地

落地时的关键不在具体路径形态,而在三处一致。WordPress 开发者资源把 API 文档按章节归集,开发者资源里的 API 手册索引里就列着 Rewrite、Metadata、Transients 等章节,固定链接与重写规则属于其中 Rewrite 那一章——需要改分页地址形态时,改的是这一层的规则,而不是主题模板里的链接。官方文档同样不承诺任何排名效果,规则怎么写是工程问题,效果判断要看下面的验证步骤。

  1. 内链、站点地图、canonical 三处用同一个 URL 形态。默认第一页就是不带参数的地址,就要全站都不带;反过来如果全站都带 ?page=1,那就一致地带。
  2. 分类页底部或顶部的"下一页"必须是真实链接,主题不能用脚本伪造。
  3. 不要用 rel="next" 与 rel="prev" 表达页序关系——官方已说明不再使用这两个标签,虽然其他搜索引擎可能仍在读。
  4. 站内链接的规划角度,可参考什么是 hub 页:它承担什么任务与电商分类页怎么拿外链两篇。

怎么验证分页处理有没有生效

验证分页最省事的办法是拿三四个代表性 URL 直接看返回内容与标记:

检查点期望看到什么不对时先怀疑哪里
第 2 页是否返回 200 且商品与第 1 页不同两页商品集合不重叠主题分页没接上,改的是页面而不是地址
第 2 页的 canonical指向第 2 页自己被全局规则统一写成了第一页
第 1 页的 canonical指向第 1 页自己同上
分页链接的标签真实 <a href>用了脚本事件或按钮
站点地图里是否有分页地址只列第一页即可,不列分页把所有分页都塞进站点地图

落到工具上,Search Console 的三份报告最直接:网址检查工具看单个 URL 的索引状态与实际抓到的版本,覆盖情况报告看整站哪些页被排除及其原因,性能报告看这些地址在查询里的曝光与点击。改完之后给抓取留出时间,官方提醒新页面被找到和抓取可能要几天。如果分类页的加载本身偏慢,WordPress SEO 与性能优化那篇工具说明里已经列过排查顺序,可以先按那份清单确认不是速度问题伪装成分页问题。如果抽查发现问题来自排序或筛选参数,就转到筛选参数 URL 的处理方法继续排查。