首先用三句话告诉你 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 |
服务器偶然异常,一般重试就会成功 |