仅添加标签无法稳定阻止百度转码,必须配合http响应头cache-control: no-transform才能可靠生效;若有手机站,优先采用百度开放适配协议并提交规则。

直接加 <meta http-equiv="Cache-Control" content="no-transform"> 就能阻止百度转码,但仅靠它不够稳定;真正起效需要配合 HTTP 响应头或开放适配协议,否则用户仍可能被跳转到百度中间页。
为什么 no-transform 单独加在 里经常失效
百度转码服务(TC)优先读取 HTTP 响应头里的 Cache-Control,而不是 HTML 中的 <meta> 标签。如果服务器返回的响应头没声明 no-transform,哪怕页面里写了,百度也可能忽略。
- 浏览器渲染前,百度抓取器已根据响应头决定是否转码;
<meta>是页面加载后才解析的,太晚 - 某些 CDN 或代理会覆盖或删掉原始响应头,导致
<meta>成为唯一依据,但此时百度识别率下降 -
content="no-transform"拼写必须全小写、无空格,写成"no-transform "或"No-Transform"都无效
必须同时设置 HTTP 响应头才能可靠生效
只有服务端主动声明,百度才会在抓取阶段就放弃转码。HTML 中的 <meta> 只是兜底手段。
- Nginx 配置:在
location或server块中加add_header Cache-Control "no-transform"; - Apache:在
.htaccess或虚拟主机配置中加Header set Cache-Control "no-transform" - Node.js/Express:在路由响应前调用
res.set("Cache-Control", "no-transform"); - PHP:在输出 HTML 前加
header("Cache-Control: no-transform");,且必须在任何echo或print之前
有手机站时,优先用百度开放适配协议
如果你已有独立的移动端页面(如 m.example.com 或 example.com/m/),比单纯禁用转码更优的方案是让百度直接跳转到你的真手机页。
- 在 PC 页面
中添加:<link rel="alternate" media="only screen and (max-width: 640px)" href="https://m.example.com/path"> - 需同步在百度站长平台提交开放适配规则,否则百度不认该
<link> - 此方式下,百度不会生成中间页,用户点击搜索结果直接进你自己的手机页,体验和 SEO 都更好
- 注意
href必须是可访问的 HTTPS 地址,且与 PC 页内容严格对应,否则会被判定为作弊
最易被忽略的一点:百度策略更新后,no-siteapp 已基本弃用,仅保留 no-transform;而 handheld 协议依赖 WAP 页面,在现代移动浏览器中已无实际意义。别再复制过时的三行 meta 堆砌,聚焦响应头 + 开放适配才是当前有效路径。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











