让商业变得更智能

MIP 全称 Mobile Instant Pages,移动网页加速器,是百度提出的页面加速解决方案

MIP (Mobile Instant Pages - 移动网页加速器) 主要用于移动端页面加速。

瞬间加速:

移动页面速度提升30-80%,支持在搜索引擎中沉浸式浏览,平均耗时最高降低80%。

提升流量:

搜索结果页专属icon,MIP页,在搜索引擎中的点击量提升可,高达13%,到达率提升5-40%

搜索优待:

百度搜索会给予MIP结果页页,面级别优待,抓取、收录、排序一脉相承

体验优化:MIP页面符合百度移动友好度,规范,页面内容将以更友好的,方式瞬时到达用户

这篇文档将带你快速创建一个 MIP 页面。

1. 创建 HTML 文件

首先创建一个标准的 HTML 文件 , 注意:

  • <html>标签中增加mip标识
  • 编码为 utf-8
  • 添加 meta-viewport,用于移动端展现
<!DOCTYPE html>
<html mip>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
<title>Hello World</title>
</head>
<body>
<h1>Hello World!</h1>
</body>
</html>

2. 添加 MIP 运行环境

在 HTML 代码中,添加 MIP 依赖的mip.jsmip.css

<!DOCTYPE html>
<html mip>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
<link rel="stylesheet" type="text/css" href="https://mipcache.bdstatic.com/static/v1/mip.css">
<title>Hello World</title>
</head>
<body>
<h1>Hello World!</h1>
<script src="https://mipcache.bdstatic.com/static/v1/mip.js"></script>
</body>
</html>

3. 添加 MIP 关联标签

<link rel="miphtml"><link rel="canonical">主要用于告知搜索引擎页面间的关系。添加关联标签后,MIP 页的会继承 原页面 (移动端) 的点击权重,同时 MIP 页 将作为搜索引擎的首选导流页面。
使用规则:

  • <link rel="canonical">在 MIP 页 中使用,<link rel="miphtml">在 原页面 使用。
  • 若 原页面 中已经存在<link rel="canonical">标签指向 PC 页,则 MIP 页 <link rel="canonical">的 href 也指向 PC 页。
  • 若 MIP 页没有对应的原页面,则指向 MIP 页本身 url。
<!DOCTYPE html>
<html mip>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
<link rel="stylesheet" type="text/css" href="https://mipcache.bdstatic.com/static/v1/mip.css">
<!--canonical 中的链接填写对应的非 mip 页地址-->
<link rel="canonical" href="https://www.mipengine.org/test_xxx.html">
<title>Hello World</title>
</head>
<body>
<h1>Hello World!</h1>
<script src="https://mipcache.bdstatic.com/static/v1/mip.js"></script>
</body>
</html>

4. 添加样式

出于速度考虑,建议內联使用 css 样式。所有样式写在<style mip-custom></style>中,注意:style 标签仅允许出现一次。

<!DOCTYPE html>
<html mip>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
<link rel="stylesheet" type="text/css" href="https://mipcache.bdstatic.com/static/v1/mip.css">
<!--canonical 中的链接填写对应的非 mip 页地址-->
<link rel="canonical" href="https://www.mipengine.org/test_xxx.html">
<title>Hello World</title>
<style mip-custom>
h1 { color: red;}
</style>
</head>
<body>
<h1>Hello World!</h1>
<script src="https://mipcache.bdstatic.com/static/v1/mip.js"></script>
</body>
</html>

5. 替换禁用 HTML 标签

注意:MIP 十分关注页面速度,也因此禁用了一些引起拖慢速度的 html 标签(禁用列表)。例如,<img>标签会引起浏览器的 repaint 和 reflow,为了避免这些,MIP 提供了替代标签<mip-img>。详见 <mip-img>使用文档

<!DOCTYPE html>
<html mip>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
<link rel="stylesheet" type="text/css" href="https://mipcache.bdstatic.com/static/v1/mip.css">
<!--canonical 中的链接填写对应的非 mip 页地址-->
<link rel="canonical" href="https://www.mipengine.org/test_xxx.html">
<title>Hello World</title>
<style mip-custom>
h1 { color: red;}
</style>
</head>
<body>
<h1>Hello World!</h1>
<mip-img layout="responsive" src="https://www.mipengine.org/static/img/mip_logo_3b722d7.png"></mip-img>
<script src="https://mipcache.bdstatic.com/static/v1/mip.js"></script>
</body>
</html>

6. 使用 MIP 组件

警告:出于对代码质量和性能的考虑,MIP 页中不允许自定义 javascript 代码。

在一个合法的 MIP 页面中,所有的交互通过引入 MIP 组件实现。MIP 组件可以理解为封装了 js 的自定义 html 标签。上一步中的<mip-img>也是一个 MIP 组件。点击这里 查看更多组件。

我们以分享组件为例,根据 分享组件文档,组件对应的 html 标签为<mip-share>,需要依赖//mipcache.bdstatic.com/static/v1/mip-share/mip-share.js脚本,用在页面里就是这样:

<!DOCTYPE html>
<html mip>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
<link rel="stylesheet" type="text/css" href="https://mipcache.bdstatic.com/static/v1/mip.css">
<!--canonical 中的链接填写对应的非 mip 页地址-->
<link rel="canonical" href="https://www.mipengine.org/test_xxx.html">
<title>Hello World</title>
<style mip-custom>
h1 { color: red;}
</style>
</head>
<body>
<h1>Hello World!</h1>
<mip-img layout="responsive" src="https://www.mipengine.org/static/img/mip_logo_3b722d7.png"></mip-img>
<mip-share title=" 分享:我的第一个 MIP 页面 "></mip-share>
<script src="https://mipcache.bdstatic.com/static/v1/mip.js"></script>
<script src="https://mipcache.bdstatic.com/static/v1/mip-share/mip-share.js"></script>
</body>
</html>

在使用组件时,请注意阅读组件文档,查看组件是否依赖额外脚本。如果依赖,请在 mip.js 之后引入脚本。

7. 预览

开发完成后,可以使用 MIP 校验工具 保证代码规范。

提示: 校验代码,使用 MIP 校验工具
预览线上 URL 异步打开效果,使用 MIP 预览工具

MIP 页文件可以直接运行,你可以选择如下方式,像预览普通 HTML 站点一样预览 MIP HTML 页面:

  • 直接在浏览器中打开(由于 XML Http Requests 失败可能会导致某些元素预览失败)
  • 在本地部署一个服务,如 apache,nginx 等
  • 使用 mip-cli 辅助预览,使用方法见 MIP 博客:开发教程一

8. 起飞

到目前为止,你已经创建好了一个 MIP 页面。这个页面有图,有文,能分享,可以在浏览器中运行。