香港独立IP空间
香港php空间
美国php空间
域名注册

在网上一直流传传着一个加快wordpress收录的教程,那就是在wordpress后台的更新通知服务里加上百度ping XML_RPC地址来通知百度网站更新了快来收录,详情见百度站长平台:(百度ping)当时小编也觉得蛮不错的,就把百度ping和谷歌ping的地址一起加到了wordpress更新通知服务列表里,如下图:

w23 wordpress设置百度ping服务不生效的解决方法

wordpress

最近无忧主机小编强迫症又犯了,所以没事也分析下网站日志,最近在分析日志的时候小编发现添加ping通知服务后,每次更新来的都是谷歌的蜘蛛,百度蜘蛛根本不来。按理说百度蜘蛛就算再大牌也不能一次都不来啊,毕竟是百度也是支持ping协议的。小编仔细研究了几次才发现原来百度还是耍大牌了,各大厂商,当然也包括 WordPress,默认的ping服务都是是3个参数,即网站 名称,首页地址,feed地址;而百度这货的ping呢,则是4个参数,即网站名称,首页地址,新网页的地址,feed地址。所以使用wordpress 默认的ping通知服务是通知不了百度的。。。

既然wordpress的ping通知不兼容百度的ping服务那么我们只有苦逼的手动去提交地址么?其实无忧主机小编已经找到解决方法了,将以下代码加到主题的functions.php文件即可解决此问题,代码如下:

function v7v3_baiping($post_id) {

$baiduXML = ‘weblogUpdates.extendedPing’ . get_option(‘blogname’) . ‘ ‘ . home_url() . ‘ ‘ . get_permalink($post_id) . ‘ ‘ . get_feed_link() . ‘ ‘;

$wp_http_obj = new WP_Http();

$return = $wp_http_obj->post(‘http://ping.baidu.com/ping/RPC2′, array(‘body’ => $baiduXML, ‘headers’ =>array(‘Content-Type’ => ‘text/xml’)));

if(isset($return[‘body’])){

if(strstr($return[‘body’], ‘0’)){

$noff_log=’succeeded!';

}

else{

$noff_log=’failed!';

}

}else{

$noff_log=’failed!';

}

}

add_action(‘publish_post’, ‘v7v3_baiping’);

此方法小编已经测试几天了,发布文章后的确能通知到百度爬虫来抓取网页,不相信?发布文章后过几分钟再自己看看网站日志!请叫我无忧雷锋同志!

希望能够帮助到各位站在朋友!

 

本文地址:http://www.51php.com/wordpress/15876.html

喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^

阅读本文的人还阅读:


搜索技术文档