如何缓存WordPress菜单进一步提升网站速度

最近,我跟大家分享过关于 WordPress 缓存的相关文章(如下),今天再跟大家分享如何为WordPress缓存菜单使得进一步提升网站访问速度。

因为网站菜单是网站中需要改动最少的部分,使用 Menu Caching 插件对菜单进行缓存,生成HTML文件将防止对菜单进行不必要的数据库调用,并大大缩短页面加载时间。

WordPress 菜单调用数据库对网站速度有一定的影响,而数据库调用是 WordPress 的主要性能瓶颈。

具体来说,菜单在 WordPress 数据库的中至少分散在六个不同的表中:在“wp_terms”、“wp_term_taxonomy” 和“wp_options”表中,我们将找到菜单 ID、slug 和主题位置。然后使用“wp_posts”和“wp_postmeta”来查找菜单的导航项及其元数据。在 metas 中,我们会找到它的目标对象,所以让我们再次访问 ‘wp_terms’ 或 ‘wp_posts’ 来找到菜单项的目标和 ‘wp_termmeta’ 来找到它的 metas。收集完所有必需的数据后,将创建菜单 HTML 并将其显示给用户。

运行机制

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

如何缓存WordPress菜单进一步提升网站速度插图1
Menu Caching 插件截图

插件完整功能列表

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

菜单缓存结果

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

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

  • 请求的页面不存在现有的缓存版本。在保存缓存的版本之前,您将受益于每个页面上的第一个页面加载期间的菜单缓存。
  • 当用户登录时。即使对登录用户使用每用户缓存,菜单缓存对于在创建缓存文件时快速创建菜单仍然非常有用。
  • 在默认情况下无法缓存的页面上的电子商务网站上,例如购物车,结帐,我的帐户,愿望清单等。
  • 在大多数电子商务网站中,当客户向购物车添加内容时,从缓存中提供页面会停止以防止迷你购物车中的错误数据。
  • 在某些 AJAX 请求上,这些请求加载包含菜单的页面内容。

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

对于管理员用户

  • 所有菜单的加载时间 – 无菜单缓存:0.46 秒(平均)
  • 所有菜单的加载时间 – 带菜单缓存:0.0015秒(平均)
  • 速度优势:速度快300倍以上 – 菜单几乎立即加载!

对于隐身访客

  • 所有菜单的加载时间 – 无菜单缓存:0.232194 秒
  • 所有菜单的加载时间 – 带菜单缓存:0.001185 秒
  • 速度优势:速度快约200倍 – 菜单几乎立即加载!

本文来自【年年有鱼黄金会员】的投稿,部分内容可能来源于互联网,不代表【最省事】的观点和立场。侵权投诉>>

本文著作权归博主所有,并授权【最省事】独家使用,未经博主授权,请勿转载。授权申请>>

(9)
上一篇 2022年1月19日 09:17
下一篇 2022年3月31日 21:43

相关推荐

发表回复

登录后才能评论