Rudra Analyzer

SEO

noindex 是什么意思?原理、适用场景与排查方法

noindex 能让页面不出现在搜索结果中。本文讲解它的原理、它与 robots.txt 屏蔽的区别、什么时候该用它,以及如何揪出被误加的那一个。

作者:Rudra Techno Team 阅读约 6 分钟
本页内容

noindex 是给搜索引擎的一条指令:你可以访问这个页面,但不要把它显示在搜索结果里。在控制哪些内容出现在搜索中这件事上,它是最有用的手段之一;可一旦被误留在页面上,它也是杀伤力最大的手段之一,因为在访客眼里,页面看不出任何异样。

设置 noindex 的两种方式

robots meta 标签

写在页面的 <head> 中:<meta name="robots" content="noindex">。名称 robots 对所有搜索引擎生效;也可以用某个搜索引擎自己的名称来单独针对它,比如 googlebot。指令可以组合使用:noindex, nofollow 还会要求爬虫不要跟踪页面上的链接,而 none 的含义与 noindex, nofollow 相同。

X-Robots-Tag 响应头

同样的指令也可以通过 HTTP 响应头发送:X-Robots-Tag: noindex。对于 PDF 这类非 HTML 文件,这是唯一的办法;它在服务器配置里很容易对全站生效,而这也正是它被误留下来的途径。在页面源代码里是看不到它的,需要在开发者工具中查看响应头,或者使用 curl -I。

noindex 不等于 robots.txt 屏蔽

这是最常见的误解。robots.txt 中的 Disallow 阻止的是爬虫获取页面;noindex 阻止的是爬虫索引页面。爬虫必须先获取页面,才能看到 noindex;所以如果你在 robots.txt 里屏蔽了某个 URL,爬虫就永远看不到那条 noindex。只要有其他网站链接到它,这个 URL 甚至还可能以不带描述的形式出现在搜索结果里。

因此,要让页面不出现在搜索中,就应当允许抓取,并使用 noindex。Google 已于 2019 年停止支持写在 robots.txt 里的 noindex 规则。我们的 robots.txt 与 sitemap.xml 指南讲解了 robots.txt 真正的用途。

什么时候该用 noindex

  • 感谢页、确认页和账户页,这些页面在搜索中没有价值。
  • 站内搜索结果页。
  • 内容单薄的标签页、归档页或筛选页,你不希望它们与主要页面竞争。
  • 测试站和预览站,最好同时加上密码保护,因为 noindex 拦不住人来访问。
  • 与主要内容重复的活动落地页。

如果你是想把重复页面合并到同一个 URL,noindex 就不是合适的工具,这种情况应该用 canonical 或重定向,详见如何修复 canonical 问题。另外,不要把 noindex 和指向其他页面的 canonical 同时使用:一个说的是“丢掉这个页面”,另一个说的是“这个页面是那个页面的副本”。

noindex 是怎么被误留下来的

  • 上线时把测试站的设置一并复制到了生产环境。
  • WordPress 中“设置 → 阅读”下的“建议搜索引擎不索引本站点”复选框一直勾着没取消。
  • SEO 插件的默认设置把整类内容(比如商品或分类)都设成了 noindex。
  • 在服务器或 CDN 配置中为测试环境添加的 X-Robots-Tag 响应头,被部署到了所有环境。
  • 页面模板在某个字段为空时会自动加上 noindex。

检查页面能否被索引

Rudra 的免费 SEO 检查工具会在 robots meta 标签和 X-Robots-Tag 响应头中查找 noindex,检查 robots.txt,并汇总给出“可索引”或“不可索引”的结论及其原因。

检查您的首页 · 免费 · 无需注册

如何检查一个页面

把页面放进 Rudra 的免费 SEO 检查工具。它会在 robots meta 标签和 X-Robots-Tag 响应头中查找 noindex 和 nofollow(或 none),检查 robots.txt 是否屏蔽了该页面,并留意 HTTP 重定向或错误状态码,最后给出一个“是否可索引”的结论并说明原因。如果一个 noindex 页面的 canonical 指向别处,它会把这标为冲突;对于 nosnippet 这类限制摘要的指令,它也会加以说明,这些指令不会阻止索引,但会改变搜索结果的样子。一个 noindex 会让 SEO 得分扣掉 30 分,因为它会把页面从搜索中彻底移除。

对于整个网站,Rudra 的全站扫描会分别统计可索引页面和 noindex 页面的数量,并标出站点地图中列出的 noindex 页面。在 Google Search Console 中,“网页索引编制”报告会列出“已被‘noindex’标记排除”的页面,“网址检查”则会显示某个具体的 URL 能否被索引。

移除 noindex

  1. 找出它的来源:页面源代码(meta 标签)、响应头(X-Robots-Tag)、CMS 设置、SEO 插件设置,或者服务器配置。
  2. 从源头把它去掉,并清除页面缓存和 CDN 缓存。
  3. 重新检查线上页面,确认标签和响应头都已经消失。
  4. 确保该页面没有被 robots.txt 屏蔽,并且已经列入站点地图。
  5. 在 Search Console 中使用“网址检查”,为重要页面请求编入索引。重新抓取仍可能需要几天或几周。

常见问题

加上 noindex 后,页面会立刻从 Google 消失吗?

不会。Google 必须重新抓取页面才能看到这条指令。如果需要紧急移除,可以用 Search Console 的“移除”工具暂时隐藏某个 URL,等待 noindex 生效。

noindex 页面还会传递链接信号吗?

除非你加上 nofollow,否则爬虫仍然可以跟踪 noindex 页面上的链接。但时间一长,搜索引擎抓取 noindex 页面的频率可能会降低,所以不要把 noindex 页面当作通往重要内容的主要路径。

noindex 页面应该放进站点地图吗?

不应该。站点地图应当列出你希望被索引的页面。把 noindex 页面列进去,传递的是相互矛盾的信号。

noindex 和 nofollow 是一回事吗?

不是。noindex 让页面不出现在搜索结果中;nofollow 要求爬虫不要跟踪页面上的链接。两者可以单独使用,也可以一起使用。

需要更深入的网站分析?

查看网站上的每个问题,并按修复优先级排序

无需账户即可免费检查任意页面,注册后还可抓取整个网站。每份报告涵盖 SEO、常见性能问题、无障碍和安全,并为每个问题提供修复建议。