最近站长群里很多站长都在讨论网站被百度强制转码了,导致移动版流量,按百度官方的说法,很多回复是因为网站的用户体验不达标,放的太多的广告,为了给用户更好的用户体验,所以百度强制转码老人家的手机版。做了适配和加了一行不需要百度强制转码的代码也无效。很多站长背地里都骂百度这是流氓行径。
不过上有政策下有对策,聪明的站长早已找到很多解决方案,这里列举一下我在别的网站上面看到的一些解决方案,综合起来仅供大家参考:
1、PC版和手机版都加入禁止转码的代码,在head标签里加入:
<meta http-equiv="Cache-Control" content="no-siteapp" />
<meta http-equiv="Cache-Control" content="no-transform" />
这种是最常见的禁止百度转码的代码,不过百度好像不怎么聊这个代码,很多网站加入了这个代码,还是被强制转码了。
2、使用jsp强制跳转代码,让百度转码页面直接跳转到我们实际的手机页面:
首先在标签里加入如下代码,用来识别当前的网址:
<meta property="og:url" content="http://m.55mx.com/web/18.html" id="wapurl"/>
然后把body标签替换为base64加密的代码(经过加密后的代码不会被百度转码过滤,这样的话就成功地避开了百度过滤Js代码):
<body onload="eval(window.atob('dmFyIHI9bG9jYXRpb24uaHJlZjt2YXIgY3U9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1ldGF1cmwiKS5jb250ZW50O2lmKGN1ICYmICEoL25ldGVyOC5jb20vZ2kudGVzdChyKSkpe2xvY2F0aW9uLmhyZWY9IGN1O30='));">
请注意上面的代码有一些是加密的,其中在这个后面的加密代码我们可以通过base64解码看到如下代码:
var r=location.href;var cu=document.getElementById("wapurl").content;if(cu && !(/55mx.com/gi.test(r))){location.href= cu;}
你可以把上面有一个55mx的网址改成你自己的网址过后,编码成base64的代码。
最后就是关于代码测试,我们是否已经成功的强制跳转了,首先你把改好的网址点击右键查看源代码,然后把所有的源代码复制到记事本里并保存为1.html使用浏览器打开。如果能够正常的跳转到你自己的网站说明这个代码就已经成功地实现了强制跳转功能,百度下次在更新转码页的时候,用户点击就会直接强制性跳转到我们自己的网站。
《解决百度手机版强制转码的参考方法》的网友评论(0)