Noindex
Noindex 是一条 robots 元指令,指示搜索引擎不要将某个特定页面纳入搜索结果。它可以通过 HTML <meta> 标签或 HTTP 响应头(X-Robots-Tag)来设置,从而阻止该页面出现在 Google、Bing 等搜索引擎结果页(SERP)上。
Noindex 是一条 robots 元指令,指示搜索引擎不要将某个特定页面纳入搜索结果。它可以通过 HTML <meta> 标签或 HTTP 响应头(X-Robots-Tag)来设置,从而阻止该页面出现在 Google、Bing 等搜索引擎结果页(SERP)上。
为什么重要
搜索引擎会尝试抓取并收录网站上的每一个页面。然而,并非所有页面都值得出现在搜索结果中。如果登录页面、站内搜索结果页面、感谢页面或预发布环境页面被收录,就会浪费抓取预算、引发重复内容问题,并可能拉低网站整体的搜索质量评估。正确使用 noindex,可以引导搜索引擎将抓取资源集中在真正具有价值的页面上。
如何设置
- HTML 元标签方式
在页面的 <head> 区块中添加以下标签:
<meta name="robots" content="noindex">
你也可以针对特定搜索引擎。例如,若只想对 Google 应用 noindex,将 name 属性改为 googlebot:
<meta name="googlebot" content="noindex">
若同时还想阻止链接抓取,可与 nofollow 一起使用:
<meta name="robots" content="noindex, nofollow">
- 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,以防止不需要的页面被收录。