WordPress作为一个动态网站,不优化的话速度很慢,所以速度慢的影响这里就不细说了。这里简单介绍一下WordPress的速度优化思路以及优化后缓存问题的解决方案(找一个合适的地方清理缓存)。
说到优化,大家第一个想到的就是上CDN!但是,在WordPress中尝试使用CDN内容分发网络之后,你会发现这并不是一件舒服的事情。暂时无法登录账号,文章修改后也不会刷新…
造成这一系列问题的主要原因是WordPress是一个动态网站,主要依靠数据库和PHP生成网页,而CDN分发网络只适合静态加速,所以WordPress上CDN时的缓存配置策略一定要好好研究。
目前我的网站只使用COS+CDN加速静态资源,网站本身不使用CDN。如果使用全站点缓存,必然会出现上面提到的问题。这里推荐一个插件,解决这方面的一些问题,但是还不完善,需要打磨…
详情请见下面的链接。如有疑问,可以轻松找到插件作者进行咨询。感兴趣的朋友可以参考一下。
WP-CDN-Yes WordPress CDN插件
主要介绍网站正在使用的缓存方案,是利用WPJAM基本插件,参考水煮鱼博客的资料编写的。前面介绍了优化过程,后面介绍了最近改主题后遇到的各种缓存问题的排查思路,并做了笔记,避免下次混淆。
一、网站动态内容优化
网站加速分为两个步骤:动态内容优化和静态资源加速。
WordPress博客页面的生成是首先加载WordPress程序,然后加载插件和主题,最后根据请求从数据库中取出数据来渲染网页。当然这也是一般PHP脚本渲染网页的过程。
所以动态内容优化要先优化服务器,安装OPCache和Memcached,再优化WordPress。
OPCache将编译好的PHP代码缓存到内存中,用户访问时可以直接调用,起到高效加速的作用。
Memcached会将WordPress的数据库查询结果存储在内存中,下次直接从Memcached中检索,这样数据库查询会减少,甚至可以做到0 SQL,所以页面生成的速度可以显著提高。
优化WordPress,WPJAM基本插件已经集成了大部分的优化选项,这里不再赘述。
WordPress生成页面后,页面中有图片、CSS、JS等静态文件。如果这些静态资源加载很慢,用户访问你的网站会感觉很慢,所以我们需要加快图片、CSS、JS等静态资源的速度。
2021年8月13日更新:
这里有一个用Redis替换Memcached的选项。下面这篇文章介绍了如何使用Redis和opcache优化动态内容,全面清晰,有需要可以参考。Wordpress网站使用Redis缓存和PHP opcache来加速网站-zibll子主题的详细图形教程。
第二,网站静态资源加速
静态资源加速是指用户可以快速访问博客中的图片、CSS和JS文件。
另一方面,是什么阻碍了用户快速访问图片、CSS、JS等静态资源文件?
服务器带宽不够,网页中的图片很大,或者访问量很大,所以这些资源的加载是有限的。当然服务器带宽可以升级,但是很贵。
服务器的并发并不大。虽然服务器处理静态资源所需的CPU远小于动态内容,但如果一个网页有几十张图片,那么一个用户的访问就相当于服务器的几十个并发,大了流量就会被阻塞。
CDN(Content Delivery Network)是指内容分发网络,使用各种缓存服务器将这些缓存服务器分发到用户访问相对集中的区域或网络。当用户访问网站时,他们使用全局负载技术将用户的访问定向到最近的工作缓存服务器,缓存服务器直接响应用户的请求。
CDN加速有两种。一个是全场加速。在这种情况下,网站中的动态内容和静态资源都提供了CDN服务,而WordPress的动态内容是由PHP实时生成的,所以不建议使用CDN加速。此外,图片等资源还存在返回来源、无法使用缩略图等问题。
所以我们一般建议将静态资源镜像到第三方云存储服务,比如阿里云的OSS,腾讯云的COS,然后利用CDN对静态资源进行加速。
转载请注明:汇站网 » WordPress速度优化经验