百度推出新算法“闪电算法”和“网页加速器MIP”

闪电算法
闪电算法

百度官方公告:

2017年10月初,百度推出新算法,百度“闪电算法”上线,移动搜索页面首屏加载时间将影响搜索排名。移动网页首屏在2秒之内完成打开的,在移动搜索下将获得提升页面评价优待,获得流量倾斜;同时,在移动搜索页面首屏加载非常慢(3秒及以上)的网页将会被打压。

广大站长优化页面首屏加载时间,优化的技术建议包括但不限于: 

资源加载: 

  • 1、将同类型资源在服务器端压缩合并,减少网络请求次数和资源体积。 
  • 2、引用通用资源,充分利用浏览器缓存。 
  • 3、使用CDN加速,将用户的请求定向到最合适的缓存服务器上。 
  • 4、非首屏图片懒加载,将网络带宽留给首屏请求。

页面渲染: 

  • 1、将CSS样式写在头部样式表中,减少由CSS文件网络请求造成的渲染阻塞。 
  • 2、将JavaScript放到文档末尾,或使用async方式加载,避免JS执行阻塞渲染。 
  • 3、对非文字元素(如图片,视频)指定宽高,避免浏览器重排重绘。

公告解读:

百度推出“闪电算法”的同时,还推出了针对这一算法的解决方案,及“MIP迁移方案”。

MIP是Mobile Instant Pages的缩写,指百度移动网页加速器, 是一套应用于移动网页的开放性技术标准。通过提供MIP-HTML规范、MIP-JS运行环境以及MIP-Cache页面缓存系统,实现移动网页加速。

MIP的页面布局规则可以解决闪电算法的“资源加载”和“页面渲染”的问题。

使用MIP主要的目的是能加速移动页面,主要通过下面三种手段来实现加速:

  • 你的html页面要符合mip的规范,不能使用img、video、iframe等影响加载速度的元素,要用的话得用mip官方提供的组件。
  • 通过MIP JS异步加载所有外部静态资源,整个页面渲染过程不会被页面中的某些元素阻塞,你在页面中不能使用自定义的js,你想用js写一些自己的交互逻辑的话,必须把你的js按照mip的规范封装成mip组件,这是个大坑,后面说。
  • 使用MIP Cache来加速静态资源的访问,原理还是使用了CDN加速。
mip闪电算法
网页加速器MIP

使用MIP的优点,除了加速页面访问之外,还可以获取百度搜索排名提升,并且在百度搜索结果中出现一个闪电的标,会吸引更多用户浏览你的网站。

为什么不用MIP?

  • mip对开发做了很多严格的限制,有自己的规范,接入mip要对我们代码做很多改造,所有html要按照mip-html规范修改一遍。
  • 不能写自定义的js代码,要写自己的交互逻辑的话必须封装成mip组件提交给mip审核,这意味着你要修改网站交互功能的话需要别人来审核,审核能不能过还不一定,这点延长了开发的周期,多了一层第三方的审核,最为致命,是我放弃使用mip的主要原因。
  • 接上一条,你写的自定义的网站交互功能必须要封装成mip组件上传到github上,任何使用mip的人都能复用你的代码。且不论你的代码有没有版权愿不愿意和别人共享,很多网站中的功能模块其实都是和业务紧密相关的,并不具有可复用性,这种设计本身就不合理。
  • 接入mip后你的网站不能使用除了zepto和jquery之外的其它框架,react、angular这些都不能用,这对于那些依赖框架的网站再让他们放弃使用框架成本太高了。

MIP适合哪些网站?

  • 你很重视接入mip带来的搜索排名提升的额外福利。
  • 你的网站主要是展示文章或者图片这种交互不多,内容型的网站,工具型的有很多交互的网站的话还是算了吧。
  • 你没有能力或者钱使用CDN服务,使用mip-cache功能相当于免费的CDN。
  • 你可以接受上面列出的接入mip的改造成本。
滚动至顶部