如何在 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 託管服務。 今天開始你的使命!