先把当时的情况摆出来。标签页做瘦身时把冷门标签统一 301 到站内搜索结果页,结果蜘蛛跟到搜索页又发现它 noindex,两个信号打架,这批标签一个月都没进索引。

这类报错背后常见的原因有几处,逐个排除就行。搜索页本身 noindex,301 之后等于把页面导向一个不被收录的地址。也可能是301 落地页带查询参数,每次跳转地址都不一样。

少数情况下是标签页在 sitemap 里仍然保留,蜘蛛反复被引导过去。不容易想到的是,跳转链中间还有一层 302,信号被削弱。

跟一次完整跳转链看最终地址和状态

curl -sIL 'https://www.example.com/tag/old-tag' | grep -E 'HTTP/|location'

然后把冷门标签改成 410 或保留 noindex 页

curl -sI 'https://www.example.com/tag/old-tag' | head -1

从 sitemap 里移除这批标签

grep -c '/tag/' sitemap_tags.xml

剩下的就是清掉中间的 302 只保留一跳

grep -rn 'rewrite.*tag' /etc/nginx/conf.d/

怎么算真的好了,看的是同一批现象。冷门标签返回 410 或 noindex 200,跳转链只剩一跳,sitemap 里不再出现这些地址,抓取日志里的循环请求消失。

提醒一点。301 的落地页必须可收录,导向 noindex 页等于白跳,还会让蜘蛛把整组标签判成低质。拖得越久,排查成本越高,因为现场状态会被后续操作覆盖。

作者 9823189