标签聚合页沿用老模板,头部仍在输出 rel=next 和 rel=prev,单个标签下有 400 页。必应把每页都当独立入口抓了一遍,同一标签的 400 条地址进了索引,正文几乎一样。
一开始怀疑是「每页只换 10 条标题,正文重复度高」,查了一圈,方向不对。
这类报错背后常见的原因有几处,逐个排除就行。next/prev 早已不是收录信号,输出它不影响分页处理。还有一种是标签页缺少 canonical,分页各自独立。
不容易想到的是,分页地址没有收口,蜘蛛顺着 next 一路抓到底。
动手时先确认页面头部是否还输出 next/prev
curl -s 'https://www.example.com/tag/nginx/page/2/' | grep -o 'rel="\(next\|prev\)"'
再往下看标签首页的 canonical 指向哪里
curl -s 'https://www.example.com/tag/nginx/' | grep -o '<link rel="canonical"[^>]*>'
第二页及以后补 noindex
curl -s 'https://www.example.com/tag/nginx/page/2/' | grep -i noindex
末了统计标签目录的收录数量
site:www.example.com/tag/
改完先别撤,确认这几项。标签分页在索引里只剩第一页,标签目录收录量从 1.6 万降到 4000 以内。
容易忽略的是,next/prev 删掉不会有副作用,真正决定分页命运的是 canonical 和内容差异。如果同一现象隔几天又出现,说明根因没找到,别当偶发处理。
