给WordPress添加百度无线sitemap

很多朋友都喜欢用WordPress这样的建站神器,普及率是很高的,不管出于什么目的让自己的网站被搜索引擎更多的收录貌似是很多人都愿意干的事儿,再者现在移动无线越来越普及,所以我们需要搜索引擎能够较多的抓取自己的网站。这里我来简单的写一个给WordPress添加针对百度无线协议的sitemap解决方案,大家也可以自己动手想别的办法。

我们先了解一下百度遵循什么sitemap协议,因为他是百度不是百度或者bing,他特么喜欢自己单干:

百度移动Sitemap协议:
http://www.baidu.com/schemas/sitemap-mobile/1/sitemap-mobile.xsd
Sitemap协议:
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd

 

接下来我们要自己制作WordPress的针对百度无线sitemap。

 

我这里用的是WordPress官方下载的XML Sitemaps这个插件,

 

后台XML Sitemaps Settings里面有:

Include Archive Pages
Include Author Pages
Empty Author Pages
Include Category Pages
Include Tag Pages
Exclude Pages
Generate Mobile Sitemap

 

我的选择是只勾选第4,5,7这三个选项即可。生成的sitemap文件存放在\wp-content\sitemaps\下面。

 

我们访问自己的sitemap文件http://xx.com/sitemap.xml会发现大致如下:
<urlset xmlns=”http://www.sitemaps.org/schemas/sitemap/0.9″ xmlns:mobile=”http://www.google.com/schemas/sitemap-mobile/1.0″>
<url>
<loc>http://localhost/blog</loc>
<lastmod>2015-06-10</lastmod>
<mobile:mobile/>
</url>

我们需要修改,打开插件里面xml-sitemaps-utils.php这个文件,找到(查不到在850行左右)
/**
* write_mobile()
*
* @param $loc
* @return void
*/
我们把下面的几行代码改成大致这样
function write_mobile($loc, $lastmod = null) {

$o = ‘<url>’ . “\n”;
$o .= ‘<loc>’ . htmlentities($loc, ENT_COMPAT, ‘UTF-8’) . ‘</loc>’ . “\n”;
$o .= ‘<mobile:mobile type=”pc,mobile”/>’ . “\n”;
$o .= ‘<lastmod>’ . htmlentities($lastmod, ENT_COMPAT, ‘UTF-8’) . ‘</lastmod>’ . “\n”;
$o .= ‘</url>’ . “\n”;

 

改动就是<mobile:mobile type=”pc,mobile”/>,这个是百度的自适应网页标准,当然你也可以自己选,反正有4中选择【参考】;还有一个就是按照了百度的格式先“协议”后“日期”,不过估计这个颠倒一下问题不大。

 

还没完,接着继续往下看找到:
. ( $this->mobile_sitemap == true ? ‘ xmlns:mobile=”http://www.google.com/schemas/sitemap-mobile/1.0″‘ : ”)

把里面的百度1.0给替换成百度的xmlns=”http://www.baidu.com/schemas/sitemap-mobile/1/”就可以了!

 

然后我们去zhanzhang.baidu.com登陆提交自己的sitemap就可以了!

本站QQ群:812451114,联系站长:zhujiceping@vip.qq.com