页面加了 noindex,robots.txt 里也挡了这条路径;想让页面重新收录,删掉 noindex 之后等了两周,搜索结果里依旧不出现。第一次遇到会往复杂处想,其实漏掉的多是个小前提。
curl -s https://example.com/p/ | grep -i noindex curl -s https://example.com/robots.txt | grep Disallow
robots.txt 拦住抓取后,引擎读不到页面里的 noindex,只能一直保留已有判断;必须先放开抓取,让它重新抓到页面,noindex 被读到才会退出索引。这一点先确认清楚,后面就不用反复试。
「noindex 与 robots 冲突」相关的验证我通常做两遍,改完一次、隔天再看一次,确认不是临时生效。把这次用到的命令存进笔记,比记住结论有用,换个环境还能照着走。
改完隔一天再看一次,当场正常不代表能稳住。测试环境和线上的差别,往往就在版本号和那几行被忽略的配置上。
具体做法是,先放开 robots.txt 里的屏蔽规则,允许抓取这条路径;保留 noindex 先不动,等页面被引擎重新抓取一轮;确认抓取恢复正常之后,再去掉页面的 noindex。
改完照着核一遍,页面能被正常抓取,去掉 noindex 后一到两周内重新收录。
