现场是这样的。列表页做了 9 页分页,模板里 canonical 统一写成了第一页地址。GSC 里第 2 页之后的文章几乎不收录,只有从第一页能点到的那批有展示。

中间走过弯路,把「rel=next/prev 早在几年前就不被支持,无法补救」当成主因,改完现象没变。

把日志和配置对完,能解释这个现象的基本就这几处。canonical 被写死在列表模板里,没有拼 page 参数;分页地址用 ?page=2,canonical 却是无参数地址;内链只从第一页往下,深层文章缺少入口。

上来先抽查第 3 页的 canonical 输出

curl -s 'https://www.example.com/list?page=3' | grep -o '<link rel="canonical"[^>]*>'

接着改成每页自指 canonical

add_filter('wpseo_canonical', function($c){ return $c; });

给分页补上独立的 title 与描述

curl -s 'https://www.example.com/list?page=3' | grep -o '<title>[^<]*'

剩下的就是把深页链接加进 sitemap 或侧栏

grep -c '<loc>' sitemap-list.xml

怎么算真的好了,看的是同一批现象。第 2 到 9 页都能被单独索引,长尾文章收录量增加 3000 多条,列表页的深层点击也有了着陆页。

分页页不是重复内容,canonical 指回第一页等于主动放弃后几页的收录,除非你确实不想让它们进索引。这类问题最好一次改到位,反复小改反而容易把原因搅混。

作者 9823189