介绍

我相信建立网站的朋友非常关心网站的速度。 同时,在以前的许多文章中,我还简要介绍了一些有关速度优化和加速的相关教程文章。 从理论上讲,只要您匹配的服务器还不错,它就会很快。 如果要使您的网站速度更快,请阅读本文,并使用 Redis 和 opcache 加快网站速度。

主题优化说明

为了让大家了解什么是极速优化,首先我得给大家介绍一下主题是如何做的。 简单的说一个网站打开的流程:wordpress 使用 PHP 为后端服务,由 PHP 进行 html 内容渲染,然后传入用户浏览器。 那么这里我们从速度优化上来讲主要需要重视的两个过程:后台渲染速度和前台网页加载速度。

  • 后台渲染速度主要有 PHP 负责,由 php 查询数据库,生成 html 内容再返回给浏览器
  • 前台网页加载速度 主要取决于用户与服务器之间的网速以及请求的内容大小

那么这里我们先说前台加载速度,这一部分最简单易懂,简单的说就是网速快不快,内容大不大。我这个用的是子比主题,本站有关于子比主题的介绍。先给大家介绍下子比主题的优化。那么子比主题在前台加载速度优化上做了哪些优化呢?

  1. 全局所有 js 文件,css 文件动态按需加载,注意这个按需加载并不是你开启了这个功能就加载对应的文件,而是说这个页面有这个功能,才会加载这个文件。举例说明:主题 V5.2 开启自带了视频播放器功能,为了让视频播放器支持不同的流媒体格式,那么这个功能一共有 4 个 JS 文件组成 (1 个视频播放器主文件,3 个流媒体格式支持文件),每个文件大约 160KB 。如果我们直接加载这四个文件,那就会有 600 多 kb 的内容了,如果你页面没有视频的话,这 600kb 的内容无疑就是浪费了!主题的动态按需加载就是为了解决这个问题,不管你是否开启此功能,主题会按照当前页面自动检测是否有视频,有的话的就加载对应的 JS 文件,同时自动分析支持的格式加载对应的格式支持 js 文件,不需要的文件一律不加载!同理,其它 js 和 css 均采用此原来动态按需加载。
  2. 全局所有 JS,CSS 文件均采用 UglifyJS 标准进行压缩使用,同时保留了未压缩文件,方便有需要的用户进行修改!
  3. 全局所有图片均支持异步懒加载,图片可以说是一个网站最占流量的内容了,开启图片懒加载之后,在用户进入网页的时候不会加载任何图片以提高页面打开速度,然后当用户浏览页面的时候,根据需要,用户看哪里的就加载哪里的图片,当然是提前加载,不会影响用户体验。
  4. 全局所有图片均支持异步懒加载,图片可以说是一个网站最占流量的内容了,开启图片懒加载之后,在用户进入网页的时候不会加载任何图片以提高页面打开速度,然后当用户浏览页面的时候,根据需要,用户看哪里的就加载哪里的图片,当然是提前加载,不会影响用户体验
  5. 部分 JS,CSS 内容延迟加载。有一部分的功能可能不会是用户最需要的,或者不是打开页面立即就会使用的,那么这样的功能所需要的文件,我们将它放置在页面全部加载完成之后再进行加载。比如海报分享功能、一言功能、文章目录等功能:使用率较低,并且一般打开页面用户也不会立即使用此功能。
  6. 大量的 AJAX 不刷新加载功能,AJAX 就是不刷新加载内容,比如 AJAX 下一页,ajax tab 等,有效的减少请求内容,提高页面加载速度,主题的 AJAX 功能全部使用在不影响 SEO 的内容中!
  7. 框架内容支持 CDN 加速,这个一般适用于海外服务器,国内访问较慢的话可以在主题设置开启。

除了以上部分其实还有很多的细节,这是在开发的过程中就一直放在中心的项目。当然除了加载速度,同时主题也在用户浏览体验上做了很多的优化,主题 90% 的动画效果均采用基于硬件加速的动画参数,确保所有动画效果思思顺滑不掉帧,比如幻灯片、图片灯箱等。同时在 js 函数和 CSS 函数编写的时候均采用高效的执行逻辑,避免重复、避免使用高负荷函数等。

后台主要采用 php 以及数据库进行页面渲染,主题开发中保持良好的开发逻辑,并且使用 WP 官方 Object Cache 对象缓存机制,确保函数的高效执行,有效的提高渲染速度本篇文章我们也重点说一说如何优化后台的渲染速度。

优化方法

  • 前台优化:使用 CDN 加速
  • 前台优化:图片使用 OSS/COS 等第三方储存
  • 后台优化:不建议是用全静态缓存,会导致很多功能不能用
  • 后台优化:推荐使用 Redis 或 Memcached 缓存功能,不会有任何负面影响
  • 后台优化:推荐使用 opcache 进行 PHP 加速优化

Redis 缓存教程

php 在执行函数最消耗时间的就是查询 SQL 数据库了,一般来讲一个页面的数据库查询大概在 120 到 260 次左右,使用 Redis 或者 Memcached 缓存,原理就是将 php 查询过的数据库缓存下来,下一次相同内容就不再查询数据库了,直接从缓存获取,极大的提高 php 执行效率。

WordPress 官方采用 Object Cache 对象缓存,同时主题的也遵循此机制,配合 Redis 或者 Memcached 缓存,能将数据库查询降低 80%,极大的提高了渲染速度

Redis 和 Memcached 原理是一样的,我们只需要二选一安装使用即可,优化加速的效果也差不多。我就以宝塔环境安装 Redis 为例,进行详细的图文教程。

教程开始

  • 安装 PHP 的 Redis 扩展
  • 宝塔安装 Redis 程序
  • wordpress 安装 Redis 缓存插件并开启

安装 PHP:Redis 扩展

  • 进入宝塔,选择到我们目前在使用的 PHP 程序 (推荐使用 PHP7.4),进入安装扩展找到 Redis 并安装。
  • 等待安装完成之后,记得重启一下 php 服务。

安装 Redis 程序

  • 进入宝塔的软件商店,搜索 Redis ,然后安装即可,安装完成之后无需做任何设置。

安装 wordpress 插件 Redis Object Cache

  • 直接在插件中心搜索 Redis Object Cache ,安装即可
  • 启用插件
  • 开启缓存

Opcache 加速教程

  • 根据 PHP 的执行逻辑,每一个 php 函数在执行的时候 php 会先把此函数进行编译解析。 Opcache 是 PHP 官方公司开发的一款 PHP 优化加速扩展,它的原理把 PHP 函数编译解析后的内容进行缓存,从而提高 PHP 的执行速度!根据测试,能有效的提高 2 到 5 倍左右的执行效率。安装 Opcache 就十分简单了,直接安装 Opcache 扩展,再重启 PHP 服务即可!
  • 使用宝塔安装 Opcache 之后会自动配置好扩展参数,如需适当修改,进入配置文件,搜索;opcache,即可看到配置参数。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。