国产欧美日韩第一页|日本一二三不卡视频|在线精品小视频,亚洲第一免费播放区,metcn人体亚洲一区,亚洲精品午夜视频

PHPCMS實(shí)現自動(dòng)推送URL到百度站長(cháng)平臺

2016-06-03 17:56:55 13158

我們一起來(lái)看一篇關(guān)于PHPCMS實(shí)現自動(dòng)推送URL到百度站長(cháng)平臺,希望此教程能夠幫助到各位朋友.

百度站長(cháng)平臺開(kāi)放url推送接口,可以使用調用接口的形式主動(dòng)及時(shí)推送url給百度,下面演示在PHPCMS系統中如何使用接口自動(dòng)推送URL到百度站長(cháng)平臺.

在PHPCMS的libs/functions/global.func.php文件中添加一個(gè)百度推送函數:

  1. /** 

  2.  * 百度站長(cháng)平臺鏈接推送 

  3.  * @param $bdurls url數組 

  4.  * @date 2015.8.8 15:19 

  5.  */ 

  6. function push_baidu($bdurls){ 

  7.     $api = 'http://www.tjdsmy.cn/urls?site=www.tjdsmy.cn&token=自己去百度站長(cháng)平臺獲取'

  8.     $ch = curl_init(); 

  9.     $options =  array

  10.         CURLOPT_URL => $api

  11.         CURLOPT_POST => true, 

  12.         CURLOPT_RETURNTRANSFER => true, 

  13.         CURLOPT_POSTFIELDS => implode(" "$bdurls), 

  14.         CURLOPT_HTTPHEADER => array('Content-Type: text/plain'), 

  15.     ); 

  16.     curl_setopt_array($ch$options); 

  17.     $result = curl_exec($ch); 

  18.     $result = json_decode($result, 1); 

  19.     return $result

在需要推送的動(dòng)作,如發(fā)布一篇文章,修改一篇文章,或者生成一篇靜態(tài)文章頁(yè)的時(shí)候可以調用這個(gè)方法,比如我想在批量生成靜態(tài)頁(yè)的地方調用這個(gè)接口,去modules/content/crete_html.php文件的batch_show方法里,調用上面定義的方法:

  1. foreach($rs as $r) { 

  2.  if($r['islink']) continue

  3.  $this->db->table_name = $tablename

  4.  $r2 = $this->db->get_one(array('id'=>$r['id'])); 

  5.  if($r2$r = array_merge($r,$r2); 

  6.  //判斷是否為升級或轉換過(guò)來(lái)的數據 

  7.  if(!$r['upgrade']) { 

  8.   $urls = $this->url->show($r['id'], ''$r['catid'],$r['inputtime']); 

  9.  } else { 

  10.   $urls[1] = $r['url']; 

  11.  } 

  12.  $bdurls[] = $r['url']; 

  13.  $this->html->show($urls[1],$r,0,'edit',$r['upgrade']); 

  14. //phpfensi.com 

  15. //推送百度平臺 

  16. $push_result = push_baidu($bdurls); 

  17. $msg = ''

  18. if($push_result['success'] < 1){ 

  19.  $msg = '百度聯(lián)盟推送鏈接失??!'

最后幾行是修改后新加的代碼,首先要把更新哪些靜態(tài)頁(yè)的url放進(jìn)數組里,再調用這個(gè)方法傳參即可.

要在其他動(dòng)作如添加或者編輯文章的時(shí)候推送,原理是一樣的,找到對應的地方調用推送方法就行了

百度鏈接提交三種方式:

1、主動(dòng)推送:最為快速的提交方式,推薦您將站點(diǎn)當天新產(chǎn)出鏈接立即通過(guò)此方式推送給百度,以保證新鏈接可以及時(shí)被百度收錄。

2、sitemap:您可以定期將網(wǎng)站鏈接放到sitemap中,然后將sitemap提交給百度。百度會(huì )周期性的抓取檢查您提交的sitemap,對其中的鏈接進(jìn)行處理,但收錄速度慢于主動(dòng)推送。

3、手工提交:一次性提交鏈接給百度,可以使用此種方式。

下面介紹使用curl主動(dòng)推送鏈接的方式PHP示例,使用curl擴展:

  1. $urls = array

  2.     'http://www.tjdsmy.cn/1.html'

  3.     'http://www.tjdsmy.cn/2.html'

  4. ); 

  5. $api = 'http://www.tjdsmy.cn/urls?site=www.tjdsmy.cn&token=Db0ZoYUOwUyEp87Z'

  6. $ch = curl_init(); 

  7. $options =  array

  8.     CURLOPT_URL => $api

  9.     CURLOPT_POST => true, 

  10.     CURLOPT_RETURNTRANSFER => true, 

  11.     CURLOPT_POSTFIELDS => implode(" "$urls), 

  12.     CURLOPT_HTTPHEADER => array('Content-Type: text/plain'), 

  13. ); 

  14. curl_setopt_array($ch$options); 

  15. $result = curl_exec($ch); 

  16. echo $result

首先要在百度站長(cháng)平臺驗證站點(diǎn),然后獲取token密鑰,才有權限推送url給百度。百度站長(cháng)平臺:http://www.tjdsmy.cn

可以在發(fā)布一篇文章的時(shí)候就把這篇文章的url推送給百度站長(cháng)平臺,或者批量推送,通過(guò)返回的$result狀態(tài)判斷推送是否成功,返回的狀態(tài)碼說(shuō)明:

  1. pse: separate; border-spacing: 0px; -webkit-text-stroke-width: 0px;">


提交成功!非常感謝您的反饋,我們會(huì )繼續努力做到更好!

這條文檔是否有幫助解決問(wèn)題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問(wèn)題:
-->