本篇紧张分享下百度MIP与Google AMP的干系知识。
Google AMP和百度MIP都是开源的,不管是从技能层面还是用场上来说,AMP 和 MIP 的差异都不大。
下面我们先来看看Google AMP与百度MIP定义:

Google AMP(Accelerated Mobile Pages,加速移动页面)是Google推出的一种为静态内容构建 web 页面,供应可靠和快速的渲染,加快页面加载的韶光,特殊是在移动 Web 端查看内容的韶光。
百度MIP (Mobile Instant Pages - 移动网页加速器), 是一套运用于移动网页的开放性技能标准。通过供应MIP-HTML规范、MIP-JS运行环境以及MIP-Cache页面缓存系统,实现移动网页加速。总体看,百度MIP充分借鉴了 AMP,被很多开拓者看作是海内版 AMP。
看起来两者的定义很相似,一个叫加速移动页面,一个叫移动网页加速器,实现目的也是相同的——优化移动网页。WTF,不会是一个东西吧。当然不是一个东西,但是不过只是老坛酸菜面和康师傅牛肉面的不同而已。两者都是方便面,紧张原材料相同,配方有点不同,制作的办法有点差别,最主要的是代言人不同。
移动网页加速最早是谷歌提出来的,通过制订开源标准,制订页面规范,优化渲染速率来提高用户体验,并且谷歌会搜索引擎中,对符合AMP标准页面增加权重。百度坚持谷歌有我也要有的原则,充分借鉴了AMP,也提出了自己的网页加速开源标准,于是MIP出身了。
百度MIP无论是目的(在搜索结果中返回极快速移动页面),还是事理(简化HTML、CSS、禁用大部分JS、资源掌握、缓存等,还是推出步骤(先***,再一样平常页面),还有原页面与MIP页面的相互引用方法(加标签),都和Google AMP一样,连官网的页面布局、菜单安排、技能解释里的内容,险些都是一样的。就连在对应搜索引擎上展示的标识险些也是千篇一律的:
AMP 和 MIP 都是由三个部分组成,前者由 AMP HTML、AMP runtime、AMP cache 组成,后者由 MIP-HTML、MIP-JS、MIP-Cache 组成。
这里不得不佩服国人的借鉴能力。
在 AMP HTML 上,它只许可利用有限的标签,如body、article这些标签可直策应用,但如frame和frameset这样的标签是被限定或禁止利用的,MIP 中也如此。而如 img 或 video 这样的标签不能直策应用,须要更换成别的标签才能利用,如在 AMP 中须要更换成amp-img,在mip中更换成mip-img。
AMP runtime 是完备用 Java 来实现的,是由引入它的 AMP 文件来启动的,它的紧张浸染是卖力折衷资源的加载机遇和优先级,插入 AMP 组件,并为 AMP HTML 引入 runtime 验证等调试功能。而 MIP-JS 用于管理资源的加载,并支持 MIP 标签的利用,从而确保页面快速的渲染。
AMP cache 供应了第三方的缓存,这样从 Google 搜索进入 AMP 网页就可以做到预加载乃至预渲染。AMP-Cache 给所有符合规范的 MIP 页面供应 CDN 缓存做事,主动提高页面的加载速率。
它们能带来什么?
2017 年,百度给出了 MIP 对站点的收益数据,利用 MIP 技能网站,用户到达率提升 5%-30%,页面打开速率提升 30%-80%。
最主要的是,AMP 和 MIP 会影响搜索结果网站页面的排名,虽然 Google 之前否认了 AMP 与此干系,但是百度却正面回应了这个问题,他们认为 MIP 虽然不是排名的紧张成分,但是由于 MIP 网站的打开速率较快,访问量就增加,随之,网站的权重就会提高,排名自然就上来了,但权重提高的详细数据,百度没有给出。
AMP 和 MIP 面向哪些网站?
正如上文所说,AMP 和 MIP 最紧张的目的是加快网页速率,提升用户体验,那些依赖流量而生的媒体网站或者依赖导流变现的电商通过这样的技能就能提高网站的留存率,而那些以推广自己为目的小型企业或新创企业,利用 AMP 和 MIP 能够提高搜索结果排名,换句话说,以往须要竞价排名的网站,现在通过利用搜索引擎供应的技能就能达到在搜索页面优先展示的目的。
百度为什么要自己研发MIP?
既然 AMP 和 MIP 技能和功能上的相似性如此高,而且 AMP 又是开源的,为何百度不直策应用 AMP 而是自研 MIP 呢?
就这个问题,
页面优化事理
AMP和MIP都是实质上都是通过优化页面渲染或者延迟加载,减少壅塞的事理来实现页面的加速。就像我们企业内部的一些规范一样,我们可能也有一套标准来提高我们的代码质量和页面性能。只不过这两个能够给我们带来SEO的优化。下面,我们就一MIP为例,理解一下她加速的事理。
MIP紧张由三部分组织成:
MIP HTML
MIP JS
MIP Cache
MIP HTML 基于HTML中的根本标签制订了全新的规范,通过对一部分根本标签的利用限定或功能扩展,使HTML能够展现更加丰富的内容;MIP JS 可以担保 MIP HTML 页面的快速渲染;MIP Cache 用于实现MIP页面的高速缓存,从而进一步提高页面性能。
下面将先容MIP页面的加速事理:
经由精心设计的javascript
MIP不许可用户自定义JavaScript,须要用MIP 组件的形式引进来,从而确保安全性和性能表现
所有静态资源须要标明尺寸
MIP哀求将所有的资源(广告、图片、音频和***)标明尺寸。当资源真正加载时,所有资源大小可以被立即推断出并迅速的用于打算页面布局,加载中的资源将无缝呈现,不必由于页面频繁更新布局而影响到用户的阅读体验。
不许可任何机制阻挡页面渲染
开拓者的任何自定义脚本,都须要用MIP的tag反馈给MIP,例如mip-ad、mip-iframe等,这些办法不会壅塞页面的layout和渲染。
掌握外部资源加载
MIP runtime会掌握外部资源的额加载来确保其高效性,从而利用户想阅读的内容尽快涌如今屏幕中。
封装交互功能
MIP提倡网页能给用户直接大略的体验,但这并不虞味着MIP限定了页面的生动和有趣。MIP runtime供应了高度优化的被封装的JavaScript,开拓者无需投入过多精力去实现繁芜的交互功能。
建议利用inline的css
css的加载,会阻挡页面的渲染,css内联可以减少客户真个开销。
只许可GPU加速的动画
MIP只许可用transforms和opacity来完成动画效果,当动画能在GPU上实行时,仅触发渲染层合并。
MIP 缓存
MIP另一个主要的意义在于能够帮站长加速网页,百度将会把MIP网页缓存到百度CDN中。只要符合MIP标准,都可以利用MIP缓存。
这些都是我们在优化web项目中常常用到的手段而已,只不过现在百度通过开源标准,并且给予SEO的甜头,给予统一规范。
对谷歌AMP和百度MIP的一些大略意见
AMP和MIP供应的移动网页优化方案在一定程度上能够提高用户的体验。同时与seo的结合,也提高了很多开拓者加入的兴趣。但是,由于比较封闭的环境,这套标准无法运用于大型的项目,只能运用于比较大略的页面展示,当然,这个与他们的初衷是同等的。
AMP和MIP是两套不同的标准,为了支持谷歌和百度两套搜索引擎的优化,必须写两套页面,这会增加开拓者的开拓本钱。
2018年8月30日,W3C 中国曾联合百度举办了移动网页加速技能研讨会,研讨会总结认为,有必要在 W3C 中启动 MIP、AMP、Instant Article、云加速干系技能的标准化事情,包括如何在浏览器中预取 / 预渲染一个页面,将预取 / 预渲染的页面异步展现在当前浏览器环境,通过稳定、快速的 CDN 做事供应更快的页面网络环境。标准化将为内容站点和做事商供应统一的标准和接口来实现页面加速技能,既改进开拓者的开拓环境,也提高用户体验,这对百度来说,不失落为功德一件。
在未来,两家的标准大概会趋向统一,百度估计会支持AMP标准,毕竟谷歌是站在环球的角度上的,百度在中国的用户则比较多。
虽然,AMP 和 MIP 在功能和技能上都高度相似,但开拓者假如想用这项技能开拓网站,还是得做两种不同的方案。就目前来说,由于一些众所周知的缘故原由,海内 Chrome 的用户较少,百度占上风,以是如果海内的开拓者想考试测验这个技能,建议先从 MIP 入手,如果开拓的网站面向国际,可优先考虑 AMP。
全文完。