利用PHP实现移动端mip主动推送

首先用三句话告诉你 MIP 是什么?

  1. MIP,是一套应用于移动网页的开放性技术标准
  2. MIP,是一个打包的页面加载提升解决方案
  3. MIP,是移动网页加速器

加入 MIP 的准备工作

网站编码:必须是 UTF-8,子凡来解释一下为什么是 UTF-8,而不是 GBK,gb2312,UTF-8 是国际通用,而 GBK 和 gb2312 是属于国内中文的一个标准,所以在某些浏览器浏览可能出现乱码,所以为了更全面的兼容效果,所以 UTF-8 是必须的。

浏览权限:无需登录即可浏览,也就是说你的 MIP 页面是需要可以直接被浏览的,这样百度搜索引擎才能直接抓取,否则改造 MIP 是没有意义的。

接入 MIP 的流程

1. 必须改造 HTML,也就是你必须先要拥有改造好的 MIP 页面或者整个站点。

2.使用 MIP 组件,MIP 页面上需要的一些功能或者效果只能通过 MIP 组件实现,不能使用自定义 JS 等特效。CSS 可以自定义。

3.改造后的代码检测与预览,MIP 页面改造完成后可以使用官方提供的 MIP 校验工具:https://www.mipengine.org/validator/validate 检测一下代码,或者页面是否符合 MIP 规范。

4.提交数据,为了让百度更快的发现你的 MIP 页面,你肯定需要主动的去百度站长平台提交,也可以同时开发使用百度的主动推送等功能实现自动提交 MIP 页面。

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=devkang.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包的教程查看:https://github.com/guzzle/guzzle

$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

服务器偶然异常,通常重试就会成功

猜你喜欢

转载自blog.csdn.net/qq175023117/article/details/81742567
今日推荐