百度放弃SiteApp项目,手机站该如何解决?
前段时间用Google浏览器在测试网站的加载速度的时候,发现百度的js跳转很慢,因为有使用百度云加速的服务,本来就有时候因为节点移到国外所以加载速度很慢或者甚至加载不了的情况偶尔出现,所以没在意。但是,这几天用手机访问破折君网移动站是发现根本访问不了,虽然之前偶尔也有这种情况发生,但是这次是连续好几天出现这种情况,偶尔能访问也是只能访问首页,百度Site APP生成的手机站内页打不开了!
因为这个网站的移动端是用百度siteapp做的,所以之前有网友提示手机端不能评论,但是懒得折腾也就一直放在那里没有处理。最近百度siteapp首页访问异常,然后在网上看到很多人都出现siteapp制作的手机网站不能访问了的情况,因此判断这应该不是单一情况,应该是siteapp自身出了问题,当我访问百度siteapp官方网站的时候,发现自从去年开始清理未备案网站的公告外就没有任何更新,再者之前已关闭变现功能及系统模板相继下架,而官方微博及论坛都清空或者跳转到另外的网站,所有百度应该是放弃了siteapp这个项目。
说实话,对于新手而言,百度siteapp确实有很大的帮助,毕竟不管从技术及安全的角度来讲,都能让新手快速将PC站转化为移动站。反正百度siteapp刚出来的时候,我就在(www.pzboy.com)这个网站就使用百度siteapp建站平台建了手机站。网站访问慢一点其实还好,但是直接不能访问这让我不能忍了。于是就果断删除百度siteapp,使用WordPress移动插件来实现移动站的展现,但是想彻底删除siteapp的适配及移动搜索数据的更新,只是做这些还是不够的,代码适配的开发,百度官方也有详细的说明,可分为两部分:Vary HTTP标头和Meta applicable-device标签。如果你也是用代码适配,那么你还需要做下面这些操作:
一、添加Vary HTTP 标头
为了使百度能够知道当您的页面发生变化时,同时需要用其他的ua重新抓取一遍,请您添加Vary HTTP标头。其作用在百度的文档里解释得很清楚:1、它会向百度传递一个信号,表示说这是个代码适配的站点,百度就会尽快把网站抓取一遍进行适配;2、它可以防止用户接收到错误的网页缓存。
这部分需要在网站的服务器上设置的,一般是在Nginx,Apache,IIS等,需要在服务器的配置里,设置Varyheader为Vary:Accept-Encoding, User-Agent
(1)在Nginx下,可以在配置文件中加上:more_set_headers-s 200 "Vary: " "Accept-Encoding, User-Agent"
注意:打开这个设置需要nginx同时安装有ngx_headers_more模块
(2)在Apache下,可以在配置文件里写上:Headerappend Vary User-Agent
二、定义Meta applicable-device 标签
Vary header 加上之后,为了让百度更好地识别我们的页面是PC还是Mobile,就需要使用百度自定义的这个Meta applicable-device标签了。这个标签可以帮助百度校验自己的判断,并及时进行修正。
(1)在pc的响应的head中添加<meta name="applicable-device" content="pc">
(2)在移动的响应的包头中添加<meta name="applicable-device" content="mobile">
注意:添加这个标记的位置是在你程序模板中修改,一般是在header.php文件中。
三、修改已生效的适配关系
pc站移动适配到wap移动站,pc站改版成html5自适应站或者代码适应站,wap域名已经删除,新发布的文章还是会自动适配到siteapp移动站,遇到这种情况刚完成第一、二步骤的操作是不够的,接下来就是要修改原来在百度移动搜索中设置的适配关系,彻底删除siteapp。这个方法可以参考百度站长论坛分享的《跳转适配成功后,能不能更改适配方法》的解决方法:
(1)使用移动适配工具提交对应关系,PC和移动填同一个URL(工具可以支持)
(2)让spider重抓PC端站点和M端站点
如果是新建独立移动站,那么只要重新提交新的适配数据进行覆盖就行了,待新数据适配成功后线上可生效。