在一些网站中,通过
robots.txt
可以控制哪些站点资源或目录能被搜索引擎索引,但是随着站点页面增加,之前允许的索引页面常常不希望被索引,如果直接修改robots.txt
,影响会比较大,所以页面级的控制就很有必要。
前一篇有提到通过在站点根目录 robots.txt
文件中添加 Disallow
指令来阻止整站级别的某些资源被搜索引擎索引或不被索引,一文搞懂SEO优化之站点robots.txt。为了精细化控制被索引的页面,有时也需要通过noindex
处理。
为让 noindex
生效,网页或资源需要不被 robots.txt
文件的规则屏蔽,并且必须能被访问。如果被 robots.txt
文件屏蔽或无法访问该网页,那么爬虫就永远看不到 noindex
规则,所以该网页可能仍会显示在搜索结果中,例如有其他网页链接到该网页。
有两种方式配置 noindex
:一是作为 <meta>
标记,二是作为 HTTP
响应标头。这两种方法的效果相同,根据网站实际情况选择合适的方法即可。
在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] |
在指定日期/时间过后,不在搜索结果中显示该网页 |
<!-- 禁止所有爬虫 -->
<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">
X-Robots-Tag
(服务器级控制)通过服务器配置HTTP响应头X-Robots-Tag
,其值为 noindex
或 none
,动态控制索引行为 可用于非HTML文件(如PDF、视频文件或图片等)。
HTTP/1.1 200 OK
(...)
X-Robots-Tag: noindex, nofollow
(...)
或指定爬虫引擎
HTTP/1.1 200 OK
(...)
X-Robots-Tag: googlebot: nofollow
X-Robots-Tag: otherbot: noindex, nofollow
(...)
以nginx配置为例,比如希望所有pdf文件禁止被索引:
location ~* \.pdf$ {
add_header X-Robots-Tag "noindex, nofollow";
}
✅ 优势:无需修改页面代码,适合批量管理或程序化生成的内容。
需求场景 | 推荐方案 |
---|---|
整站/目录禁止抓取 | robots.txt |
精准控制单页索引/链接跟踪 | Meta Robots 标签 |
动态文件或服务器级批量控制 | X-Robots-Tag HTTP 头 |
实际业务中,建议同时使用 robots.txt
+ noindex
组合。