新聞中心
wordpress設置百度ping服務不生效的解決方法
在網(wǎng)上一直流傳傳著一個加快wordpress收錄的教程,那就是在wordpress后臺的更新通知服務里加上百度ping XML_RPC地址來通知百度網(wǎng)站更新了快來收錄,詳情見百度站長平臺:(百度ping)當時小編也覺得蠻不錯的,就把百度ping和谷歌ping的地址一起加到了wordpress更新通知服務列表里,如下圖: [caption id="attachment_15878" align="alignnone" width="546"] wordpress[/caption] 最近無憂主機小編強迫癥又犯了,所以沒事也分析下網(wǎng)站日志,最近在分析日志的時候小編發(fā)現(xiàn)添加ping通知服務后,每次更新來的都是谷歌的蜘蛛,百度蜘蛛根本不來。按理說百度蜘蛛就算再大牌也不能一次都不來啊,畢竟是百度也是支持ping協(xié)議的。小編仔細研究了幾次才發(fā)現(xiàn)原來百度還是耍大牌了,各大廠商,當然也包括 Wordpress,默認的ping服務都是是3個參數(shù),即網(wǎng)站 名稱,首頁地址,feed地址;而百度這貨的ping呢,則是4個參數(shù),即網(wǎng)站名稱,首頁地址,新網(wǎng)頁的地址,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'); 此方法小編已經測試幾天了,發(fā)布文章后的確能通知到百度爬蟲來抓取網(wǎng)頁,不相信?發(fā)布文章后過幾分鐘再自己看看網(wǎng)站日志!請叫我無憂雷鋒同志! 希望能夠幫助到各位站在朋友!
本文地址:http://www.gle-technology.com/wordpress/15876.html