noarchive写在meta标签中已完全失效,自2023年起被google等主流引擎弃用;唯一可靠方式是服务端设置x-robots-tag: noarchive响应头或通过search console手动移除快照。

noarchive 在 meta 中已完全失效,别再用了
直接说结论:noarchive 写在 <meta name="robots" content="noarchive"> 里,对 Google、Bing 等主流引擎已不起作用——自 2023 年起被正式弃用。你加了,页面源码里看着有,但 Search Console 不会标记为“已执行”,快照该出现还是出现。
常见误判点:看到百度旧文档或 2019 年前的教程,以为 noarchive 还管用;或者发现某页没快照,就归因于这个标签,其实可能是 noindex 或 CDN 缓存、状态码异常等其他原因在起作用。
真正能禁快照的只有两种方式
想让快照不显示(但页面仍可被索引),必须走服务端路径:
-
X-Robots-Tag: noarchive响应头 —— 唯一可靠、被 Google 官方明确支持的方式 - Google Search Console 手动「移除快照」—— 临时应急,非长期策略,且仅对已存在快照的 URL 有效
注意:X-Robots-Tag 必须出现在 HTTP 响应头中,不是 HTML 里;它优先级高于任何 <meta> 标签,且对所有资源类型(HTML、PDF、JSON)都生效。
示例(Nginx 配置):
location /private/ {<br> add_header X-Robots-Tag "noarchive";<br>}
为什么不能混用 noindex 和 noarchive
noindex 是源头控制:页面不进索引库,快照自然不会生成;noarchive 是下游控制:只对已索引页面起效。两者逻辑互斥。
如果你写了:<meta name="robots" content="noindex, noarchive">,或者响应头设了 X-Robots-Tag: noindex, noarchive,搜索引擎会忽略 noarchive —— 因为索引流程根本没启动,快照环节压根没触发。
换句话说:要保留快照,页面必须处于 index 状态;要禁快照,只能靠 X-Robots-Tag: noarchive,且不能同时设 noindex。
SPA 页面和静态页的坑特别多
Vue/React 的纯客户端渲染(CSR)应用,初始 HTML 里没有 <meta name="robots">,JS 运行后才动态插入 —— 搜索引擎爬虫看不到,noarchive 标签等于不存在。
静态 HTML 页面写 <meta name="robots" content="noarchive"> 同样无效,因为引擎不解析它。
正确做法:
- Next.js/Nuxt:在
getServerSideProps或getStaticProps中返回headers: { 'X-Robots-Tag': 'noarchive' } - PHP:在脚本开头加
header('X-Robots-Tag: noarchive'); - Nginx:按路径匹配,用
add_header注入
验证是否生效,别只看网页源码 —— 要用 curl 或浏览器开发者工具检查响应头,确认 X-Robots-Tag 真实存在、拼写正确、无空格、大小写一致。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











