列表共四百页,索引报告里第二页往后全部停在已发现但尚未编入索引,只有第一页有稳定排名。
排查方向其实有限,先把可能性排一排。分页链接用脚本加载,蜘蛛拿不到可跟的链接;分页地址的 canonical 被指回第一页;每页条数太多,单页加载超过抓取超时。
第一件事是看分页链接是否为真实链接
curl -s https://www.example.com/list/ | grep -o 'href="[^"]*page[^"]*"' | head
然后确认第二页可直接访问
curl -s 'https://www.example.com/list/page/2/' | grep -c '<article'
修正分页的规范地址
add_filter('wpseo_canonical', function($u){ return is_paged() ? get_pagenum_link() : $u; });
等前面都确认过,再把每页条数降到二十
curl -s 'https://www.example.com/list/page/2/' | grep -c '<article'
白天有业务在跑,能验证的部分都压到了晚上做。
当时还开着另一个排查窗口,两边日志对照着看才定位到。
别只看报错消失,验证要多做一步。第二页直接访问返回 200,日志出现分页地址的抓取,索引里逐渐出现后续页。
分页收录价值有限,但列表页是主要入口时,后面几页不收会丢掉深层文章。同一份配置在测试环境跑通,不代表线上没事,两边的默认值经常不一样。
