站内搜索的分页没有上限,一个热门词能翻到四十多页,越往后结果越像,GSC 里这些页全被标成「重复网页未选定规范网页」。
一开始怀疑是「翻页时排序不稳定,同一篇文章在多个页重复出现」,查了一圈,方向不对。
原因不止一个,得分开看。分页参数没有上限,脚本按总数一直生成链接。还有一种是结果页模板没有 rel=next 也没有 canonical。
少数情况下是搜索页被 sitemap 收录,蜘蛛顺着分页一路往下抓。
上来先看热门词能翻多少页
curl -s 'https://www.example.com/search/seo?page=30' -o /dev/null -w '%{http_code}'
再往下统计搜索分页的抓取条数
awk '{print $7}' access.log | grep -E 'search/.*page=' | wc -l
超过 5 页直接返回 404 并停止输出链接
if ($page > 5) { status_header(404); exit; }
给结果页首页加 canonical 自指
add_action('wp_head', 'search_canonical');
别只看报错消失,验证要多做一步。搜索分页的抓取量从每天两千降到不足一百,重复网页那组数字同步下降,热门词首页的排名没有变化。
搜索结果的深度分页对用户也没价值,截断在前几页既省预算又能避免重复判定。监控比日志更早给出信号,事后回看经常能提前半小时发现异常。
