WordPress 插件推荐:菜单缓存插件——Menu Caching

今天在缙哥哥博客上发现了一个 WordPress 速度优化插件的优化感觉很不错,明月自己装上也体验了一番, WordPress 菜单的载入速度无论是 PC 端和移动端都非常不错,并且这个叫 Menu Caching 的菜单缓存插件还完美的兼容 WPRocket,W3 Total Cache 等插件,没有理由不推荐给大家呀!

插件运行机制

每当用户访问带有菜单的页面时,WordPress 都会从数据库中收集所有菜单数据,然后创建菜单的 HTML。在此生成的 HTML 返回给用户之前,HTML 将暂时保存在数据库中。下次用户请求此特定菜单时,将返回保存的 HTML,而不是从头开始创建菜单。

插件完整功能列表

  • 缓存所有 WordPress 菜单以缩短页面加载时间。
  • 启用/禁用每个菜单的缓存。
  • 使用设置页面上的按钮清除所有菜单缓存。
  • 每次编辑菜单时,都会自动清除其缓存。
  • 所有缓存的数据每 10 小时自动清除一次,以保持所有内容的新鲜度,如 nonces 等。
  • 与缓存插件兼容,如 WPRocket,W3 Total Cache 等。
  • 与大多数翻译插件兼容。使用 WPML 和 TranslatePress 测试正常。
  • 菜单缓存结果

如果您使用一个好的缓存插件,并且某个页面是从缓存中提供的,那么您看不到加载时间的差异。但......在许多情况下,当页面没有从缓存中提供时,您会注意到巨大的差异。

未从缓存提供页面的一些情况:

请求的页面不存在现有的缓存版本。在保存缓存的版本之前,您将受益于每个页面上的第一个页面加载期间的菜单缓存。

当用户登录时。即使对登录用户使用每用户缓存,菜单缓存对于在创建缓存文件时快速创建菜单仍然非常有用。

在默认情况下无法缓存的页面上的电子商务网站上,例如购物车,结帐,我的帐户,愿望清单等。

在大多数电子商务网站中,当客户向购物车添加内容时,从缓存中提供页面会停止以防止迷你购物车中的错误数据。

在某些 AJAX 请求上,这些请求加载包含菜单的页面内容。

让我们看看在中型到大型电子商务网站上运行的一些测试的结果,该网站具有包含许多类别的大型菜单,单独的移动菜单和几个小菜单。

对于管理员用户

所有菜单的加载时间 -- 无菜单缓存:0.46 秒(平均)

所有菜单的加载时间 -- 带菜单缓存:0.0015 秒(平均)

速度优势:速度快 300 倍以上 -- 菜单几乎立即加载!

对于隐身访客

所有菜单的加载时间 -- 无菜单缓存:0.232194 秒

所有菜单的加载时间 -- 带菜单缓存:0.001185 秒

速度优势:速度快约 200 倍 -- 菜单几乎立即加载!

WordPress 的速度优化是个需要长期观察、分析、测试的过程,好在 WordPress 拥有丰富的插件资源,很多时候我们就可以采用多个不同插件来实现速度优化的目标,当然 WordPress 速度提升的不变法则依旧是能少用插件就少用插件,像明月目前也就是用了 7 个插件而已,并且从这次升级到 PHP 8.1.5 的经验来看(可参考【博客正式升级到 PHP 8.1.5】一文,用的插件越少兼容性、稳定性也越好。

相关推荐
无敌的神原秋人1 天前
关于Redis不同序列化压缩性能的对比
java·redis·缓存
百思可瑞教育1 天前
Vue中使用keep-alive实现页面前进刷新、后退缓存的完整方案
前端·javascript·vue.js·缓存·uni-app·北京百思可瑞教育
论迹1 天前
【Redis】-- 持久化
数据库·redis·缓存
七夜zippoe1 天前
多级缓存架构实战手册:Caffeine+Redis 从设计到落地的全链路解决方案
redis·缓存·架构
007php0071 天前
Redis高级面试题解析:深入理解Redis的工作原理与优化策略
java·开发语言·redis·nginx·缓存·面试·职场和发展
Yeats_Liao1 天前
Spring缓存(二):解决缓存雪崩、击穿、穿透问题
java·spring·缓存
沐浴露z2 天前
Redis内存回收:过期策略与淘汰策略
数据库·redis·缓存
shan&cen2 天前
Day02 集合 | 30. 串联所有单词的子串、146. LRU 缓存、811. 子域名访问计数
java·数据结构·算法·缓存
一氧化二氢.h2 天前
通俗解释redis高级:redis持久化(RDB持久化、AOF持久化)、redis主从、redis哨兵、redis分片集群
redis·分布式·缓存
七夜zippoe2 天前
缓存三大劫攻防战:穿透、击穿、雪崩的Java实战防御体系(一)
java·开发语言·缓存