如何在 WordPress 中禁用 WP-Cron?
已发表: 2022-07-26
“对于 WP-Cron 与否,这是个问题。” “我是 WP-Cron,所以我存在。” “你一直想知道关于 WP-Cron 但又不敢问的一切。” 在为这个半详尽的指南集思广益时,我们想到了很多恶搞标题。 撇开所有的玩笑不谈,cron 作业是计算机有价值的重要部分——处理。 为我们着想。 为我们做事。
计算机最好的工作之一是调度和执行任务。 更好的是,当我们睡觉或处理其他事情时,计算机会执行任务。 很可能,两者兼而有之。 与 WP-Cron 一样好,它也有缺点。 有一些用例鼓励您在 WordPress 中禁用 WP-Cron——尤其是在页面加载时间很重要的情况下(它们确实如此)。 但首先,什么是 WP-Cron?
什么是 WP-Cron?
Cron 是 chronological 的缩写。 考虑按时完成工作。 如果您熟悉类 Unix 系统,您就会知道它们的 cron 实用程序。 任何与服务器对话的软件都可能具有某种实用程序来安排任务。 WordPress 还有一个名为 WP-Cron 的 cron 实用程序,只是它使用间隔而不是纯时间。
“WP-Cron 是 WordPress 处理在 WordPress 中调度基于时间的任务的方式。 几个 WordPress 核心功能,例如检查更新和发布预定帖子,都使用了 WP-Cron。”
WordPress 法典
WP-Cron 做什么?
WP-Cron 使用钩子来调用函数。 (对于一个不清楚的答案怎么办?)例如,WordPress Core 使用 WP-cron 来检查更新。 WordPress 插件可以使用 WP-Cron 发送捐赠者收据、启动计划备份或与该特定插件的功能相关的任何数量的任务。
“WordPress 默认的 cron 不可靠,它取决于您的网站流量。 使用服务器端 CRON 处理程序总是更好。” 流利的客户关系管理
WP-Cron 多久运行一次?
WP-Cron 在页面加载的预定时间运行。 因此,如果在计划的 cron 作业时未加载页面,则可能存在错误。 所以这个问题的答案是“视情况而定”。 更简洁地说,WP-Cron 作业在页面加载时运行。 WordPress Codex 说 WP-Cron 将“最终”运行。 (不是很让人放心)。
“使用 WP-Cron,所有计划任务都被放入队列中,并在下一个机会运行(意味着下一页加载)。 因此,虽然您无法 100% 确定任务何时运行,但您可以 100% 确定它最终会运行。” WordPress 法典
WP-Cron 多久运行一次? 就像页面加载一样频繁。
WP-Cron 默认启用吗?
是的,默认情况下启用 WP-Cron。 它是 WordPress 核心的一部分。 例如,这是 WordPress 检查更新和发布已安排的博客文章的方式。
“默认情况下,WP Cron 是启用的,因为有 WordPress 功能依赖于执行预定的作业。”
SmackCoders.com
如何禁用 WP-Cron?
在我们讨论如何禁用 WP-Cron 之前,我们应该先讨论一下为什么要禁用 WP-Cron。 例如,如果您的站点在共享主机上,您不希望在由各种插件运行的无数 cron 作业上占用所有服务器资源(处理能力等)。 这是插件膨胀可能成为问题的另一个原因。 您不仅会在共享服务器上成为一个糟糕的互联网公民,而且您的网站运行速度也会非常慢。 WP-Cron 在页面加载时运行。 首字节时间是 Core Web Vitals 的一个重要指标。
您可以通过将以下代码添加到 wp-config.php 文件的顶部来禁用 WP-Cron:
define('DISABLE_WP_CRON', true);

现在,由于在您的 wp-config.php 文件中禁用了 WP-Cron,您的站点将不再对请求执行 wp-cron,最终改善了您站点的 TTFB。

如果我禁用 WP-Cron 会发生什么?
如果您禁用 WP-Cron 帖子可能无法发布,插件和核心可能无法更新,以及许多事情。 但是,如果 WP-Cron 被禁用,它很可能会被替换为“在服务器上运行的适当 cron”,正如 WP 的 Better Notifications 所提到的那样。
如何启用系统 Cron?
现在通过我们的 wp-config 文件禁用了 WP-Cron,我们需要执行 wp-cron 才能运行一些非常重要的任务。
你知道 Rocket.net 的工作人员可以为你做这件事吗? 我们的团队每周 7 天、每天 24 小时提供服务,平均响应时间仅为 41 秒。
开始使用
无论您使用的是 cPanel 还是自定义控制面板,您的主机都应该支持创建 cron 作业。 您可能需要联系您的主机让他们为您创建它,但最终您将希望创建以下 cron,以便您的 wp-cron 至少每 15 分钟执行一次:
*/15 * * * * wget -q -O - https://yourdomain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
上述行的>/dev/null 2>&1部分将在每次 cronjob 运行时禁用电子邮件通知。
是否存在任何 WP-Cron 漏洞问题?
任何代码都可能容易受到安全攻击,甚至是 WP-Cron。 这是我们在 Rocket 平台上实施 Cloudflare Enterprise 的原因之一——我们的客户可以选择使用 Cron Triggerd Works。 然而,更重要的是,WP-Cron 可能是它自己最大的敌人。 这是一个内部威胁。
“它变成了对你自己的基本 DDoS 攻击。 这是因为 cron 每分钟使用 HTTP 请求执行多次。”
CPanel 人
如何检查 WP-Cron 是否工作?
您可以按照 WPBeginner 的建议,通过安装像 WP Control 这样的插件来检查 WP-Cron 是否正常工作。 如果您预定的博客文章未按时发布,则表明 WP-Cron(或替代方案)无法正常工作。
如果我禁用 WP-Cron,我的网站会更快吗?
您可以通过禁用 WP-Cron 并迁移到服务器端解决方案来使您的网站更快。 当您的流量快速扩展时尤其如此。 由于 WP-Cron 在页面加载时触发,因此加载的页面越多,执行的 WP-Cron 作业就越多。 从本质上讲,那是一只贪婪的野兽。 “喂我,西摩!”
谈话很便宜。 让 Rocket 向您展示最快的 WordPress 托管的真正含义!
节省网站性能、您的代理机构的时间和金钱? 是的。 Rocket 平台具有内置功能,可消除您对其他付费版本的安全性、图像优化、CDN 和 JS 内容加载器插件的需求。 它们是您最喜欢的新平台(以前称为托管 WordPress 托管的产品)中内置的功能。
让我们谈谈我们如何将您的网站迁移到 Rocket.net,这是世界上最快的 WordPress 托管服务。 今天开始你的使命!
