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

文章目录

    • [1 Meta Robots 标签(控制单页索引行为)](#1 Meta Robots 标签(控制单页索引行为))
    • [🌐 2 HTTP 头:`X-Robots-Tag` (服务器级控制)](#🌐 2 HTTP 头:X-Robots-Tag (服务器级控制))

近期文章

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

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

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

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

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

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

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

支持的指令

指令 说明
all 无限制,为默认值
noindex 不在搜索结果中显示此网页、媒体或资源
nofollow 不追踪该网页上的链接
none 等同于 noindex, nofollow
nosnippet 不在搜索结果中显示该网页的摘要或视频预览
indexifembedded 如果网页通过 iframes 嵌入到其他网页,该网页内容也会被编入索引
max-snippet: [number] 最多只能使用 [number] 个字符作为搜索结果的文字摘要。为0时,不显示摘要。等同于 nosnippet;为-1时,不限制
max-image-preview: [setting] 设置网页的图片预览在搜索结果中的尺寸上限。为none时,不显示图片预览;为standard时,可能会显示默认图片预览;为large时,可能显示较大图片预览
max-video-preview: [number] 设置网页的视频预览在搜索结果中的最长秒数。为0时最多显示静态图;为-1时无显示;
notranslate 不在搜索结果中提供该网页的译文
noimageindex 不将该网页上的图片编入索引
unavailable_after: [date/time] 在指定日期/时间过后,不在搜索结果中显示该网页

HTML示例

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 复制代码
HTTP/1.1 200 OK
(...)
X-Robots-Tag: noindex, nofollow
(...)

或指定爬虫引擎

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

服务端配置示例

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

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

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

💎 根据场景选择方案

需求场景 推荐方案
整站/目录禁止抓取 robots.txt
精准控制单页索引/链接跟踪 Meta Robots 标签
动态文件或服务器级批量控制 X-Robots-Tag HTTP 头

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

相关推荐
Carlos_sam24 分钟前
OpenLayers:封装一个自定义罗盘控件
前端·javascript
前端南玖34 分钟前
深入Vue3响应式:手写实现reactive与ref
前端·javascript·vue.js
wordbaby1 小时前
React Router 双重加载器机制:服务端 loader 与客户端 clientLoader 完整解析
前端·react.js
itslife1 小时前
Fiber 架构
前端·react.js
3Katrina1 小时前
妈妈再也不用担心我的课设了---Vibe Coding帮你实现期末课设!
前端·后端·设计
hubber1 小时前
一次 SPA 架构下的性能优化实践
前端
可乐只喝可乐2 小时前
从0到1构建一个Agent智能体
前端·typescript·agent
Muxxi2 小时前
shopify模板开发
前端
Yueyanc2 小时前
LobeHub桌面应用的IPC通信方案解析
前端·javascript
我是若尘2 小时前
利用资源提示关键词优化网页加载速度
前端