Robots元标签不能阻止抓取,只控制抓取后的处理行为;正确写法须置于最前、服务端静态输出、content值小写无空格,如noindex,nofollow。

Robots元标签不能阻止搜索引擎抓取页面,只能控制“抓取之后怎么处理”。真正禁止抓取要靠robots.txt;而是否被索引、是否跟踪链接、是否显示摘要等,才由决定。
正确写法与位置要求
必须放在内部最靠前的位置(建议紧接之后),且由服务端静态输出。动态用JS注入、放错到、或被CDN缓存污染,都会导致爬虫根本看不到它。
- content值严格小写,指令间用英文逗号连接,不能有空格:✅
noindex,nofollow|❌noindex, nofollow(带空格)|❌NOINDEX|❌no-index - 禁用中文标点、全角符号、顿号、中文逗号——这些会让整个指令失效
- 常见有效组合:
noindex,nofollow、noindex,follow、index,follow(默认可省略)、none(等价于noindex,nofollow)
不同场景该用哪组指令
选错组合可能影响权重传递或意外暴露页面。关键看两个问题:要不要被搜到?要不要让爬虫顺着你页面里的链接发现新内容?
-
完全隐身(如登录页、测试页、用户后台):用
noindex,nofollow——不收录,也不看任何链接 -
需保留链接发现能力(如分页/blog?page=2、筛选页):用
noindex,follow——不被搜到,但首页链出的分页仍能被爬到 -
只想隐藏摘要或快照(如版权敏感页):单独加
nosnippet或noarchive,保留index,follow -
动态渲染页(Vue/React单页应用):前端注入的
meta基本无效,必须由服务端根据URL路径,在HTTP响应头中返回X-Robots-Tag: noindex
和robots.txt的关系别搞混
两者分工明确:robots.txt管进门,meta robots管进门后的行为。只靠其中一个,风险很高。
- 仅在
robots.txt里Disallow/admin/,但某天有外链指向/admin/login.html,而该页没加noindex→ 它仍可能以“URL-only”形式出现在搜索结果中 - 只在页面加
noindex,但robots.txt没屏蔽对应路径 → 爬虫照常抓取,再按指令不索引,白白消耗抓取配额 - 稳妥做法:对关键私有路径,
robots.txt禁止抓取 + 页面HTML头部加
验证是否生效的方法
上线后不能只看代码有没有写,得确认爬虫实际收到了什么指令。
- Chrome开发者工具 → Elements面板,检查
里是否存在且拼写、位置、大小写全部正确 - Google Search Console → “URL检查”工具,输入网址,查看“索引状态”和“爬虫看到的robots指令”
- Bing Webmaster Tools → “Robots Testing Tool”,模拟主流爬虫解析逻辑
- 注意:修改后不会立即从搜索结果消失,需等待下一次抓取与重新处理周期
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











