noindex 是一个很不起眼的指令,写法只有一行 meta 标签,或者作为 X-Robots-Tag 挂在 HTTP 响应头上。它的作用很直接:告诉搜索引擎这个地址不要出现在索引里。问题也正出在这里——它太好加了,加错时又几乎没有明显症状,页面照常打开、图片照常显示、访客毫无感觉,只有收录情况在缓慢变化。
下面按误加场景、抽查顺序、与 robots.txt 的配合三个部分梳理一遍。
一、noindex 通常是怎么被误加的
- 开发或预发环境的配置被同步到线上,例如整站禁止索引的开关忘记关掉。
- CMS、主题或 SEO 插件自带禁止索引选项,默认勾选,或者被同事顺手点过一次。
- 页面模板改版时,页头被多个页面共用,一处加错,整类页面跟着受影响。
- 服务器或 CDN 层面添加了 X-Robots-Tag,前端代码里完全看不到,只在响应头里出现。
- 批量编辑、导入导出时,某个字段被整列写成了不索引。
二、自查的先后顺序
1. 先按页面类型抽样
首页、栏目页、内容详情页、分页第 2 页、标签聚合页、站内搜索结果页、会员中心或后台页面,各抽两三条。这几类页面的处理策略本来就不同,混在一起看容易误判。
2. 看页面源码,也看响应头
浏览器里查看网页源代码,能搜到 meta 标签;但 X-Robots-Tag 只出现在 HTTP 响应头中,需要借助开发者工具的网络面板,或者用命令行工具查看。两边都别漏。
- 准备一份二十到五十条的代表性 URL 清单,覆盖上面提到的各类页面。
- 查看响应头时,重点确认有没有 X-Robots-Tag 字段,以及它的取值。
- 再取页面正文头部,确认 meta 标签里的 robots 取值是 index 还是 noindex。
- 把结果整理成一张表,标出哪些页面被禁止索引、哪些是预期之外的。
3. 对照 robots.txt
如果某个目录既在 robots.txt 里被 Disallow,页面里又写着 noindex,这两条指令其实配合不上:蜘蛛根本抓不到页面,也就读不到那一行 noindex。结果是地址可能仍然留在索引里,只是没有摘要。想让它退出索引,更稳的顺序是放开抓取、保留 noindex,等索引中确实消失之后,再考虑是否屏蔽。
noindex 管的是要不要收录,Disallow 管的是要不要来抓。把两者当成一回事,指令之间就会互相抵消。
三、哪些页面适合加,哪些要谨慎
- 适合加:站内搜索结果页、排序与筛选组合页、打印页、弹窗落地页、纯参数版本、临时测试页和内部工具页。
- 要谨慎:承担导航和内容聚合作用的栏目页、标签页,一旦误加,站内入口会明显减少,属于重点排查对象。
- 可分情况:分页列表的第 2、3 页不必一律 noindex,用自指 canonical 处理也可以,具体看栏目本身的重要程度和内容量。
- 容易忘:临时活动页在结束后要及时清理,既不该留在索引里,也不该继续挂着 noindex 占位。
四、改完之后再做几件事
- 记录改动时间和影响的 URL 范围,方便日后回溯。
- 挑几条重点页面,观察后续抓取与展示是否恢复正常,不必急着下结论。
- 模板级别的改动要做全站复检,不要只看改过的那一个页面。
- 把是否可索引列入上线检查项,和标题、描述、canonical 放在一起核对。
noindex 不是一次性配置。插件升级、模板替换、环境迁移,都可能把它悄悄改回来。每隔一段时间抽查一遍,比事后从收录数据里倒推原因要省事得多。