直接在<head>中添加<meta name="robots" content="noindex">可阻止搜索引擎索引该页,但不禁止爬虫访问;noindex仅控制是否收录,nofollow才控制是否跟踪链接,二者需按场景组合使用,且必须服务端静态注入、位置正确、拼写无误。

如何用 meta 标签告诉搜索引擎不抓取当前页面
直接在 <head> 里加 <meta name="robots" content="noindex"> 即可阻止搜索引擎索引该页。这不是“禁止爬取”,只是“别收录”——爬虫仍可能访问页面,但不会放进搜索结果。
noindex 和 nofollow 的区别与组合用法
常见混淆点:很多人以为 noindex 会自动阻止链接传递权重,其实不会。noindex 只管是否入索引,nofollow 才管是否跟踪链接。
-
content="noindex":页面不被收录,但页面上的链接仍可能被爬虫跟随 -
content="nofollow":页面可被收录,但页面内所有链接不传递权重、不被跟踪 -
content="noindex, nofollow":最彻底的屏蔽——不收录、不跟踪链接、不传递权重 -
content="none"是简写,等价于"noindex, nofollow"(但部分旧爬虫可能不识别,建议显式写全)
哪些场景必须用 noindex 而不是靠 robots.txt
robots.txt 只能屏蔽爬虫访问路径,无法控制已访问页面的索引行为;而 noindex 是页面级指令,更精准可靠。
- 登录页、后台入口页(如
/admin/login.html)——robots.txt屏蔽后,若其他页面有外链指向它,仍可能被索引;加noindex才真正安全 - 分页参数页(如
?page=2)、筛选页(如?sort=price)——URL 参数不同但内容重复,易触发重复内容惩罚 - A/B 测试页、临时活动页——上线前就应加上
noindex,避免误入索引 - 注意:
robots.txt中禁止访问的页面,如果被大量外部链接指向,搜索引擎仍可能仅凭 URL 和锚文本生成摘要页(称为“幽灵页面”),此时noindex是唯一补救手段
容易被忽略的兼容性与验证细节
Google、Bing、Yandex 都支持 name="robots",但部分垂直爬虫或监控工具只认特定 name 值。
立即学习“前端免费学习笔记(深入)”;
- 不要用
name="googlebot"单独控制 Google——name="robots"已覆盖所有主流爬虫;单独写googlebot可能被其他爬虫忽略 -
noindex必须放在 HTML 的<head>内,且不能被 JS 动态插入(搜索引擎通常不执行 JS 来读取 meta) - 服务端渲染(SSR)或静态生成站点中,确保每个页面的
noindex是实际生效的——比如 Next.js 的getStaticProps里没传对noIndex: true,生成的 HTML 就不会包含该标签 - 上线后用 Google Search Console 的“URL 检查”工具查看“已编入索引”状态,比看源码更可靠——因为缓存、CDN 或爬虫延迟可能导致源码有标签但实际未生效
真正起作用的是爬虫解析到的最终 HTML 中是否存在该 meta 标签,而不是你写了没写。



















