由于最近小V放寒假了所以時間多沒事也喜歡分析下網站日志,最近在分析日志的時候小V發現添加ping通知服務后,每次更新來的都是谷歌的蜘蛛,百度蜘蛛根本不來,按理說百度蜘蛛 就算再大牌也不能一次都不來啊,畢竟是百度也是支持ping協議的。
小V仔細研究了幾次才發現原來百度還是耍大牌了,各大廠商,當然也包括Wordpress,默認的ping服務都是是3個參數,即網站 名稱,首頁地址,feed地址,而百度這貨的ping呢,則是4個參數,即網站名稱,首頁地址,新網頁的地址,feed地址,所以使用wordpress默認的ping通知服務是通知不了百度的.
知道失效的原理解決起來就簡單多了,在functions.php里加入如下代碼:
- function bdping($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', 'bdping');
好了,博主也要坐等出效果.
新聞熱點
疑難解答
圖片精選