网站建设

移动搜索SEO分享:PHP自动生成百度开放适配及360移动适配专用的Sitemap文件

导读 随着智能手机的高速普及,人们将更多时间放到了手机上,麻利的做着以前只能在电脑上才能完成的购物、聊天、信息获取等事情。如此一来,站长们对移动端的SEO也就越来越关注。当然,也各大搜索引擎也开始发力移动搜索,比如百度近期推出的2014网站移动化大赛和开放适配、360推出的移动适配等。而张戈对于移动适配也是关注已久,写过不少相关文章,现在就来分享一个通过php自动生成百度开放适配和360移动适配的专用sitemap文件的方法。 先再次回顾下,张戈关于百度开放适配和360移动适配的历次折腾记录: ①、百度开放适配专用sitemap制作说明 ②、360站长平台移动适配文件制作说明 ③、百度开放适配&360移动适配专用Sitemap转换工具 ④、利用Meta声明来做百度开放适配 必须要申明的是,下面介绍的专用适配Sitemap,并不同于我们平常所说的网站地图Sitemap,百度开放适配Sitemap里面是PC页—手机页的对应关系,例如: 此文的PC页面地址为:https://zhang.ge/3816.html 而对应移动版页面为:http://m.zhang.ge/3816.html 那么可以通过这个专用sitemap文件将对应关系提交到百度开放适配,一旦适配成功,百度将会在移动搜索中将原PC页结果替换为对应的手机页结果。具体可以参考百度官方说明文档:http://zhanzhang.baidu.com/wiki/39#3 另外,响应式网站的开放适配请前往查看张戈博客的另一篇文章:https://zhang.ge/4530.html 弄清楚概念之后,咱们继续往下看。 一、准备工作 在生成适配文件之前,你需要一个PC网站的手机版本。本文所提供的代码默认支持的是二级域名做移动站,想用二级域名做移动站的请查看张戈博客的相关文章: ①、完美实现移动主题在360网站卫士缓存全开情况下的切换 ②、分享WordPress Mobile Pack汉化精简版及隐藏指定插件更新提示的方法   二、php代码 ①、百度开放适配: ②、360移动适配: 代码说明: <1>、以上代码默认限制1000篇文章,如需修改请改变第5行的数值即可; <2>、涉及到张戈博客域名( *.zhang.ge )的代码,请根据实际情况修改成自己网站的域名; <3>、请网站的实际版式,修改代码中板式标签部分,即将<xhtml_url>标签替换成实际的网站版式,以下为三种网站版式,选择一种即可: 不会看版式的,请参考如下说明对比一下网站的申明: 如果发现你的移动站用的还是PC通用的版式申明,那么请改成相应的mobile版式申明,以加快搜索引擎的识别。 补充说明:如果是其他类型的移动站,该如何修改? (1)、如果是 http://yoursite.com/wap 这种二级目录形式,请将代码中的m.zhang.ge全部替换成 yoursite.com/wap即可。 (2)、如果是http://yoursite.com?type=mobile 这种参数形式: 请将2种代码中的 修改为: 即加上你移动站对应的转换参数即可,至于代码中的首页对应关系该如何修改,相信可以自行搞定,无需赘述! 三、新增函数 请编辑主题目录下的functions.php文件,插入以下函数代码: 做完以上步骤,你就可以手动访问2个php脚本查看效果了,比如: https://zhang.ge/sitemap_baidu_sp.php https://zhang.ge/sitemap_360_sp.php 若显示正常,你可以继续下一步了。 目前已收集到的报错反馈,及相应解决办法: ①、若访问报500 Internal Server Error :File xxx is writeable by group错误,请将以上2个文件权限设置为644。 ②、访问百度开放适配php地址后,大概在16行报出如下错误: 这个和Apache设置有关系,目测是Win主机下特有问题。 解决办法有2个: 第1种:请打开 php.ini 然后把 output_buffering 设为 on 。重起appache,OK(可以找主机商解决); 第2种:删除上文中百度开放适配代码中的第25行: header("Content-type: text/xml"); 应该可以解决。   四、伪静态规则 从第二步最后的访问地址可以看出,用的是php的动态路径,而百度写明了需要提交xml格式(其实,我发现php格式也可以提交成功),360则写明了需要提交txt格式。于是,接下来就是将地址伪静态化。 编辑网站根目录的 .htaccess文件,如下代码所示位置新增8~11行内容: 保存之后,应该可以直接访问xml和txt路径了,如: https://zhang.ge/sitemap_baidu_sp.xml https://zhang.ge/sitemap_360_sp.txt   五、前往提交 ①、百度站长平台-开放适配:http://zhanzhang.baidu.com/mobiletools/add 提交成功预览:   ②、360站长平台-移动适配:http://zhanzhang.so.com/index.php?m=Urlmap&a=submit   提交成功预览:   若以上未出现问题,那恭喜你!一劳永逸地搞定了百度开放适配和360移动适配这项闲得蛋疼的项目...! 至此,张戈终于搞定百度开放适配和360移动适配专用sitemap没法自动更新的历史遗留问题! 六、效果展示 在手机上百度,site:zhagnge.net 可得到如下图结果:     看了上图,你可能会说,这不就只是收录了二级移动站么?那好,搜索 site:m.zhang.ge试试:   看完上图无需多言,相信你已经明了百度开放适配是个啥效果了!   篇后语:php代码是动态生成的,如此就保证了搜索引擎更新抓取的时候,是最新状态!而不会是之前那样苦逼手动去生成和更新!不过,暂时也稍有遗憾,仅仅生成了文章页面的对应关系,单页面和分类并未提供!不过,能适配文章也差不多了! 注意事项; ①、本文提供的方法仅适合Wordpress建站程序,其他PHP建站程序仅提供参考思路; ②、代码默认支持Linux系统,若是windows系统,需要修改换行符,若有疑问请留言咨询。...
阅读全文