今天手机 site 中国博客联盟时,发现网被转码了,虽然这个网站没做移动站,但是我也不希望被百度转码,因为这相当于拦截了所有来自手机的流量。下面说一下禁止百度转码和禁止百度快照缓存的方法。

# 一、禁止百度转码

禁止百度转码的做法很简单,直接在 head 部分加入如下 META 申明即可:

<meta http-equiv="Cache-Control" content="no-transform" />
<meta http-equiv="Cache-Control" content="no-siteapp" />

早些年,国内的 “百毒” 公司就率先考虑到 “用户体验”,本着 “为人民币服务” 的原则,在移动端通过百度搜索过来的网页会默认进行转码。看起来是好事,但尼玛转码了居然还带上自家广告,广告内容么…… 这种既当运动员又当裁判的做法太恶心了。墙裂建议每位搞前端开发的都添加上这个代码,不要再给李首富捐钱了。

# 二、禁止百度快照缓存

禁止百度快照缓存,可能很多人还不知道指的是什么,看图即懂:

[禁止百度转码和百度快照缓存的META声明
禁止百度转码和百度快照缓存的META声明

就是 “百毒” 会缓存一份网页快照,有部分用户人存在先点快照的习惯,因为从快照点开的结果中,搜索关键词会高亮显示,方便他直达。

那么,这种情况就值得我们深思了:

①、如果存在这种缓存页面,相当于分流了大量本属于网站的流量,导致流失一些自然用户或真实 PV,因为用户从缓存就能得到自己想要的结果,而不需要访问到你的网站了;

②、反过来再想一下,缓存页面会有关键词高亮效果,提升了用户体验,用户是否会对缓存网页的源站另眼相看,甚至 RSS 订阅之??

我想,第②种情况并不乐观,除非你对你的网站的吸引力非常有信心!当然,倾向①的网站,我认为网页开启速度及稳定性也是至关重要的,否则得不偿失!

好了,最后说一下具体做法:

将如下代码加入到 head 部分即可:

<meta name="Baiduspider" content="noarchive">

当然,如果要针对所有搜索引擎,只要将 Baiduspider 改成 robots 即可。

修改后,并不会立即生效,得等到百度刷新数据才能看的效果:点击搜索结果中的百度快照,将直接跳转到源站,而不会展示百度缓存的页面