首頁 >後端開發 >php教程 >php基於curl實作主動推送最新內容給百度收錄的方法

php基於curl實作主動推送最新內容給百度收錄的方法

墨辰丷
墨辰丷原創
2018-06-01 09:40:443126瀏覽

這篇文章主要介紹了php基於curl主動推送最新內容給百度收錄的方法,分析了百度鏈接的提交方式及curl主動推送的實現方法,需要的朋友可以參考下

php curl的好處可以以最快的方式並且模仿post提供我們的url地址給百度搜尋引擎進行收錄。

百度連結提交三種方式:

1、主動推送:最快速的提交方式,推薦您將網站當天新產出連結立即通過此方式推送給百度,以確保新連結可以及時被百度收錄。

2、sitemap:您可以定期將網站連結放到sitemap中,然後將sitemap提交給百度。百度會週期性的抓取檢查您提交的sitemap,並對其中的連結進行處理,但收錄速度慢於主動推送。

3、手動提交:一次提交連結給百度,可以使用此種方式。

下面介紹使用curl主動推送連結的方式PHP範例,使用curl擴充:

#
$urls = array(
 'http://www.example.com/1.html',
 'http://www.example.com/2.html',
);
$api = 'http://data.zz.baidu.com/urls?site=www.dayecn.com&token=Db0ZoYUOwUyEp87Z';
$ch = curl_init();
$options = array(
 CURLOPT_URL => $api,
 CURLOPT_POST => true,
 CURLOPT_RETURNTRANSFER => true,
 CURLOPT_POSTFIELDS => implode("\n", $urls),
 CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
);
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
echo $result;

首先要在百度站長平台驗證站點,然後取得token金鑰,才有權限推送url給百度。百度站長平台:http://zhanzhang.baidu.com

可以在發布一篇文章的時候就把這篇文章的url推送給百度站長平台,或者批量推送,透過返回的$ result狀態判斷推送是否成功,回傳的狀態碼說明:

推送成功:

狀態碼為200,可能傳回下列欄位:


欄位 ##參數型別 #說明
success int #成功推送的url條數
remain int 當天剩餘的可推送url條數
not_same_site


##還是

array

由於不是本站url而未處理的url列表

#not_valid##否array
不合法的url清單

成功回傳範例:

{
 "remain":4999998,
 "success":2,
 "not_same_site":[],
 "not_valid":[]
}

推送失敗:

#########狀態碼為4xx,回傳欄位有:#################### ###欄位######是否必傳######類型######說明#############error######是### ###int######錯誤碼,與狀態碼相同############message######是######string######錯誤描述###############失敗返回範例:##########
{
 "error":401,
 "message":"token is not valid"
}
###############總結:以上就是本篇的全部內容,希望對大家的學習有所幫助。 ######相關推薦:#########PHP給前端傳回一個JSON物件#################php####插入mysql數據傳回id的方法##################php### 截取中英文混合字串的方法################ ###########

以上是php基於curl實作主動推送最新內容給百度收錄的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn