首先用三句話告訴你 MIP 是什麼?html
加入 MIP 的準備工做git
網站編碼:必須是 UTF-8,子凡來解釋一下爲何是 UTF-8,而不是 GBK,gb2312,UTF-8 是國際通用,而 GBK 和 gb2312 是屬於國內中文的一個標準,因此在某些瀏覽器瀏覽可能出現亂碼,因此爲了更全面的兼容效果,因此 UTF-8 是必須的。github
瀏覽權限:無需登陸便可瀏覽,也就是說你的 MIP 頁面是須要能夠直接被瀏覽的,這樣百度搜索引擎才能直接抓取,不然改造 MIP 是沒有意義的。api
接入 MIP 的流程瀏覽器
1. 必須改造 HTML,也就是你必須先要擁有改造好的 MIP 頁面或者整個站點。bash
2.使用 MIP 組件,MIP 頁面上須要的一些功能或者效果只能經過 MIP 組件實現,不能使用自定義 JS 等特效。CSS 能夠自定義。服務器
3.改造後的代碼檢測與預覽,MIP 頁面改造完成後可使用官方提供的 MIP 校驗工具:www.mipengine.org/validator/v… 檢測一下代碼,或者頁面是否符合 MIP 規範。composer
4.提交數據,爲了讓百度更快的發現你的 MIP 頁面,你確定須要主動的去百度站長平臺提交,也能夠同時開發使用百度的主動推送等功能實現自動提交 MIP 頁面。curl
5.查看 MIP 是否上線,若是以上四點你都作完了,那麼你就能夠耐心的等待 MIP 生效,由於 MIP 生效是須要時間的,目前官方也並未給出時間,反正只要等就能夠了,通常會首先經過的網站首頁的 MIP,也就是說你在移動端使用百度搜索你的網站名,若是搜索結果下面域名後面有個淺藍色小閃電標識的圖標,那就說明你的 MIP 已經生效了。工具
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.test.com&token=2kxoiNIjWNPcWwO8&type=mip';
$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;複製代碼
PHP推送實例(使用guzzle):
首先,要先添加composer包
具體添加composer包的教程查看:github.com/guzzle/guzz…
$client = new Client();
$url = 'http://data.zz.baidu.com/urls?site=m.dog126.com&token=******';
$options = [
'headers' => ['content-type' => 'text/plain'],
'body' => "http://m.dog126.com/news_{$article_id}.html",
];
$client->post($url, $options);複製代碼
您能夠經過推送後返回的狀態碼和字段來判斷數據是否推送成功。
1,狀態碼爲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":[]
}
2,狀態碼爲4XX或500,表示推送失敗,返回字段有:
字段 |
是否必選 |
類型 |
說明 |
error |
是 |
int |
錯誤碼,與狀態碼相同 |
message |
是 |
string |
錯誤描述 |
常見的推送失敗返回示例說明:
error |
message |
含義 |
400 |
site error |
站點未在站長平臺驗證 |
empty content |
post內容爲空 |
|
only 2000 urls are allowed once |
每次最多隻能提交2000條連接 |
|
over quota |
超過每日配額了,超配額後再提交都是無效的 |
|
401 |
token is not valid |
token錯誤 |
404 |
not found |
接口地址填寫錯誤 |
500 |
internal error, please try later |
服務器偶然異常,一般重試就會成功 |