问题出现得很突然,日志倒是留得挺全。固定链接改成 /p/ 之后 主题分页函数还输出 ?paged=2 插件又补了一套 /page/2 伪静态 同一列表页两种地址都能打开且都返回 200 内容一致 收录里两个版本交替出现 索引量虚高 8000 条

刚开始盯着「分页页 canonical 指向第一页 蜘蛛认为都是重复」,折腾了半个多小时,排掉了。

把日志和配置对完,能解释这个现象的基本就这几处。伪静态规则和主题分页函数各生成一套地址 没有统一。也可能是旧版 ?paged= 地址没做 301 一直保留 200。

还有一种情况,sitemap 插件把两种分页都写进了索引文件。

动手时先抽一对分页地址看返回码与 canonical

curl -s 'https://www.example.com/list/page/2' | grep -o 'canonical[^>]*'

再往下把 ?paged= 统一 301 到路径分页

if ($arg_paged) { return 301 /list/page/$arg_paged/; }

随后让主题分页函数只输出路径形式

echo paginate_links(['format' => 'page/%#%/']);

剩下的就是确认 sitemap 里只剩一种分页写法

curl -s https://www.example.com/sitemap.xml | grep -c 'page/'

怎么算真的好了,看的是同一批现象。两种地址只剩一种 另一种全部 301 ?paged= 请求在日志里归零 收录量回落到真实页数。

提醒一点。分页地址只要能打开就会被抓 别指望 canonical 能替你把重复版本按住。如果同一现象隔几天又出现,说明根因没找到,别当偶发处理。

作者 9823189