如何移除阻碍渲染的JavaScript和CSS

温馨提示:注册会员付费购买资源可永久免费下载更新版本

Google PageSpeed Insights执行WordPress网站检测,Google会告诉你需要移除WordPress网站上阻止渲染的资源。所以:

什么是阻塞渲染资源?

如何去除WordPress上的阻塞渲染资源?

在本文中,我们将为您解答以上两个问题。本文将分四个部分进行阐述:

什么是阻塞渲染资源,它们有什么影响?

如何找到网站屏蔽渲染的资源

如何移除阻塞的渲染资源(方法)

如何使用插件解决此类WordPress问题

如何理解「移除阻挡渲染资源」?

要理解阻碍渲染的资源是什么,为什么会影响网站的加载时间,我们需要从一个基本的角度来理解web浏览器是如何渲染网页的。

当访问者登录到您的站点时,他们的Web浏览器从站点代码的顶部开始,记住,从上到下阅读它。

如果在处理过程中遇到CSS或JavaScript文件,需要在等待文件下载和处理的同时停止“读取”。那么花在“暂停”下载和解析这些资源上的时间可能会影响更重要的进程,比如加载访问者应该立即看到的网站内容。

让我们看一个极端的例子来说明为什么这可能是一个问题。

假设你的一个网站的页脚设计了一个很酷的JavaScript效果。它由“coolfooter.js”支持,但这个脚本是在你的网站代码的顶部引用的(实际上访问者只有滚动到页脚才能看到它)。

那么这个网站代码布局不合理。

我们知道当访问者登陆你的网站时,他们的浏览器开始从上到下阅读。因此,在它能够解析并呈现网站首屏内容的HTML之前,需要等待下载并解析coolfooter.js文件。

因此,显示第一个屏幕内容的HTML需要更长的时间,这意味着您的访问者会觉得网站很慢。

当谷歌告诉你移除阻塞的渲染资源时,它实际上是在说,“嘿,不要在网站代码的顶部加载不必要的资源,因为这会让访问者的浏览器花更长的时间来下载优先可见的部分”。

根据本文中的提示,您可以延迟加载一些CSS和JavaScript资源,直到页面的可见部分加载完毕。

什么是阻塞渲染资源?

说到阻止渲染资源,我们通常指的是:

半铸钢ˌ钢性铸铁(Cast Semi-Steel)

Java Script语言

重要的是要知道,并不是所有的CSS和JavaScript文件都阻止渲染。

例如,在页面顶部加载重要的CSS是必不可少的,否则访问者可能会遇到所谓的不讨好的内容闪烁(FOUC)现象。

图像是一个阻塞的渲染资源吗?

不,图像不会阻挡渲染。优化WordPress图片以减小其文件大小仍然很重要,但你不必担心优化图片的传输路径。

如何发现网站中是否有资源阻止渲染?

要评估你的WordPress网站目前是否有阻止渲染的资源,你可以使用Google PageSpeed Insights。

你所要做的就是输入要测试的URL。然后,PageSpeed Insights会在“优化建议”下的“移除阻止渲染的资源”部分列出每个资源的地址:

PageSpeed Insights阻止呈现资源提示。

如何去除阻塞渲染资源?

别担心,您不必手动执行此操作。在下一节,我们将讨论WordPress插件,它可以帮助你移除阻塞的渲染资源。但是,我们应该知道这些插件是如何工作的。

如何移除阻碍渲染的JavaScript

有几种不同的策略可以删除阻碍渲染的JavaScript。我们在关于如何推迟解析JavaScript的文章中详细描述了这些方法,但是这里是主要的方法:

异步加载——让一个HTML解析器(例如访问者的浏览器)下载JavaScript,同时仍然解析HTML的其余部分。换句话说,文件在下载时不会完全停止解析。然而,一旦下载,它将暂停HTML解析器来执行脚本。

延迟加载–让HTML解析器在解析其余HTML的同时下载JavaScript,并等待脚本执行,直到HTML解析完成。

《与网站一起成长》中的插图可以帮助您更好地理解正常脚本加载、异步脚本加载和延迟脚本加载之间的区别:

JavaScript正常/异步/延迟加载的比较

使用延迟加载的优点是,它可以确保脚本按照它们在代码中出现的顺序执行。

异步加载不使用这种方法。如果异步加载应用于所有JavaScript资源,有时会导致问题。因为异步加载通常会破坏页面文档先前呈现所依赖的资源。异步加载最常见的问题是损坏的jQuery资源,它会在jquery.js添加到文档之前尝试加载。

如何移除CSS阻止渲染

删除阻止呈现的CSS可能很棘手,因为您必须小心不要延迟呈现第一个屏幕内容所需的CSS。理想的安排是:

确定呈现第一个屏幕内容所需的样式,并将这些样式与HTML一起发送。

使用提取到CSS文件中的link元素上的media属性来标识有条件的CSS资源,即,仅特定设备或情况所需的CSS资源。

CSS资源的其余部分应该异步加载,通常通过添加延迟或异步JavaScript。

如何使用WordPress插件移除阻塞的渲染资源

为了演示如何在WordPress上移除资源阻塞渲染,我们设置了一个简单的测试站点,其中包括CSS和JavaScript阻塞渲染,然后进一步解释如何使用两种不同的插件解决方案来移除CSS和JavaScript阻塞渲染:

自动优化+异步JavaScript(免费)

WP火箭(费用)

作为参考,以下是优化CSS和JavaScript之前对测试站点的检测:

PageSpeed Insights的“移除阻碍渲染的资源”

如果您想使用Google PageSpeed Insights来测试更改的效果,请注意,Google将缓存其结果几分钟(持续快速测试,结果可能不会改变)。

测试未优化的网站

在此部分启用插件。

再次测试您的网站。

…然后,你仍然会看到未经优化的网站的结果,直到谷歌重置其缓存。

如何使用auto optimize+Async JavaScript去除阻塞的渲染资源

Autoptimize和Async JavaScript是来自同一个开发者的两个独立的免费插件。他们可以帮助你优化CSS和JavaScript的交付。

安装并启用插件,并设置→异步JavaScript:

选中顶部的启用异步JavaScript复选框。

在“快速设置”框中,在“应用异步”和“应用延迟”之间选择。

如何设置异步JavaScript插件

如果异步选项导致您的网站出现问题,我们建议您尝试延迟或排除jQuery选项。

完成设置异步JavaScript插件后,转到设置→自动优化,然后:

选中优化JavaScript代码。

选中优化CSS代码。

如何设置自动优化插件

如果你是专业用户,可以多尝试一些其他的JavaScript和CSS优化设置,但是大部分网站只是使用默认设置。

在设置自动优化和异步JavaScript后,我们的测试站点通过了PageSpeed Insights的“移除阻塞的渲染资源”检测:

启用自动优化和异步JavaScript后的PageSpeed Insights评估结果

如果要移除更多阻碍呈现的资源,可以进一步使用自动优化来手动内联键CSS。不过这需要一定的开发知识,所以不建议非开发人员尝试。

你也可以选择其中之一。但是,由于这两个插件来自同一个开发人员,并且相互兼容,所以对于大多数网站来说,最好的办法是两个都用。

如何使用WP Rocket去除阻塞渲染资源

WP Rocket是一个非常流行的专业WordPress性能和缓存插件。

WP Rocket不仅可以缓存WordPress的性能,还可以帮你删除WordPress网站上阻止渲染的CSS和JavaScript资源。

安装并启用WP Rocket后,进入“文件优化”标签。然后,启用以下两个选项:

优化CSS文件部分下的CSS交付。

在JavaScript文件部分,加载JavaScript延迟。您可以尝试关闭jQuery的安全模式。但是,如果您注意到站点前端有问题,您可能需要重新启用jQuery的安全模式,因为这可能是罪魁祸首。

如何设置WP火箭

激活这两个功能后,我们的测试站点轻松通过了PageSpeed Insights中“移除阻塞渲染资源”的审核。与自动优化/异步JavaScript设置相比,WP Rocket还成功移除了更多阻塞渲染资源:

启用WP Rocket后的PageSpeed Insights评估结果

总结

阻止渲染资源通过迫使访问者的浏览器延迟渲染首屏内容来减缓WordPress网站的页面加载时间,同时浏览器会立即下载不必要的文件。

封锁渲染资源会增加WordPress网站的感知页面加载时间,迫使浏览器延迟渲染首屏内容,并立即下载不必要的文件。

为了帮助访问者更快地加载页面的可见部分,您应该延迟加载不立即需要的资源。

要移除WordPress上的屏蔽渲染资源,可以使用现成的插件。

对于免费的解决方案,可以结合Autoptimize和Async JavaScript(来自同一个开发者的两个插件);“钱比傻子多”就可以用WP火箭。

声明:

1,本站分享的资源来源于用户上传或网络分享,如有侵权请联系站长。

2,本站软件分享目的仅供大家学习和交流,请不要用于商业用途,下载后请于24小时后删除。

3,如果你也有好的建站资源,可以投稿到本站。

4,本站提供的所有资源不包含技术服务请大家谅解!

5,如有链接无法下载,请联系站长!

6,特别声明:仅供参考学习,不提供技术支持,建议购买正版!如果发布资源侵犯了您的利益请留言告知!


创网站长资源网 » 如何移除阻碍渲染的JavaScript和CSS