相较于其他程序,WordPress 确实过于臃肿了。如果安装了过多的插件,又没有进行任何的优化,WordPress 网站的访问速度可能会变得非常慢。本文将提供一些优化方案,大家可以根据自己的实际使用情况选择。
启用缓存
对于使用香港、美国、优质美国主机的用户,我们的服务器采用了 LiteSpeed Web Server,可以参考下面这个教程安装启用 LSCache 插件。
如果使用的是国内主机,或者是在云服务器、独立服务器上自己配置的环境,可以使用 WP Super Cache 来替代 LSCache,不过效果会比 LSCache 差一些。
缩小 CSS 和 JS 文件
LSCache 里面默认自带了缩小和合并 CSS/JS 文件的功能,在 Page Optimization 里面找到 CSS Settings 和 JS Settings 即可对应设置 CSS/JS 最小化。如果你的主题支持合并 CSS/JS, 则也应开启合并 CSS/JS. 如果你的主题支持异步加载 CSS/JS, 也应开启异步加载。
如果你用的不是 LiteSpeed, 可以安装 WP Super Cache, 同样能够实现最小化与合并 CSS/JS、异步加载的功能。
开启 LazyLoad
首先说明一下:LazyLoad 治标不治本。如果你的页面上图片较多,你应该首先考虑缩小图片大小(比如 webp, 降低分辨率等)。如果实在没有办法缩小或者数量太多,那么可以考虑 LazyLoad。LazyLoad 的作用是在页面加载的时候先用一张占位空白图片代替,然后逐渐载入页面中的图片,这样能够让用户暂时跳过图片加载,很快地先打开网页,然后再慢慢加载图片。
如果你使用 LSCache, 那么 LazyLoad 配置很简单,仅需在 Page Optimization – 多媒体设定里面开启延迟加载即可。如果你没有使用 LSCache, 则需要安装额外的插件(比如这个https://wordpress.org/plugins/wp-lazy-loading/)实现 LazyLoad。
开启 InstantClick
InstantClick 真的是神器。它的原理是检测到用户的鼠标悬浮在链接上的时候就开始预加载链接对应的内容,这样大幅减少了页面之间跳转的响应时间。如果你的 WordPress 主题没有特别大的问题,我建议都开启 InstantClick. 需要注意的是,开启 InstantClick 会显著提升 CPU 负载。因此,如果你的服务器采用的是 Apache MPM-Prefork, 则不建议开启 InstantClick。
如果你使用 LSCache, 那么配置 InstantClick 很简单,仅需在缓存规则 – 高级设定中开启即时点击即可。
如果你没有使用 LSCache, 则需要安装额外的插件(比如https://wordpress.org/plugins/wp-instant-links/)来实现 InstantClick。
其他
如果有条件,选择一个更快的服务器可能是提升速度的好办法。比如:如果是在大陆地区访问,香港主机会比美国主机的速度更快。你也可以使用 CDN 来分发图片和静态文件等。