如何禁用WP-Cron (wp-cron.php) 以获得更快的性能插图

CRON作业用于在您的WordPress网站上定期安排固定时间、日期或间隔的任务。WordPress cron作业的一些示例可能涉及安排要发布的帖子、检查更新或按预定义计划运行的备份插件。

在WordPress中,这是由WP-Cron处理的 ,它用于模拟系统cron。但是,根据您网站的流量,使用内置的cron处理程序实际上会开始影响您的页面加载时间。因此,今天我们将向您展示如何禁用WP-Cron ( wp-cron.php) 并改为使用系统cron以获得更快的性能。

  • WP-Cron的性能问题
  • 如何禁用WP-Cron
  • 如何调度系统Cron

WP-Cron的性能问题

WordPress内置的Cron处理程序WP-Cron存在很多性能问题。首先,重要的是要了解WP-Cron不是真正的cron工作,它只是WordPress为模仿系统cron所做的工作而创建的。

WP-Cron不会连续运行。默认情况下,wp-cron.php每次加载页面时都会触发,这在高流量站点上可能会导致问题。如果一个站点没有足够的PHP workers,有时会有一个请求进来,WordPress会产生cron,但是cron必须等待worker,因此只是坐在那里。

相反的情况也是如此。如果一个网站没有很多流量,由于没有人加载页面,可能会错过时间表。

更好的方法是禁用WP-Cron并改用系统cron。这按预定义的时间表运行,甚至在官方插件手册中也有推荐 。

如何禁用WP-Cron

要禁用WP-Cron,请将以下内容添加到您的 wp-config.php文件中,就在“That’s all, stop editing! Happy blogging。” 注意:这会禁用它在页面加载时运行,而不是当您直接通过wp-cron.php.

define('DISABLE_WP_CRON', true);

如何禁用WP-Cron (wp-cron.php) 以获得更快的性能插图1

禁用WP-Cron

如何调度系统Cron

然后,您将需要wp-cron.php从您的服务器进行安排。

如果您的站点是多站点,则您需要执行一些额外的设置步骤,以便为您的子站点运行cron作业。以下是我们可以为此推荐的一些资源:

  • 使用WP CLI在多站点网络上运行Cron作业
  • 在多站点实例上运行WordPress cron

对于单站点WordPress,建议您查看正确设置WordPress Cron作业以了解如何设置系统 cron。

在cPanel中创建Cron作业

如果您使用带有cPanel的主机,您还可以从其控制面板创建系统cron。注意:确保首先禁用上面的默认WP-Cron。

第1步

登录到cPanel。在高级部分中,单击Cron作业。

如何禁用WP-Cron (wp-cron.php) 以获得更快的性能插图2

cPanel定时任务

第2步

在Add New Cron Job部分下,您可以从许多不同的预定义计划中进行选择,例如每小时两次或每周一次。您的托管服务提供商很可能对允许运行cron作业的频率有限制。每小时两次是共享主机的常见设置。

如何禁用WP-Cron (wp-cron.php) 以获得更快的性能插图3

cPanel cron作业设置

第3步

添加以下命令。替换https://domain.com为您的域名。根据您的主机配置方式,此命令可能略有不同。然后单击“Add New Cron Job”。

wget -q -O - https://domain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

如何禁用WP-Cron (wp-cron.php) 以获得更快的性能插图4

cPanel添加新的cron作业

>/dev/null 2>&1上述命令的 一部分禁用电子邮件通知。

使用第三方解决方案安排Cron

如果您不习惯在服务器上设置cron作业或您的托管服务提供商不提供访问权限,您还可以使用第三方解决方案,例如EasyCron。