baidu_sitemap.php,用PHP自动生成百度开放适配Sitemap提升手机站排名

本文详细指导了如何在Wordpress网站上实现百度和360的移动适配,包括查看版式声明、添加适配代码、修改functions.php文件、设置伪静态规则、生成并提交Sitemap。特别强调了PHP自动生成Sitemap的重要性及其适用范围。
摘要由CSDN通过智能技术生成

4、如何查看网站版式?一般在网站的

前面都会有相应的版式申明,如下所示:

XHTML版式申明:

WML版式申明:

HTML5版式申明:

5、如果你的手机站有多种版式,那么上面百度适配代码也请选择多个,总之以实际为准。如果发现还是PC通用的版式申明,那么请改成相应的mobile版式申明!

6、如果是 http://yoursite.com/wap 这种二级目录形式,请将代码中的m.zhangge.net全部替换成 yoursite.com/wap即可。

7、如果是http://yoursite.com?type=mobile 这种参数形式,请将2种代码中的<?php echo str_replace("zhangge.net","m.zhangge.net",the_sitemaplink()); ?>修改为:<?php the_permalink(); ?>?type=mobile

8、即加上你移动站对应的转换参数即可,至于代码中的首页对应关系该如何修改,相信可以自行搞定,无需赘述!而且这种形式站点可以略过下面的第二步,即不需要新增the_sitemaplink()函数。

三、修改Wordpress主题:新增the_sitemaplink()函数

1、请编辑主题目录下的functions.php文件,插入以下函数代码:

/** 开放适配相关函数 **/

function the_sitemaplink() {

return esc_url( apply_filters( 'the_permalink', get_permalink() ) );

}

2、做完以上步骤,你就可以手动访问2个php脚本查看效果了,比如:http://zhangge.net/sitemap_baidu_sp.php或者http://zhangge.net/sitemap_360_sp.php

3、若显示正常,你可以继续下一步了。若访问报500 Internal Server Error :File xxx is writeable by group错误,请将以上2个文件权限设置为644。

四、设置伪静态规则调整Sitemap中URL地址

1、从第上面最后的访问地址可以看出,用的是php的动态路径,而百度写明了需要提交xml格式(其实,我发现php格式也可以提交成功),360则写明了需要提交txt格式。

2、于是,接下来就是将地址伪静态化。编辑网站根目录的 .htaccess文件,如下代码所示位置新增8~11行内容:

deny from all

RewriteEngine on

RewriteCond %{HTTP_HOST} ^(www\.zhangge\.net)(:80)? [NC]

RewriteRule ^(.*) http://zhangge.net/$1 [R=301,L]

#sitemap-shipei-start

RewriteRule ^(sitemap_baidu_sp)\.xml$ $1.php

RewriteRule ^(sitemap_360_sp)\.txt$ $1.php

#sitemap-shipei-end

order deny,allow

.....略....

3、保存之后,应该可以直接访问xml和txt路径了,如:http://zhangge.net/sitemap_baidu_sp.xml或者http://zhangge.net/sitemap_360_sp.txt

五、在站长平台提交开放适配Sitemap文件

1、百度站长平台-开放适配:http://zhanzhang.baidu.com/mobiletools/add,点击放大。

2、提交成功预览:

3、360站长平台-移动适配:http://zhanzhang.so.com/index.php?m=Urlmap&a=submit,点击放大。

4、提交成功预览:

5、若以上未出现问题,那恭喜你!一劳永逸地搞定了百度开放适配和360移动适配这项闲得蛋疼的项目...!

六、PHP自动生成百度开放适配Sitemap文件小结

1、PHP代码是动态生成的,如此就保证了搜索引擎更新抓取的时候,是最新状态!而不会是之前那样苦逼手动去生成和更新!不过,暂时也稍有遗憾,仅仅生成了文章页面的对应关系,单页面和分类并未提供!不过,能适配文章也差不多了!

2、注意事项:本文提供的方法仅适合Wordpress建站程序,其他PHP建站程序仅提供参考思路;代码默认支持Linux系统,若是windows系统,需要修改换行符,若有疑问请留言咨询。最后,再次感谢php二次开发网的php技术支持!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
<?php /*  * SiteMap接口类  */ class SitemapAction extends Action{   private static $baseURL = ''; //URL地址   private static $askMobileUrl = 'http://m.xxx.cn/ask/'; //问答移动版地址   private static $askPcUrl = "http://www.xxx.cn/ask/";   //问答pc地址   private static $askZonePcUrl = "http://www.xxx.cn/ask/jingxuan/"; //问答精选Pc链接   private static $askZoneMobileUrl = "http://m.xxx.cn/ask/jx/"; //问答精选移动版链接   //问答setmaps   public function askSetMap(){     header('Content-type:text/html;charset=utf-8');     //获取问题列表     $maxid = 0;    //索引文件最大id     $minid = 0;    //索引文件最小id     $psize = 1000; //数据库每次取数量     $maxXml = 5000; //xml写入记录数量     $where = array();     //读取索引文件     $index = APP_PATH.'setmapxml/Index.txt';     //关联setmaps路径     $askXml = "../siteditu/ask/ask.xml";     if(!file_exists($index)){       $fp=fopen("$index", "w ");       if ( !is_writable($index) ){         die("文件:" .$index. "不可写,请检查!");       }首先取出1000条数据(可以灵活些成活的,方便以后修改),然后循环生成xml格式文件。file_puts_contens写入文件。然后再把生成的xml文件名称、取出问题的最小id、取出问题的最大id、取出问题的条数写出一个索引查询的txt文件当中,格式大概是这个样子的。0,3146886,3145887,1000发现最后面的条数是1000了吗、第一次select取出1000条数据、然后写入0.xml文件当中。把取出的xml文件名称、最小id、最大id、条数写入到索引查询txt中。第一次写入了1000条数据到0.xml、生成条数为1000。第二次查询的时候select语句会成为。 where id > 取出的最大id(当前mysql为正序查询、如果为倒序、改成小于) limit 1000 这样的话又取出1000、然后修改索引查询txt的最小id、最大id、生成条数加到2000。以此类推等生成条数到了5000的时候再另起一行写入索引文件、类似这样0,3146886,3145887,5000 1,3148886,3147887,1000这样写的话就减轻了服务器的压力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值