MIP实操指南

作者:鼎极网络发布日期:2019-11-15浏览次数:113

  “MIP (Mobile Instant Pages - 移动网页加速器),  是一套应用于移动网页的开放性技术标准。通过提供MIP-HTML规范、MIP-JS运行环境以及MIP-Cache页面缓存系统,实现移动网页加速。”本教程由MIP爱好者合力撰写,由百度工程师确认,会帮助你完整的搭建一个MIP站点。

  MIP是什么?

  MIP的定义

  MIP是Mobile Instant Pages的简称,也就是移动网页加速器,是一套应用于移动网页的开放性技术标准,使用  MIP无需等待加载,页面内容将以更友好的方式瞬时到达用户。其核心价值是提升了移动端渲染能力。

  

1.png

  (官网:https://www.mipengine.org/)

  MIP诞生的背景

  工信部2016年新发布的数据,移动互联网用户1月净增1942.1万户,同比增长11.8%,总数达9.8亿户。随着移动设备的性能不断提升、网络速度大幅提高,用户群体对移动网页等待的耐心在逐渐降低,更多的时候要求移动网页可以瞬间打开。

  以往研究数据表明网站打开速度对用户浏览、电商成单量、搜索引擎的搜索量等都有很大影响!

  如:  Facebook每慢500ms用户浏览下降3%,Amazon每增加100ms成单量下降1%,Google每增500ms搜索量下降25%等等;

  这种环境下,我们要考虑的问题,除了网站是否需要移动客户端外,还有如何程度的提高移动网站的用户体验。那么你的移动网页用户体验合格吗?打开的速度够快吗?内容够简洁突出吗?经常出现各种安全问题吗?

  万众瞩目下,百度推出了针对提高移动网页打开速度和用户体验的新标准规范,以及解决方案。

  

2.png

  MIP提升性能的奥秘

  通俗来讲,移动网站按照百度提供的网页标准规则进行修改,修改合格后,百度将你的网站放在百度服务器上面。你的移动网站在修改之后,不仅网页更加简洁规范,而且接入百度服务器之后网页的打开速度将非常之快,并且可以提升安全性能。

  MIP之所以可以达到这种效果主要归功于其组成的三部分:

  MIP HTML(页面标准主要包含Css、HTML代码、图片)——为了让移动网页更加简洁规范

  MIP JS (引用官方标准化JS文件)——提供了网页基础的JS需要

  MIP Cache(接入官方缓存服务器)——百度缓存服务器,加速环节重要的部分!

  

3.png

  MIP和CDN有什么区别

  从MIP性能表现上看,主要是体现在页面加载快,用户体验好等特点,所以很多人产生了疑问,MIP是不是等同于CDN,已经使用CDN还要不要改造成MIP?  接入MIP还要改,那么麻烦,那我直接用CDN多好?

  事实上他们还是有比较明显的区别,主要在五个方面:

  1、MIP要求站点必须按照 MIP标准进行修改或者重新制作,CDN只会站点提供节点加速服务,无需修改。

  2、MIP服务器基本上是在用百度移动端的快照缓存服务器。而CDN提供的节点是无法和百度服务器相媲美的。

  3、MIP地址使用是百度缓存服务器域名,可以提升一定安全性,而CDN还是自己的域名;

  4、MIP只针对移动页面进行加速,不影响PC端,而CDN则是可以支持不同用户端;

  5、MIP一项长久免费的开源计划,而大部分CDN是需要付费使用的。

  MIP HTML是为了更加规范移动网页而推出的网页标准,而不是单纯为了接入MIPCache服务器提出的标准。

  MIPCache部分确实相当于CDN的功能,但是这个MIPCache百度服务器数量是国内任何一家CDN节点数量上无法去相比的,而且还是免费提供给MIP站点的站长。

  百度蜘蛛对于移动站点的抓取,接入MIP Cache的MIP站点更加有优势,因为网页已经早已缓存到百度服务器。而这一点,更是CDN无法相比的。

  MIP改造难不难?

  通俗讲,MIP的改造,就是一些基础的HTML标签替换成MIP HTML标签,接入百度缓存服务器的过程。

  我看到有人在改MIP站点的时候,抱怨,好难,这个功能没有,那个组件没有。其实,MIP的旨意不是让你继续沿用过去网页的标准,而是为了提高网页的打开速度,通过MIP的新标准,去简化规范网页。

  所以说,根据MIP HTML标准修改原网站,或者根据MIP  HTML新建网站模版,是非常简单的。由于目前是MIP前期,建议大家采取新建MIP站点,并保留原移动站点的模式。

  加入MIP的必要性

  MIP能做什么

  MIP能帮助站长和网站开发者快速搭建移动端页面。

  MIP怎么加速?MIP从前端渲染和页面网络传输两方面进行优化,杜绝页面渲染中的阻塞问题,提升页面展现速度。

  移动站应该用MIP吗?这里有五个原因,告诉你MIP的好处:

  加速移动端页面,一切的基础

  为减少DNS解析,MIP-Cache将静态文件以相对路径储存在百度CDN中;为减少网络传输耗时,MIP-JS  控制静态资源的按需加载,MIP-Cache系统优先从CDN读取文件;为减少浏览器渲染重绘耗时,MIP-HTML  对<img>,<video>等造成浏览器重绘的标签进行了封装控制。

  根据2016年8月数据,页面MIP化之后,页面展现时间减少了30%-80%。如果您的页面只有简单交互,却引用了庞杂的前端代码库,那么尝试MIP之后速度能够得到显著提升。

  速度对于页面意味着什么呢?如果一个页面需要3秒来打开,用户就需要盯着白屏等待三秒,这很容易引起用户的不耐和放弃。也就是说,一个页面能在眨眼之间打开,意味着更少的用户放弃。所以说,对于页面来讲,速度是一切的基础。

  提升到达率和用户体验,更少的流失率

  正如上文提到,使用MIP规范之后页面的打开速度会大幅提高,减少用户的等待时间,减少用户放弃。

  试想一下,当全站的每个页面都能在1秒内打开,用户每次点击都会立马得到相应,那么就会提高用户体验和满意度。如果页面内容有趣,用户就会在各个页面间冲浪(Surf)。在日均UV(Unique  Visitor, 独立访客)不变的情况下,页面的PV(Page View)会有所增加。此时,用户消费了更多网页提供服务时,页面广告也会得到更多的曝光。

  百度搜索提权,的用户量

  众所周知,百度的自然结果是根据用户点击和页面质量排名的。在2015年年底,我们推出了《百度搜索Mobile  Friendly标准》(下文简称《MF标准》),在站长平台的说明中,《MF标准》也会作为页面排序的参考因素。

  在《MF标准》中,有页面加载速度体验一项。使用MIP规范,能够加快网页加载速度,使页面标准。

  开发简单,迁移成本低

  迁移已有页面到MIP并不是一件困难的事情。MIP-HTML组件和JS运行环境与前端代码语法相同,官网文档中有详细的步骤,我们也会陆续推出文字和视频教程。我们还为开发者提供了实时校验工具,帮助MIP用户开发出完全符合规范的页面。

  已有组件兼容性好,也可个性化定制新组件

  MIP-HTML  拥有不断完善的的组件库可以使用。图片预览,视频播放,分享组件均已上线。直接使用已有组件,能够代码质量和各个终端浏览器的兼容性。利用小快的方式达到交互效果。

  除此之外,MIP是一个开源的项目,提供了《扩展组件开发规范》,支持MIP用户自己开发个性化组件,交由MIP开发小组审核后即可上线使用。

  如何加入MIP

  什么网站适合加入MIP

  结合目前MIP官网技术文档和已有案例反馈,MIP已经可以完美支持资讯、图片、企业、小说、论坛等信息流类型的网站。复杂的页面暂不建议MIP改造,目前对资讯、图文类支持已较好,若功能较为复杂的建议自定义组件或等待MIP项目小组开发。

  

4.png

  抛开网站类型不谈,存在以下问题的网站更要加入MIP:

  1、网站加载速度慢,打开速度时间长

  影响网站加载速度的因素除了外在因素(服务器带宽、庞大的数据库)外,绝大多数是网站本身的问题,例如:冗余代码、用了大量js调用,网站图片太大、flash文件等。MIP的规则就是针对MIP-HTML规范、MIP-JS运行环境以及MIP-Cache页面缓存系统进行优化,实现移动网页加速。

  2、用户体验差,跳出率较高的网站

  网站弹出广告过多、内容质量差、加载速度慢都是影响用户体验差的因素,为了避免这些现象,MIP要求将所有的资源(广告、图片、音频和视频)标明尺寸。当资源真正加载时,所有资源大小可以被立即推断出并迅速用于计算页面布局,加载中的资源将无缝呈现,不必因为页面频繁更新布局而影响到用户的阅读体验。而且MIP提供与MIP  runtime兼容的封装好的组件来实现,严格控制外部资源的加载,来确保其高效性,开发者的任何自定义脚本,都需要用MIP的tag反馈给MIP,例如mip-ad、mip-iframe等,这些方式不会阻塞页面的layout和渲染。

  MIP改造难不难?

  通俗讲,MIP的改造,就是一些基础的HTML标签替换成MIP HTML标签,接入百度缓存服务器的过程。

  有人在改MIP站点的时候,抱怨,好难,这个功能没有,那个组件没有。其实,MIP的旨意不是让你继续沿用过去网页的标准,而是为了提高网页的打开速度,通过MIP的新标准,去简化规范网页。

  所以说,根据MIP HTML标准修改原网站,或者根据MIP  HTML新建网站模版,是非常简单的。由于目前是MIP前期,建议大家采取新建MIP站点,并保留原移动站点的模式。

  加入MIP的接入流程

  经过前面的内容介绍,相信你已经迫不及待想加入MIP生态了吧。如果你的网站在上述MIP支持的改造范围中,那么只需要4个步骤即可完成MIP网站改造:

  

5.png

  (1) 改造评估:

  评估自身网站情况是否适合改造MIP,如果支持则要选择一套改造方案;目前主要有两种方式,一是在原页面上进行改造,另外一种是新建一套MIP模板。

  原有页面修改方案:主要适用于拥有独立移动站的网站,优点是改造内容少,技术成本低,方便维护等优点 ;

  新建MIP页面方案:适用于目前所有网站的情况,具有独立好操作,改造干扰少,未知风险小等特点,美中不足的是因为是新的url,需要蜘蛛从新抓取,接入速度略慢;

  (2) 页面改造:

  确定改造方案后,,按照MIP官网内容要求进行代码改造。改造需具备一定的html知识,改造MIP教程请按照教程来,特别注意大小写,建议全局小写。如果初次接触MIP,可以先学习下《新手指南》,更详细请参考《如何用MIP的快速搭建移动页面》。

  

6.png

  (3) 工具校验:

  页面改造完成后,可以通过官方工具进行校验,工具会给出是否合格的提示;点击进入检验地址:https://www.mipengine.org/validator/preview

  

7.png

  (4)数据提交:

  校验合格后,通过站长平台的MIP工具,以主动推送的方式进行数据提交;

  MIP提交地址:http://zhanzhang.baidu.com/mip/index

  

8.png

  (5)线上生效:

  当MIP数据库收到站点提供的数据,会对数据进行抓取、收录、校验等一系列的步骤,后在线上生效,并且在快照上回有一个

  

9.png1.png

  

  MIP快速搭建移动页面通用篇

  如何快速完成MIP改造?网站可以选择直接将原先的移动站点直接改成MIP站,也可以单独再做一套MIP站点与移动站并存。

  从一个html页面的上下顺序一步步改造,只要按照本文章内的一步步来,即可完成MIP改造。

  1. Doctype改造

  1.1 打开你的模板或代码文件看行,将<! DOCTYPE ***>改为<!DOCTYPE html>

  2. <Html>标签改造

  2.1 完成步后,继续修改下一行代码,将: <html  xmlns="http://www.w3.org/1999/xhtml">或:<html> 改成:<html  mip>注意全部小写

  3. Head部分改造

  3.1 <head>标签必须是完全小写。

  3.2 页面的编码必须是utf-8,修改声明为:<meta charset="utf-8">

  3.3 页面中加入<meta name="viewport" content="width=device-width,  minimum-scale=1, initial-scale=1">

  3.4 页面中加入MIP专用样式文件< link rel="stylesheet" type="text/css"  href="https://mipcache.bdstatic.com/static/mipmain-v1.0.1.css" >

  3.5 这里需要告诉搜索引擎改页面对应的标准html页面地址,如果存在则标识<link rel="canonical"  href="H5/PC原页面">  其中href值修改成为与当前mip页面相对应的标准页面url地址。如果只有mip页面没有相对应的标准页面则标识为:<link  rel="standardhtml" href="MIP自身"> 其中的href值为当前页面地址。

  4. Body内改造

  4.1 首先<body>标签必须是小写的;

  4.2 加入MIP专用JS文件:<script  src="https://mipcache.bdstatic.com/static/mipmain-v1.0.2.js"></script>

  4.3 替换<img>, <style>, <frame>, <form>,<  input>, <textarea>, <select>,  <option>标签为对应MIP组件标签,具体见官网文档。

  4.4 引用MIP-JS 运行环境 <script src=  "https://mipcache.bdstatic.com/static/mipmain-v1.1.0.js"></script>放在页面尾部。

  5. 使用MIP Cache注意事项

  5.1 一般Cache图片、样式、脚本,做完上述4步后,修改资源地址为相对地址或合法地址(以校验工具为准);

  5.2 Cache的内容需要更新需要通过MIP数据提交中的更新数据接口,把更新的url链接推送过去,等待百度更新。

  6. 组件的使用

  6.1 除了上述这些需求外,一部分站点可能需要用到组件,官网文档包含了目前支持的所有组件,详见《组件概述》。

  6.2目前官网开发了很多通用性组件,并提供了使用示例,以百度统计组件为例:在百度统计中申请js统计代码,将其中的token值截取出来,如下图所示字符串:

  

10.png

  将字符串以<mip-stats-baidu  token="02890d4a309827eb62bc3335b2b28f7f"></mip-stats-baidu>的形式植入到页面中,并在页面中嵌入  <script  src="https://mipcache.bdstatic.com/static/v1.1/mip-stats-baidu.js"></script>

  以上步骤就可以将百度统计组件植入到MIP页面中了!

  6.3特定组件的使用:对于官网没有的组件,网站可以自主开发组件接入,具体方法可以参考《扩展组件开发规范》;


关键词:

  1) B2B:Business to Business.

  2) B2C:Business to Consumer

  3) C2C:Consumer to Consumer

  4) back link 即反向链接.常规链接在源文档内部进行声明和显示,而反向链接则在目的文档内部进行声明.如果B网站指向 A 网站,那么B网站就是都属于A 网站的反向链接.

  5) black hat:黑帽,简单的讲就是 SEO作弊

  6) bounce rate 就是一个跳出率,当一个用户进入一个网页,接着在一个会话时间内没有看过该站其他的页面就分开了该网站,就被称作Bounce。请注 意这里有两个参数,一个是是否点击浏览其他的页面,第二个就是哪个会话时间段。 这个Bounce Rate越低越好,说明用户访问了更多的页面。而且这个Bounce Rate已经是网站流量统计的一个通用标准,一般及格的流量统计都有。

  7) bread crumbs “面包屑型”架构让用户对他们所访问的此页与彼页在层次结构上的关系一目了然。这种网站结构的其中一个明显的特性体现莫过于返回导览功能。

  8) Canonical Issues (内容重复的一种) 所谓 Canonical Issues,主要指网站的主访问路径,如果网站存在多种访问方式,搜索引擎会取舍一种其认为佳的方式确定为“权威地址”,比如说,对大多数网站而言,其主页可以用以下三种 URL访问:

  9) click fraud 欺骗点击是发布者或者他的同伴对PPC广告进行恶意点击,因而来得到相关广告费用.欺骗点击降低了客户对广告商的信任.

  10) cloak 隐藏作弊 为了让你的网页被索引而采用一些专门针对搜索引擎的伎俩而不是着眼你的用户。比如隐藏一些不相关的关键词在你的页面,虽然访问者看不见但搜索引擎可以发现。Cloak 实际上是这么一个程序或者脚本:它查看 HTTP 头的内容,比如 IP 地址,User-Agent,URL 来决定显示不同内容给访问者。

  11) CMS Content Management System 内容管理系统,主要用于文章发布的系统.

  12) CPC Cost Per Click 即 以每点击一次计费。这样的办法加上点击率限制可以〖WX)〗加强EMU 的难度,而且是宣传网站站点的优方式。

  13) CPM Cost Per Thousand impressions (每千人成本)广告显示 1000次所应付的费用。

  14) crawler (同bot, spider) "蜘蛛"是通过链接结构在互联网中爬行来收集数据.

  15) duplicate content "重复内容"是一个页面的内容和互联网中另一个页面相同或非常相似.

  16) Feed 本意是“饲料、饲养、(新闻的)广播等”,RSS 订阅的过程中会用到的“Feed”,便是在这个意义上进行引申,表示这是用来接收该信息来源更新的接口.可以理解为,你的Blog页面是给人读的,而Feed 是给程序读的。

  17) frames "框架" 当我 们在浏览一个应用 Frames设计的网页,我们其实是在浏览至少三个文件。这些文件被编译到一 起,使它们看起来是一个文件。

  18) HTML 超文本标记语言(Hyper Text Markup Language)很简单,它就是编写网页的语言之一.

  19) in bound link (inlink, incoming link) 可直译为“来自外部网站的链接”,也就是我们通常所说的一个网站“被其他网站链接的数量”,

  20) indexed Pages "索引页"就是被搜索引擎索引的页面.

  21) inlink (incoming link, inbound link) 导入链接 指其他网站连到本网站的链接。

  22) keyword 关键字 是指您要作搜索引擎排名的词.

  23) keyword cannibalization 关键字拆解 就是在一个站点许多页面过度应用同一关键字,导致用户和搜索引擎难以分辩那个是这个关键字相关的页面.

  24) keyword spam (keyword stuffing) 关键字堆砌 为了晋升,目的关键字排名增加关键字的密度.

  25) keyword stuffing (keyword spam) 关键字堆砌 为了提升,目的关键字排名增加关键字的密度

  26) landing page 登陆页面 是指用户在搜索引擎结果页里点击进入的页面.

  27) latent semantic indexing (LSI) 潜在语义索引 是指搜索引擎排除一些匹配的搜索引擎字符,依据语义来把网页列出在搜索引擎结果中,

  28) link 链接 是网页的一个元素,点击它能在浏览器中跳转到另一个网页.

  29) link bait 链接诱饵 是指一个网页通过特殊定位和布局来吸引反向链接.

  30) link exchange 交换链接 是指互惠链接的树立,通常把它说为"友情链接".

  31) link spam (Comment Spam) 链接垃圾 通常的博客评论就是典型的例子.

  32) link text (Anchor text) 链接文本,瞄文本 是指用户能看见的一个链接.搜索引擎通过链接文本来判断被链接的站点是什么内容.一般都将关键字设为瞄文本.

  33) META tags meta标签是指在html和head 的一个陈述,它反映整个页面的信息.它在搜索引擎结果中可见,但是在它呈现给客户的页面是不可见的.主要的有 keyword和description两个功能.作SEO.meta标签的不可缺少的.

  34) nofollow 是一个属性,它能使搜索引擎蜘蛛忽略这些页面的一部分链接,很像链接避孕套,一般博客评论下都有个Nofollow属性.

  35) noindex 禁止索引是指在一个网页的head部分有一个禁止索引的命令,它能告诉搜索引擎不要索引当前这个页面.

  36) pagerank (PR) 网页级别是 Google 衡量网页重要性的工具,测量值范围为从1至 10 分别表示某网页的重要性.新网站的pr为0.一般 pr3个月更新一次

  37) PPA (Pay Per Action )按行为付费是指广告是只有当用户点击了特定的广告,进入指定的网站完成指定的动作后,广告商才须要付费。

  38) PPC (Pay Per Click) 是依据点击广告或者电子邮件信息的用户数量来付费的一种网络广告定价模式.常见的有google广告

  39)reciprocal link (link exchange, link partner) 同上,就是友情链接

  41) redirect 重定向是指当你打开一个页面,它自动跳转到另外一个域名或地址.

  42) robots.txt 机器人文件是指在网站根目录下的一个文件,通过书写的一些代码,能控制搜索引擎蜘蛛的抓取行为.通过它我们能让搜索引擎禁止或者疾速抓取我们的网站.

  43) sandbox 沙盒是指google会把所有的新站放入沙盒,并且不给于好的排名,直到这个网站通过google的考察期.

  44) search engine (SE) 搜索引擎,常见的有百度和google

  45) SEM (search engine marketing) 搜索引擎营销只要包括两点,一个是SEO 搜索引擎优化服务,另一个是付费SEM 搜索引擎营销,比如 PPC,竞价等

  46) SEO (search engine optimization) 搜索引擎优化就是通过对网站的结构,标签,排版等各方面的优化,使搜索引擎更容易搜索网站的内容,并且让网站的各个网页在GOOGLE等搜索引擎中获得较高的评分,从而获得较好的排名。

  47) SERP (Search Engine Results Page) 搜索引擎结果页是指用户在搜索引擎上搜索某一关键字而出现的结果页面.

  48) sitemap 网站地图是一个拥有网站所有或部分重要链接的页面,xml 类型的网站地图是提交给 google的.它能帮助网站更快的被搜索引擎收录.

  49) spider (bot, crawler) 搜索引擎蜘蛛是搜索引擎用来增加网页数据库的一个特殊机器人

  50) spider trap 蜘蛛程序陷阱是阻止蜘蛛程序爬行网站的妨碍物,通常源于那些网页显示的技术方法,这些手段能很好地配合浏览器,但对蜘蛛程序就构

  了妨碍。蜘蛛陷阱包括 JavaScript下拉菜单以及有些种类的重定向。

  51) static page 静态页面是指在网址URL 中没有任何变量和参数,静态页面往往对搜索引擎蜘蛛是友好的.

  52) stickiness 黏度是指网站通过对内容的不断更新和功能的增强,让用户一直浏览这个网站,就好像把他黏住一样.

  53) text link 文字链接是指以文本形式的连接,它不包括图片或 java script等

  54) time on page 页面停留时间是指用户在一个网页上停留的时间,直至他点击分开.

  55) trust rank 信任级别是用来区别有价值的页面和spam 页面,页面的价值越高,它的信任价值也就越高.

  56) URL 简单的讲就是网址103) user generated content (UGC) 是指“用户生产内容”,即网友将自己 DIY的内容通过互联网平台进行展示或者提供给其他用户。

  57) web2.0 是指具有用户互动的网站.

  58) white hat 白帽是SEO的正规技术,它于黑帽正好相反.