注意:但这并不是说获取网站的速度指数不是衡量优化工作进展的好方法。由于它是在受控环境中生成的,因此非常适合故障排除和调试,尤其是在没有核心 Web 指标数据可用的情况下。
如前所述,只要优先考虑内容的初始渲染和最大的首屏元素的外观,您的速度指数分数就会受到任意数量的改进的影响。
它本质上是浏览器操作 教师数据库 的核心。通过最小化其工作量,浏览器可以快速加载所有可见内容,从而更快地实现视觉完整性。
下面让我们看看如何!
1. 减少 JavaScript 执行时间
这里的主要目标是优化您的 JavaScript 代码,使其运行更高效,执行时间更短。对于您的访问者来说,这意味着延迟和页面无响应的现象会显著减少。
改进包括(但不限于):
- 删除所有冗余或不必要的代码
- 组合类似功能
- 在适当的情况下,使用forEach或map代替传统的for循环来重构循环
- 压缩 JS 文件,使其更 如何选择有吸引力的博客文章创意?:操作指南。 小,下载和执行速度更快
- 为脚本 标签实现异步或延迟属性,以便它们在后台下载而不会阻塞页面
- 删除所有未使用的库或插件,并找到当前库的轻量级替代品
- 将 JS 拆分成可按需加载的小块
- 启用浏览器缓存,以避免重复访问时重新下载 JS 文件
使用 NitroPack 自动缩小、延迟和缓存所有 JavaScript 文件 →
2. 尽量减少主线程工作
将主线程视为浏览器的待办事项列表。列表越短,它就能越快地为访问者提供流畅、响应迅速的网站体验。
优化 JavaScript 后,主线程 CA 细胞数 的负载会大幅降低,如上所示。其他技术包括:
- 通过仅加载初始视图(首屏 )所需的 JavaScript 来删除未使用的 JS
- 通过批量更改样式和读取布局来避免强制同步布局,使它们不会太接近
- 使用 CSS 的包含属性来限制需要重新布局或重新绘制的区域。
- 将非 UI 任务(如数据处理或复杂计算)移至 Web Worker,该任务在单独的线程而非主线程中运行
- 选择 CSS 动画而不是基于 JavaScript 的动画
- 使用变换和不透明度属性进行动画,因为它们已由浏览器的合成线程进行了优化,不会增加主线程的负担。
- 确保图片尺寸合适,并延迟加载折叠以下的图片
3. 减少第三方代码的影响
所有网站都使用第三方脚本。这些脚本包括跟踪脚本、广告、嵌入式小部件等。
因此,第三方代码可能很大、未经优化或阻塞主线程,导致渲染和交互延迟。更不用说某些脚本可能会给您的网站带来漏洞甚至导致故障。
优化方法如下:
- 评估哪些第三方脚本至关重要,并异步加载其余脚本(这样它们就不会阻塞主线程)
- 或者,你可以对非必要脚本使用延迟和延时技术
- 检查是否可以将某些第三方资源托管在您自己的本地服务器上(但要谨慎)
- 考虑完全删除不再需要的脚本
- 使用内容分发网络 (CDN)从靠近用户的位置提供脚本,从而加快脚本的分发速度
4. 确保文本在 Webfont 加载期间保持可见
为了避免不可见文本闪烁 (FOIT) 并提高内容可访问性,即使在您的网站上使用自定义字体,您也需要控制字体文件的下载方式。
根据您的情况,考虑结合以下优化技术:
- 使用font-display: swap或font-display:optional确保文本在字体加载期间保持可见
- 对字体进行子集化以仅包含初始加载所需的字符,从而使字体文件更小且加载速度更快。
- 预加载对你的设计至关重要的 Web 字体
- 仅包含您需要的粗细和样式,以减小字体文件的大小
- 缓存您的网络字体,以便回访者无需再次下载
- 在本地托管字体,以便更好地控制并减少外部请求
- 或者,如果以上所有方法看起来都太过困难,可以考虑选择即时加载的系统字体,或者系统字体和 Web 字体的组合
使用 NitroPack 提高页面速度
还记得之前 Google PSI 报告中的所有红色警告吗?
理想情况下,您希望这个列表尽可能短。
但实际上,如果没有高级编码技能或专业开发人员的帮助,您可能会遇到困难。那么接下来该怎么办?
一个典型的场景是尝试几个插件来进行缓存、图像优化、延迟加载和代码压缩。你甚至可以更进一步,购买 CDN 服务。
结果呢?技术栈膨胀,插件冲突,以及更长的警告列表。
为了省去一些麻烦(和金钱),可以考虑选择像 NitroPack 这样的完整的优化服务。它包含在一个轻量级插件中,您可以利用 35 多种高级功能自动优化您网站的所有资源。
现在您想看列表,对吗?
3 分钟内设置 NitroPack 并自动加速您的网站 →