如何在特定页面禁用WordPress插件加载以提升速度

谈到WordPress的性能,我们有很多关于插件的说法。每个插件都添加了必须执行的PHP代码,通常包括脚本和样式,甚至可能对数据库执行额外的查询。这意味着不必要的插件会影响页面速度,并可能对用户体验和页面排名产生负面影响。

例如,考虑一个在首页上构建和显示自定义表单的插件,例如Contact Form 7。通常,您在单个页面上只需要一个表单,但理想情况下,您可能希望使用插件的短代码在任何页面上嵌入表单。因此,Contact Form 7会在您网站的每个页面上加载脚本和样式。

但是您真的想运行插件代码并在WordPress网站的每个页面上包含脚本和样式吗?

在这篇文章中,我将向您展示如何防止在特定文章/页面上加载不必要的插件,以便您可以安装其他插件(当然不要发疯),并且仍然可以快速加载您的WordPress网站。为了完成此任务,我们将在特定文章和页面上以编程方式禁用WordPress插件。这是一个四步过程:

  • 选择适合您需求的最受欢迎的插件,并比较它们的功能和对页面速度的影响。
  • 在页面加载之前以编程方式列出和过滤插件。
  • 使用mu-plugin以编程方式过滤和停用不必要的插件。
  • 使用插件过滤和停用不必要的插件。
  • 跟踪网站性能。

选择插件时要遵循的三个一般规则

选择插件时,以下一般规则可能会有所帮助:

  • 仅安装来自可信赖开发人员的编码良好的插件:考虑活跃安装、用户评级、客户端支持、更新频率以及来自WordPress社区的任何有用信息。
  • 首选可扩展插件:在性能方面比较类似插件,利用浏览器开发工具和/或在线服务(如Google Pagespeed Insights、  Pingdom和GTmetrix)来评估每个插件对页面加载时间的影响。
  • 不要安装不必要的插件:这应该是显而易见的,但值得一提的是,出于安全和性能原因,您永远不应该安装您并不真正需要的插件。此外,请确保您不时检查您的插件并卸载那些您不再需要和不再使用的插件。

WordPress插件目录提供了我们在选择插件时应始终考虑的相关信息

一个真实的例子

Contact Form 7是一个很棒的插件,可以在WordPress中构建和显示表单。它为我们的目的提供了一个完美的示例,因为它在每个页面上都包含以下文件,即使页面不包含表单:

  • style.css
  • scripts.js

Chrome DevTools Network面板提供有关加载页面时发出的网络请求的详细信息

插件可能会减慢您的网站速度,但我们可以强制WordPress根据请求URL有选择地停用插件。如果您是开发人员,请阅读下一节,我们将学习如何以编程方式管理插件并构建过滤不必要插件的mu-插件。如果您不是开发人员,请随时跳到专门简介允许过滤和组织插件的插件部分。

如何以编程方式获取所有活动插件的列表

首先,您可以使用简单的PHP代码片段获取WordPress网站上所有活动插件的列表。您可以在自定义插件或免费WordPress 插件(如Code Snippets)的编辑器中添加以下代码。如果您决定使用自定义插件,请不要忘记添加插件标题,如下所示。

wp_options表中的活动插件

每个活动插件都存储在wp_options表中,其中options_name的值active_plugins。所以我们可以通过一个简单的get_option调用来提取这些插件的列表。这是代码: