网站页面优化:仅需 5 分钟,快速优化 Web 性能的10 个手段

本人已颠末原做者造受权翻译网站页面优化

在那篇文章中,次要介绍10种快速进步网站性能的办法,你只需5分钟内就能够将它应用到你的网站上,废话不多说,让我们进入正题吧 网站页面优化。

1. 文件压缩文件压缩,能够削减收集传输的字节数网站页面优化。有几种压缩算法。Gzip是更流行的,但是关于Brotli,你能够利用一种更新的、以至更好的压缩算法。若是想查抄您的办事器能否撑持Brotli,能够利用 Brotli.pro。

若是你的办事器不撑持Brotli网站页面优化,则能够根据以下简单指南停止安拆 :

Nginx on LinuxApacheNodeJs - Express2. 图像压缩未压缩的图像是一个庞大的潜在性能瓶颈网站页面优化。若是在将图像供给给用户之前没有压缩它们,那么就会传输没必要要的字节。有几个有用的东西能够用于快速压缩图像且不丧失可见量量。我次要利用Imagemin。它撑持许多图像格局,您w你以将其用做号令行界面或npm模块。

imagemin img/* --out-dir=dist/images你还能够 将npm 引入到项目里网站页面优化,利用imagemin-mozjpeg,能够将JPEG图像压缩到原有的60%:

const imagemin = require('imagemin');const imageminMozjpeg = require('imagemin-mozjpeg');(async() => {  const files = await imagemin(      ['img/*.jpg'],      {        destination: 'dist/img',        plugins: [          imageminMozjpeg({quality: 60}),        ]      }  );  console.log(files);})();就我而言网站页面优化,它将文件大小从4MB减小到100kB:

仅需 5 分钟strong网站页面优化/strong,快速优化 Web 性能的10 个手段

3.图像格局利用现代图像格局能够实正进步性能网站页面优化。WebP 图像比 JPEG 和 PNG 小,凡是小25%-35%。WebP 也被阅读器普遍撑持。

我们利用imagemin npm 包并为其添加WebP插件网站页面优化。以下代码将我的图像的WebP版本输出到dist文件夹中。

const imagemin = require('imagemin');const imageminWebp = require('imagemin-webp');(async() => {  const files = await imagemin(      ['img/*.jpg'],      {        destination: 'dist/img',        plugins: [          imageminWebp({quality: 50})        ]      }  );  console.log(files);})();我们再次看一下文件大小:

仅需 5 分钟strong网站页面优化/strong,快速优化 Web 性能的10 个手段

成果表白,与原始图像比拟,文件大小削减了98%,与压缩的 JPG 文件比拟,WebP 对图像的压缩效果愈加明显,WebP版本比压缩的JPEG版本小43%网站页面优化。

4.图像延迟加载延迟加载图像是一种稍后而不是提早加载屏幕外图像的手艺网站页面优化。当解析器碰到准确加载的图像时,会减慢初始页面加载速度。通过延迟加载,能够加快那个过程并在以后加载图像。利用lazysize很容易做到那一点。利用lazysize脚本和阅读器对loading属性的撑持,你能够如许优化:

<img src="image.jpg" alt="">改成:

<img data-src="image.jpg" class="lazyload" alt="">该库会处置其余的工做,你能够利用阅读器验证那一点网站页面优化。翻开你的网站,找到你的图像标签。若是类从lazyload更改为lazyloaded,它就能够工做。

5.缓存 http 头缓存是一种快速进步站点速度的办法网站页面优化。它削减了拜候者的页面加载时间。我们能够告诉阅读器在特定的时间缓存文件,若是你对后台的常识有些领会,那么设置装备摆设缓存方不是很难的工作。

我们能够利用以下 API 停止缓存:

Cache-ControlETagLast-Modified6. 内联关键的 CSSCSS 是阻塞衬着的,那意味着阅读器必需先下载并处置所有CSS文件,然后才气绘造像素网站页面优化。通过内联关键的 CSS,能够大大加快此过程。我们能够通过以下步调完成此操做:

识别关键的 CSS若是你不晓得你的关键CSS是什么,你能够利用Critcal, CriticalCSS或Penthouse网站页面优化。所有那些库都从给定视口可见的HTML文件中提取CSS。

criticalCSS 事例如下:

var criticalcss = require("criticalcss");var request = require('request');var path = require( 'path' );var criticalcss = require("criticalcss");var fs = require('fs');var tmpDir = require('os').tmpdir();var cssUrl = '网站页面优化。

<head>  <style>  body {...}  /* ... rest of the critical CSS */  </style></head>滞后非关键CSS非关键的CSS不需要立即停止处置网站页面优化。阅读器能够在onload事务之后加载它,因而用户没必要期待。

<link rel="preload" href="/assets/styles.css" as="style" onload="this.onload=null;this.rel='stylesheet'"><noscript><link rel="stylesheet" href="/assets/styles.css"></noscript>7. JavaScript 异步/延迟加载/延迟加载HTML 也是阻塞衬着,阅读器必需期待 JS 施行后才气完成对HTML的解析网站页面优化。但是我们能够告诉阅读器期待JavaScript施行。

异步加载JavaScript利用属性async,能够告诉阅读器异步加载脚本网站页面优化。

<script src="app.js" async></script>延迟JavaScriptdefer属性告诉阅读器在 HTML 解析器解析完文档之后运行脚本,但在事务发作之前,DOMContentLoaded会被触发网站页面优化。

<script src="app.js" defer></script>反复排序内联的脚本内联脚本立即施行,阅读器对其停止解析网站页面优化。因而,您能够将它们放在HTML的末尾,紧接在body标识表记标帜之前。

8.利用资本提醒优化性能HTML5的资本提醒(Resource Hints)能够简单天文解为预加载,阅读器按照开发者供给的后续资本的提醒停止有选择性的加载和优化网站页面优化。“有选择性”那一项是必需的且极其重要的,也是有别早先替代计划的重点,因为良多情况下,预加载会遭到所分配到的计算资本以及带宽资本的限造,阅读器有权放弃那些成本较高的加载项。

资本提醒帮忙开发人员告诉阅读器稍后可能加载的页面网站页面优化。该标准定义了四种原语

preconnectdns-prefetchprefetchprerender此外,关于资本提醒,我们利用了链接属性的preload关键字网站页面优化。

preconnect预链接, 利用办法如下:

 <link rel="preconnect" href=";我们拜候一个站点时网站页面优化,简单来说,城市颠末以下的步调:

DNS 解析TCP 握手若是为 的站点是网页必须的,不然会浪费阅读器、收集资本。 DNS PrefetchDNS 预解析, 那个大大都人都晓得

网站页面优化

,用法也很简单:  <link rel="dns-prefetch" href="使得转化工做提早停止了,缩短了恳求资本的耗时。

什么时候利用呢?当我们页面中利用了其他域名的资本时,好比我们的静态资本都放在cdn上,那么我们能够对cdn的域名停止预解析网站页面优化。阅读器的撑持情况也不错。

prefetch预拉取, 利用办法如下: <link rel="prefetch" href="index.html" as="document"><link rel="prefetch" href="main.js" as="script"><link rel="prefetch" href="main.css" as="style"><link rel="prefetch" href="font.woff" as="font"><link rel="prefetch" href="image.webp" as="image">link标签里的as参数能够有以下取值:

audio: 音频文件video: 视频文件  Track: 收集视频文本轨道 script: javascript文件style: css款式文件font: 字体文件   image: 图片   fetch: XHR、Fetch恳求worker: Web workersembed: 多媒体<embed>恳求 object:  多媒体<object>恳求document: 网页预拉取用于标识从当前网站跳转到下一个网站可能需要的资本,以及本网站应该获取的资本

网站页面优化

。如许能够在未来阅读器恳求资本时供给更快的响应。

若是准确利用了预拉取,那么用户在从当前页面前去下一个页面时,能够很快得到响应网站页面优化。但是若是错误地利用了预拉取,那么阅读器就会下载额外不需要的资本,影响页面性能,而且形成收集资本浪费。

那里需要留意的是,利用了prefetch,资本仅仅被提早下载,下载后不会有任何操做,好比解析资本网站页面优化。

prerender预衬着网站页面优化,利用办法如下:

<link rel="prerender" href="//example.com/next-page.html">prerender比prefetch更进一步网站页面优化。不单单会下载对应的资本,还会对资本停止解析。解析过程中,若是需要其他的资本,可能会间接下载那些资本。如许,用户在从当前页面跳转到目的页面时,阅读器能够更快的响应。

preload<link rel="preload" href="..." as="..."><link rel="prefetch" href="...">留意preload需要写上准确的as属性,才气一般工做喔(prefetch不需要)网站页面优化。但是它们有什么区别呢?

preload 是用于预加载当前页的资本,阅读器会优先加载它们prefetch 是用于预加载后续导航利用的资本,阅读器也会加载它们,但优先级不高9. 固定好你的谷歌字体Google字体很棒,它们供给优良的办事,并被普遍利用网站页面优化。若是你不想本身托管字体,那么Google字体是一个不错的选择。你需要的是进修若何引用它们,哈里·罗伯茨(Harry Roberts)写了一篇有关《The Fastest Google Fonts》的超卓深度文章。强烈建议你阅读它。

若是你快速取用网站页面优化,那么能够利用下面集成片段的谷歌字体:

<link rel="preconnect" href="实现缓存,能够使 用户 与站点的交互更快,而且即便用户不在线也能够拜候站点。 总结在那篇文章中,展现了 10 种快速的收集性能,你能够在5分钟内应用到你的网站,以进步你的网站速度

网站页面优化

。 做者:Marc 译者:前端小智 来源:dev

原文: 今天给到各人福利是《办事器常识及 Node 系列视频教程》,领取体例,转发+点赞,私信我 “办事器”即可免费获取

网站页面优化

网站页面优化

,快速优化 Web 性能的10 个手段">

打造最大的挖矿交流社区
SEO交流,纯交流无广告,SEO网站优化机器,小白变大神,期待你的加入!

标签: 网站页面优化

作者头像
admin创始人

打造最大的seo交流社区

上一篇:网站页面优化:网站的页面优化怎么做?
下一篇:新站:徒步6小时,我尝试还原一个真实的新站

发表评论