SEO

Noindex

Noindex 是一条 robots 元指令,指示搜索引擎不要将某个特定页面纳入搜索结果。它可以通过 HTML <meta> 标签或 HTTP 响应头(X-Robots-Tag)来设置,从而阻止该页面出现在 Google、Bing 等搜索引擎结果页(SERP)上。

Noindex 是一条 robots 元指令,指示搜索引擎不要将某个特定页面纳入搜索结果。它可以通过 HTML <meta> 标签或 HTTP 响应头(X-Robots-Tag)来设置,从而阻止该页面出现在 Google、Bing 等搜索引擎结果页(SERP)上。

为什么重要

搜索引擎会尝试抓取并收录网站上的每一个页面。然而,并非所有页面都值得出现在搜索结果中。如果登录页面、站内搜索结果页面、感谢页面或预发布环境页面被收录,就会浪费抓取预算、引发重复内容问题,并可能拉低网站整体的搜索质量评估。正确使用 noindex,可以引导搜索引擎将抓取资源集中在真正具有价值的页面上。

如何设置

  1. HTML 元标签方式

在页面的 <head> 区块中添加以下标签:

<meta name="robots" content="noindex">

你也可以针对特定搜索引擎。例如,若只想对 Google 应用 noindex,将 name 属性改为 googlebot

<meta name="googlebot" content="noindex">

若同时还想阻止链接抓取,可与 nofollow 一起使用:

<meta name="robots" content="noindex, nofollow">
  1. HTTP 响应头方式(X-Robots-Tag)

对于无法插入元标签的非 HTML 资源(PDF、图片等),可在服务器响应头中设置该指令:

X-Robots-Tag: noindex

在 Next.js 等框架中,你可以在 API 路由或 getServerSideProps 内直接设置响应头。

何时使用

建议对以下类型的页面应用 noindex:

  • 站内搜索结果页面:由站内搜索功能动态生成的页面,可能被搜索引擎视为重复内容。
  • 登录、注册和个人资料页面:包含个人信息、无需在搜索结果中曝光的页面。
  • 感谢页面:表单提交后显示的确认页面,没有搜索流量价值。
  • 预发布和测试环境:防止开发站点被意外收录。但务必在部署到生产环境时移除 noindex。
  • 包含重复内容的页面:不过,如果规范页面与重复页面之间的关系明确,使用 canonical 标签可能是更合适的解决方案。
  • 仅限管理员的页面:仪表盘、管理后台等页面无需搜索曝光。

Noindex 与 Disallow 的区别

Noindex 和 robots.txt 中的 Disallow 指令经常被混淆,但它们的行为有着本质区别。

属性noindex(元标签)Disallow(robots.txt)
功能将页面从搜索结果中排除完全阻止抓取程序访问该页面
收录允许抓取但阻止收录阻止抓取,但页面仍可能通过外部链接被收录
链接权重页面的链接价值(链接权重)仍可传递抓取程序无法读取页面,因此链接价值无法传递
范围在单个页面层面精确控制在目录或 URL 模式层面批量控制

最关键的注意事项是:你绝不能同时使用两者。如果通过 robots.txt 阻止了抓取,搜索引擎就无法读取页面上的 noindex 标签,导致 noindex 指令被忽略,页面可能因此仍留在搜索结果中。要可靠地将某个页面从搜索结果中排除,应在允许抓取的同时使用 noindex 元标签。

Sources:

相关 inblog 文章

inblog 如何帮助你

inblog 让你可以为单篇文章或标签页面设置 noindex,以防止不需要的页面被收录。