站点运营

站点运营:noindex 与 X-Robots-Tag 自查,别让不该收录的页面反而进了索引

noindex 看起来简单,实际很容易和 robots.txt 用反,导致该藏的页面照样进索引、该抓的页面却被挡住。本文梳理 meta robots 与 X-Robots-Tag 的区别、适用页面、常见指令组合,并给出一份可执行的自查清单,帮助在改版、分页、搜索结果页等场景里把“不收录”的意图表达清楚。

站点运营

站点运营:noindex 与 X-Robots-Tag 自查,别让不该收录的页面反而进了索引

noindex 是站点给搜索引擎的一份声明:这个页面可以来抓,但请不要把它放进索引。它和 robots.txt 屏蔽抓取不是一回事,前者管的是“能不能收”,后者管的是“能不能抓”。很多索引问题反复出现,根源就是把这两个开关用反了。

为什么要专门检查 noindex

如果先用 robots.txt 拦住某个目录,蜘蛛拿不到页面内容,自然也读不到页面里的 noindex。此时指令等于没写,URL 仍可能因为外部链接而被记录,只是没有摘要。反过来,该抓的页面被批量加上 noindex,内容就再难进入索引,栏目权重也会慢慢被稀释。

robots.txt 管的是“能不能抓”,noindex 管的是“能不能收”。把两者当成同一种开关,是很多索引问题反复出现的根源。

三个投放位置各自能做什么

meta robots

写在页面 head 里的 meta 标签,只对当前这一个 HTML 页面生效。常见组合是 noindex, follow(不收录,但链接继续传递)和 noindex, nofollow(两者都切断)。大多数情况下,如果只是不想让页面出现在结果里,保留 follow 更稳妥。

X-Robots-Tag

通过 HTTP 响应头下发,适合 PDF、图片、视频、JSON 等非 HTML 资源,也可以按目录批量配置。它的优势是不依赖页面渲染,服务器返回什么就是什么,做批量策略时比模板改代码更省事。

robots.txt

不能用来做 noindex。它只控制抓取范围,被屏蔽的 URL 若仍被外部链接指向,依然可能以无描述的形式出现在结果里。把它当作“省抓取预算”的工具可以,当作“从索引里删掉”的工具不行。

哪些页面适合考虑 noindex

  • 站内搜索结果页,以及多层筛选组合出来的参数页
  • 用户中心、订单详情、登录后可见的私有页面
  • 打印页、纯排序副本、同一内容的重复列表
  • 尚未定稿的预览地址和测试环境入口
  • 已经废弃但仍有内链残留的旧栏目

一份可执行的自查清单

  1. 先列出所有下发 noindex 或 X-Robots-Tag 的来源:页面模板、目录配置、CDN、反向代理可能各有一套,确认它们不会互相覆盖。
  2. 确认这些 URL 没有被 robots.txt 同时屏蔽,否则指令读不到。
  3. 检查 meta robots 是否由前端脚本动态写入,客户端渲染出来的指令,蜘蛛不一定来得及执行。
  4. 核对分页:第一页保留可索引,后续页码是否被整段误加 noindex,导致内容无法顺着链接被发现。
  5. 检查 noindex 与 canonical 是否互相冲突。把主版本指向一个被 noindex 的地址,声明就没有意义。
  6. 旧地址下线时想清楚用 301 还是 noindex。长期挂着 noindex 的废弃页,既不传递权重,也继续占着抓取额度。
  7. 上线后用命令行查看响应头,或借助抓取工具确认 X-Robots-Tag 真的存在,别只信配置面板上的开关。

几个容易忽略的点

noindex 生效需要时间,撤掉之后重新被处理同样需要时间。不要在“加”和“撤”之间频繁横跳,否则站点状态会长期处于中间态。

给整个目录批量加 noindex 之前,先在少量 URL 上验证效果,确认无误再放开,避免一次误操作把整站栏目挡在索引之外。

X-Robots-Tag 可以组合多条指令,但不同搜索引擎对部分指令的支持范围并不完全一致。写法上尽量保守,只保留明确需要的那几项,不做没必要的堆叠。

小结

noindex 不是隐藏按钮,而是一份声明。位置放对、组合写对、在合适的层级验证,站点结构才不会因为一堆不该出现的页面而变得松散。把上面这份清单定期过一遍,比出问题后一条条排查要省力得多。