写点什么

如何通过 noindex 阻止网页被搜索引擎编入索引?

作者:村头的猫
如何通过 noindex 阻止网页被搜索引擎编入索引?

在一些网站中,通过robots.txt可以控制哪些站点资源或目录能被搜索引擎索引,但是随着站点页面增加,之前允许的索引页面常常不希望被索引,如果直接修改 robots.txt,影响会比较大,所以页面级的控制就很有必要。


前一篇有提到通过在站点根目录 robots.txt 文件中添加 Disallow 指令来阻止整站级别的某些资源被搜索引擎索引或不被索引,一文搞懂SEO优化之站点robots.txt。为了精细化控制被索引的页面,有时也需要通过noindex处理。


为让 noindex 生效,网页或资源需要不被 robots.txt 文件的规则屏蔽,并且必须能被访问。如果被 robots.txt 文件屏蔽或无法访问该网页,那么爬虫就永远看不到 noindex 规则,所以该网页可能仍会显示在搜索结果中,例如有其他网页链接到该网页。


有两种方式配置 noindex :一是作为 <meta> 标记,二是作为 HTTP 响应标头。这两种方法的效果相同,根据网站实际情况选择合适的方法即可。

1 Meta Robots 标签(控制单页索引行为)

在 HTML 的<head>中添加,精准控制单个页面是否被索引或跟踪链接。

支持的指令

HTML 示例

<!-- 禁止所有爬虫 --><meta name="robots" content="noindex, nofollow"><!-- 仅禁止Google --><meta name="googlebot" content="noindex">
<!-- 阻止在搜索结果中显示摘要 --><meta name="robots" content="max-snippet:0"><!-- 摘要最多显示20个字符 --><meta name="robots" content="max-snippet:20"><!-- 不限制 --><meta name="robots" content="max-snippet:-1">
<!-- 不显示预览图 --><meta name="robots" content="max-image-preview:standard">
<!-- 2025-08-01之后不在结果中显示该网页 --><meta name="robots" content="unavailable_after: 2025-08-01">
复制代码

🌐 2 HTTP 头:X-Robots-Tag (服务器级控制)

通过服务器配置 HTTP 响应头X-Robots-Tag,其值为 noindexnone动态控制索引行为 可用于非 HTML 文件(如 PDF、视频文件或图片等)。


HTTP/1.1 200 OK(...)X-Robots-Tag: noindex, nofollow(...)
复制代码


或指定爬虫引擎


HTTP/1.1 200 OK(...)X-Robots-Tag: googlebot: nofollowX-Robots-Tag: otherbot: noindex, nofollow(...)
复制代码

服务端配置示例

以 nginx 配置为例,比如希望所有 pdf 文件禁止被索引:


location ~* \.pdf$ {  add_header X-Robots-Tag "noindex, nofollow";}
复制代码


✅ 优势:无需修改页面代码,适合批量管理或程序化生成的内容。

💎 根据场景选择方案


实际业务中,建议同时使用 robots.txt + noindex 组合。


原文地址:如何通过 noindex 阻止网页被搜索引擎编入索引?

用户头像

村头的猫

关注

实践见真知 2019-07-01 加入

爱折腾的程序员

评论

发布
暂无评论
如何通过 noindex 阻止网页被搜索引擎编入索引?_SEO_村头的猫_InfoQ写作社区