javascript - 为什么在 "eliminate render-blocking resources"之后我得到的 PageSpeed 分数较低?

标签 javascript pagespeed page-load-time render-blocking

我是 PageSpeed 的新手,并试图掌握它希望我优化的各个方面。是否有我可以遵循的准则,例如可以删除、推迟哪些代码等?我绝不是开发人员。

我的分数随着我推迟的每个 .js 文件而波动。有时情况会变得更好,有时会变得更糟。这对我来说没有意义,而且相当令人沮丧。

我预计 PageSpeed 分数会提高,但它会波动,有时会随着我推迟的每个 .js 文件而变得更糟。

最佳答案

虽然 PageSpeed 显示了一些有趣的静态数据,例如首次内容绘制、交互时间等。如果不查看页面加载过程的时间线,很难弄清楚幕后发生了什么。下面的屏幕截图显示了您的页面如何在 Google Chrome 中加载。您可以按照本指南自行查看:https://developers.google.com/web/tools/chrome-devtools/network/

Dev Tools Screenshot

主要的阻碍之一是你的服务器响应时间,服务器至少需要 2 秒来处理网站的请求,这个时间相当长,让我相信你可能在 Hostmonster 上采取了一个具有成本效益的计划。相比之下,StackOverflow.com 的响应时间为 300 毫秒。对您的网络主机进行基准测试的一种简单方法是在新安装的 WordPress 上运行此测试。它会告诉您是否是您的低效 WordPress 设置导致了延迟,或者主机在提供 php 方面是否本质上很慢。我有一种感觉,您的 php 代码中有明显的膨胀导致了这种情况。

接下来你有一个 css 文件,需要 880 毫秒,压缩后为 200kb,但未压缩为 1.9Mb(在覆盖范围选项卡中显示为 1 860 013 字节),这是非常大的,即使在最大的网站上也不应该超过 1Mb。 98.6% 的 CSS 文件未使用。使用通用框架时,超过 90% 未使用的 CSS 并不罕见,但通用框架从来没有接近 2MB 的 CSS 文件。在大多数网站上,CSS bundle 的大小都低于 500kb。这不仅会增加下载时间,还会增加浏览器解析该文件和呈现页面所需的时间。

还有标题图片,大小为 423KB,下载需要 1.3 秒。通常,该分辨率的图像可以压缩到 100kB 以下。

瀑布上的红线表示页面何时被视为已完全加载。超大的标题给它增加了很多。而由于服务器响应时间的原因,整个加载过程延迟了2.2s。您会发现,与这两者的效果相比,脚本加载时间是微乎其微的。这可能就是为什么当您将标签更改为延迟时,您会发现加载时间没有差异。

总而言之,研究一下为什么服务器需要 2+s 才能响应,清理你的 CSS。目标是一半大小。压缩您的标题图像。目标是 100kb 左右。修复这些问题后,您可以研究延迟脚本以实现最佳加载时间。

关于javascript - 为什么在 "eliminate render-blocking resources"之后我得到的 PageSpeed 分数较低?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56466287/

相关文章:

PHP - 从 MySQL 数据库循环结果时页面加载缓慢

javascript - 即使服务器正在发送数据,也无法显示来自 REST 调用的数据

javascript - Google-chrome 无法在 Ubuntu 中本地查看我的 webGL Three.js 网页

javascript - Pagespeed rewrite_javascript 除了 1 个 js 文件之外的所有内容

javascript - 避免直接控制之外的渲染阻塞 CSS/JS

javascript - 在 react.js 中加载页面后从 googleapis 加载字体

javascript - Dart 与 JavaScript 加载时间比较

javascript - Datatables jQuery 事件适用于第二页,不适用于其余页面

javascript - 等到js脚本加载到页面上

html - Google PageSpeed "Ensure text remains visible"可能节省 0 毫秒