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】一文,用的插件越少兼容性、稳定性也越好。

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,下面是一个简单的WordPress缓存插件示例: ```php <?php /** * Plugin Name: Simple Cache * Description: A simple caching plugin for WordPress. * Version: 1.0 * Author: Your Name * Author URI: https://yourwebsite.com/ */ // Define cache duration in seconds define( 'SIMPLE_CACHE_DURATION', 3600 ); // Enable caching for logged-in users define( 'SIMPLE_CACHE_LOGGED_IN', true ); // Check if page is cacheable function is_cacheable() { if ( is_admin() ) { return false; } if ( SIMPLE_CACHE_LOGGED_IN && is_user_logged_in() ) { return false; } return true; } // Get cache key function get_cache_key() { global $wp; $url = home_url( $wp->request ); return 'simple_cache_' . md5( $url ); } // Get cached content function get_cached_content() { $key = get_cache_key(); $content = get_transient( $key ); if ( $content ) { return $content; } return false; } // Cache content function cache_content( $content ) { $key = get_cache_key(); set_transient( $key, $content, SIMPLE_CACHE_DURATION ); return $content; } // Filter content before output function filter_content( $content ) { if ( is_cacheable() ) { $cached_content = get_cached_content(); if ( $cached_content !== false ) { return $cached_content; } $content = cache_content( $content ); } return $content; } add_filter( 'the_content', 'filter_content' ); ``` 这个插件会将页面缓存起来,以便下一次访问时可以更快地加载页面。缓存持续时间可以通过 `SIMPLE_CACHE_DURATION` 常量来设置。如果你想让已登录用户也可以使用缓存,可以将 `SIMPLE_CACHE_LOGGED_IN` 常量设置为 `true`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明月登楼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值