這篇文章主要介紹了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"}
總結:以上就是本篇文的全部內容,希望能對大家的學習有所協助。