最近陆续给网站做一些性能优化,并且排查一些性能问题。WordPress 自身有一个 WP Cron 功能,会定期执行,比如定期发布文章等,但是这个东西比较占用资源,每次执行的时候都会占用大量资源,所以我们有时候并不希望这个东西一直执行,那么就可以先禁用 WordPress 的 WP Cron 功能,然后设置 VPS 上的 cron 任务,这样就可以实现定时执行了,而不是每次有访客就调用这个任务。
一、在 WordPress 中禁用 wp-cron
在替换之前,我们需要先禁用 wp-cron。
要禁用 wp-cron,需要编辑 wp-config.php,这是一个核心 WordPress 配置文件。它位于您的 WordPress 站点的根文件夹中,您需要使用 FTP 客户端或网络托管控制面板中的文件管理器。
该文件包含大量敏感信息,做出错误的更改可能会破坏您的 WordPress 网站。我们建议先备份文件,以防万一。
需要将以下代码粘贴到 wp-config.php 文件中。
define('DISABLE_WP_CRON', true);
如图所示:
之后,保存文件并将其上传回您的网站。
当有人访问您的网站时,WordPress 将不再触发 wp-cron。
二、在宝塔面板添加定时计划任务
宝塔面板是国内优秀的服务器环境面板,如果你的服务器使用了宝塔面板,可以在 计划任务 页面按照下图示例添加计划:
任务类型选择“访问URL”,执行周期设为30分钟,URL网址设置为:
https://example.com/wp-cron.php?doing_wp_cron
请确保将“example.com”替换为您自己网站的 URL。
到此,我们已经成功添加了宝塔计划任务来执行WordPress wp-cron 定时任务。
参考文献:
- https://www.wpdaxue.com/baota-wp-cron.html
- https://docs.wp-rocket.me/article/1279-cron-and-wp-rocket