如何禁用WP-Cron (wp-cron.php) 以獲得更快的效能

如何禁用WP-Cron (wp-cron.php) 以獲得更快的效能

CRON作業用於在您的WordPress網站上定期安排固定時間、日期或間隔的任務。WordPress cron作業的一些示例可能涉及安排要釋出的帖子、檢查更新或按預定義計劃執行的備份外掛。

在WordPress中,這是由WP-Cron處理的 ,它用於模擬系統cron。但是,根據您網站的流量,使用內建的cron處理程式實際上會開始影響您的頁面載入時間。因此,今天我們將向您展示如何禁用WP-Cron ( wp-cron.php) 並改為使用系統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.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
define('DISABLE_WP_CRON', true);
define('DISABLE_WP_CRON', true);
define('DISABLE_WP_CRON', true);

禁用WP-Cron

禁用WP-Cron

如何排程系統Cron

然後,您將需要wp-cron.php從您的伺服器進行安排。

如果您的站點是多站點,則您需要執行一些額外的設定步驟,以便為您的子站點執行cron作業。以下是我們可以為此推薦的一些資源:

對於單站點WordPress,建議您檢視正確設定WordPress Cron作業以瞭解如何設定系統 cron。

在cPanel中建立Cron作業

如果您使用帶有cPanel的主機,您還可以從其控制面板建立系統cron。注意:確保首先禁用上面的預設WP-Cron。

第1步

登入到cPanel。在高階部分中,單擊Cron作業。

cPanel定時任務

cPanel定時任務

第2步

在Add New Cron Job部分下,您可以從許多不同的預定義計劃中進行選擇,例如每小時兩次或每週一次。您的託管服務提供商很可能對允許執行cron作業的頻率有限制。每小時兩次是共享主機的常見設定。

cPanel cron作業設定

cPanel cron作業設定

第3步

新增以下命令。替換https://domain.com為您的域名。根據您的主機配置方式,此命令可能略有不同。然後單擊“Add New Cron Job”。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
wget -q -O - https://domain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
wget -q -O - https://domain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
wget -q -O - https://domain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

cPanel新增新的cron作業

cPanel新增新的cron作業

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

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

如果您不習慣在伺服器上設定cron作業或您的託管服務提供商不提供訪問許可權,您還可以使用第三方解決方案,例如EasyCron

評論留言