Wordpress插件 | 使用Autoptimize优化网站访问速度

Autoptimize插件可以让站点在Google PageSpeed Insights测试中获得更高的分数,更高的分数通常代表更快的网站访问速度和更好的用户体验。与之类似的WP Minify Fix和Better WP Minify插件也不错,不过需要付出更多的努力让站点不报javascript错误,用户界面也稍显复杂。

简单的用户界面

Autoptimize的UI设计比较简洁,默认展示给用户的是简单选项,一路点优化就好。如果你的站点代码规范,javascript事件在DOM加载完成后执行,外链js文件的依赖关系正确,css文件没有各种错误,这些简单选项就能让你获得更好的Pagespeed得分。

Autoptimize-options

Eliminate render-blocking JavaScript and CSS in above-the-fold content

这是Pagespeed测试里大部分网站都会被提醒的东西,如果满足了这一条,可以很好的提高分数和实际用户体验。我们的Autoptimize插件正好提供了这一项功能,这是其他minify插件缺失的东西。

点击Show Advanced Settings按钮展开隐藏选项,找到inline and Defer CSS这一项。按照谷歌的说法,你应该在这里输入above-the-fold content的样式.

Above-the-fold content是指用户打开你站点时首先看到的部分。既然用户开始只能看到这一区域,那么其它区域的样式有没有加载就不那么重要了,先把这个区域渲染完,其它样式慢慢加载。

inline-css

现实是这样做确实能提升用户体验,让用户更快的看到你站点开始加载。至于原因,可以这样形象的理解

  1. 负责内容的DOM要去见访客,这时Javascript蹦出来说它也要去,让DOM等一下。
  2. 而负责样式的CSS必须与Javascript同行。
  3. 结果访客只能望穿秋水,等着CSS加载完、Javascript执行完,最后才等到姗姗来迟的DOM。

实际情况比这个要复杂,但简单的说访客要看的就是网页内容(DOM),javascript和css并不是必须的,如果让javascript异步加载,不那么重要的css延迟加载,那看到网页内容的时间就会提前很多,即使网页总的下载时间不变,访客的也会感觉网站好像打开的快了。

可以借用谷歌的一张图来说明这个问题

critical-rendering-path

  • 给script标签添加async或者defer属性,可以eliminate render-blocking JavaScript 
  • 将重要的css用style标签在head里输出,用javascript输出原本的link标签,可以eliminate render-blocking CSS 

async和defer的区别是执行脚本的时间不同,具体可以看这篇文章的解释。

如果想详细了解这方面的内容,可以搜索有关critical rendering path的内容,推荐谷歌的介绍:
https://developers.google.com/web/fundamentals/performance/critical-rendering-path/

Above-the-fold content的残酷现实

对静态站和不太复杂的动态站来说,这个方法很好。到WordPress这里就郁闷了,并不是每个页面头部都长一个样,不同的设备最先看到的内容也不一样,导致Above-the-fold content的样式很难定义,要是网站样式经常变就更别提多麻烦了。所以这种方法可能不适合非常复杂的站点,但不代表它没有用处。

对我来说,与其考虑Above-the-fold content的样式,不如考虑哪些css是渲染网页所必须的(critical css)。比如每个页面都有的layout、header、footer、menu这些。而WP Caption、 WP Gallery、alighment的样式以及某个模板特有的样式,完全可以延迟加载。带着这个想法开发站点,相信会有所帮助。

如何使用Inline and Defer CSS” Option

简单的说,请使用Critical Path CSS Generator这个工具。
详细的说,请看文章How to Use the Autoptimize “Inline and Defer CSS” Option

Pagespeed分数和用户体验

得分和用户体验并不能完全划等号,你只需要满足google的要求就能获得好的得分,但现实世界的情况要复杂的多,你要面对很多恼人的问题,比如:

1. 只在某些页面加载的js和css文件

Autoptimize会压缩当前页面里所有的js和css,甚至inline的样式和脚本。当每个页面的状况都不相同时,就会产生很多缓存文件,比如用户访问首页时下载了style-1.css,访问次级页面时因为多了一个尽在该页面加载的css,就要重新下载style-2.css,这两个文件大部分内容是重复的。

用pagespeed测试时两个页面都可以获得相对较好的分数,但实际上用户的浏览器缓存没有发挥应有的作用,这不是一个好的体验。

2. 异步加载脚本导致网站出问题

这是使用minify插件最容易出现的错误,不排除是站点写的有问题,但至少说明不管三七二十一全部合并压缩不是个很好的方法。

幸好Autoptimize不是一刀切的,还提供了一些变通方法。

仔细阅读Autoptimize的FAQ

地址是这里https://wordpress.org/plugins/autoptimize/faq/,插件作者经常辛苦的写了一堆说明却发现用户还在不停的问同样的问题。这个FAQ提供了很多有用的信息,比如

1. 禁止压缩inline javascript

1
2
3
4
add_filter( 'autoptimize_js_include_inline' , 'readme_ao_js_include_inline' ,10,1);
function  readme_ao_js_include_inline() {
     return  false;
}

2. 禁止压缩inline css

1
2
3
4
add_filter( 'autoptimize_css_include_inline' , 'readme_ao_css_include_inline' ,10,1);
function  readme_ao_css_include_inline() {
     return  false;
}

我发现这条尤其有用,因为很多inline的css是某个页面特有的样式,为了这点样式重新生成一份超级样式表毫无意义。

3. 排除css和js文件

只在某个页面加载的脚本和样式可以从minify里排除,高级选项Exclude scripts from Autoptimize和Exclude CSS from Autoptimize提供了排除功能。

  • 如果你不想合并“wp-content/plugins/funkyplugin/css/style.css”,你可以填写“funkyplugin/css/style.css”
  • 如果你想排除某个插件下的文件,可以填写“funkyplugin/js/”或者“plugins/funkyplugin”

扩展阅读

https://developers.google.com/web/fundamentals/performance/critical-rendering-path/

https://varvy.com/pagespeed/critical-render-path.html

http://www.webpagetest.org/

### 回答1: 可以通过以下几种方式来提高WordPress网站的打开速度: 1. 优化图片:使用适当的图片格式、压缩图片大小、使用懒加载等方式来减少图片对网站速度的影响。 2. 使用缓存插件使用缓存插件可以将网站的静态内容缓存起来,减少服务器响应时间,从而提高网站速度。 3. 优化数据库:定期清理无用数据、优化数据库结构、使用数据库缓存等方式来提高数据库的读写速度。 4. 使用CDN:使用CDN可以将网站的静态资源分布到全球各地的服务器上,从而加快网站访问速度。 5. 选择优秀的主机:选择性能更好、稳定性更高的主机可以提高网站访问速度。 ### 回答2: 要让WordPress网站打开速度更快,可以采取以下措施: 1. 使用高效的主题:选择轻量级、优化过的主题,避免使用过于复杂和臃肿的主题,这会减少加载时间。 2. 优化图像:使用适当的图像格式(如JPEG、PNG)和压缩工具来减小图像文件大小,同时确保图像质量,以加快加载速度。 3. 清理数据库:定期清理和优化数据库,可以使用插件来自动执行这些操作,以减少响应时间和提高整体性能。 4. 启用缓存:通过启用缓存插件,可以将静态资源暂存在访问者的浏览器中,减少服务器的负载,提高网站的响应速度。 5. 最小化CSS和JavaScript文件:将这些文件进行最小化、合并和压缩,以减少HTTP请求次数和文件大小,从而提升加载速度。 6. 使用CDN:使用内容分发网络(CDN)可以将网站的静态资源缓存到全球各地的服务器上,提高访问者的加载速度。 7. 避免过多的插件:只安装必要的插件,因为过多的插件会增加服务器负载和页面加载时间。 8. 更新WordPress插件:确保WordPress核心文件和插件始终更新到最新版本,以获得最新的性能优化和安全补丁。 9. 使用快速的主机:选择可靠、高速的主机服务商,并确保服务器配置能够支持高流量和高性能需求。 10. 最小化重定向和外部请求:减少重定向和外部请求的数量,可以减少加载时间和延迟。 通过以上措施,可以显著提高WordPress网站的加载速度,提供更好的用户体验。 ### 回答3: 要让WordPress网站打开速度更快,可以采取以下措施: 1.选择适合的主题:选择一个轻量级的主题,避免使用过多的功能和插件,这样可以减少网站的加载时间。 2.优化图片:使用合适的图片格式(如JPEG、PNG)并进行压缩,减少图片大小,提高加载速度。还可以使用Lazy Load插件,延迟加载图片,只在用户滚动到可见区域时加载图片。 3.清理数据库:定期清理无用数据、垃圾邮件和冗余插件,可以减少数据库的负担,提高网站的响应速度。 4.启用缓存插件使用WordPress缓存插件,如W3 Total Cache、WP Super Cache等,可以将页面静态化,减少服务器负载,加快页面加载速度。 5.优化CSS和JavaScript:将CSS和JavaScript文件进行合并和压缩,减少HTTP请求次数,从而提高网站加载速度。可以使用Autoptimize插件来自动优化这些文件。 6.使用CDN加速:使用内容分发网络(CDN),将网站的静态资源(如图片、CSS、JavaScript文件等)分发到离用户更近的服务器,加快访问速度。 7.使用缓存DNS:使用缓存DNS服务,如Cloudflare、Google DNS等,可以加快DNS解析速度,提高网站的响应速度。 8.删除无用插件和主题:及时删除不再使用插件和主题,减少服务器负担和冗余文件,提高网站的整体性能。 总结起来,通过选择轻量级主题,优化图片、数据库和代码,启用缓存插件使用CDN加速和缓存DNS,删除无用插件和主题等措施,可以显著提高WordPress网站的打开速度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值