这个坑值得记一笔。站点下线了一批筛选页,整理出 2 万条死链提交。两周后 GSC 只处理了 300 条,报表里其余全是「已提交未处理」,这些地址都带 ?color= 参数。

刚开始盯着「提交文件里混入了编码不一致的中文地址」,折腾了半个多小时,排掉了。

原因不止一个,得分开看。提交的地址带参数,被当成可变地址反复校验;同一批页面其实返回 301 到列表页,不是 404;单次提交超过两万条上限 超出部分被静默丢弃。

第一件事是抽查提交样本的实际状态码

curl -s -o /dev/null -w '%{http_code}\n' 'https://www.example.com/list?color=red'

再往下把 301 改成真实 404 再提交

location /list { return 404; }

去掉参数后按路径去重

awk -F'?' '{print $1}' dead.txt | sort -u > dead_clean.txt

等前面都确认过,再确认处理后核对索引剩余

site:www.example.com inurl:color=

怎么算真的好了,看的是同一批现象。去掉参数并统一返回 404 后重新提交,处理率从 1.5% 升到 92%,四周内这批页面基本退出索引。

死链提交前先按路径去重、确认返回码是 404 或 410,带参数的地址会被大量重复校验,处理速度极慢。报错文案容易误导,真正的原因往往在相邻那一层的日志里。

作者 9823189