【調教WordPress】用Easycron代替Wp-Cron教學

關掉Wp-Cron,Wordpress會變成一個笨蛋。因此,你需要找一個代替方法,而不僅是停用它。其中一個比較簡單的方法,就是使用Easycron。

WordPress通過自帶的Wp-Cron執行定時任務,但它不是很智能,只要有人訪問網站就會觸發它執行,因此會對伺服器的性能造成損耗,如果你用的是配置不高的網頁寄存(webhosting)或虛擬主機(VPS),更可能對網站的訪問速度也造成影響。

有一些Wordpress外掛(plugin)如WP Crontrol,可讓你管理定時任務,但並不能根本上解決Wp-Cron的問題,因為不管你怎麼設定,Wp-Cron依然會在有人訪問網站時就觸發執行,所以大多數Wordpress提速教學文章,都會叫你關掉Wp-Cron。

然而,只是關掉Wp-Cron,也並非是一個好主意。Wordpress的部分核心功能及很多外掛都依賴Wp-Cron來執行定期任務,如Wordpress開發商Automattic旗下的Jetpack,就需要通過Wp-Cron定期同步資料;知名SEO外掛Rank Math也需要通過Wp-Cron定期掃描網站。這意味着關掉Wp-Cron,Wordpress會變成一個笨蛋。因此,你需要找一個代替方法,而不僅是停用它。其中一個比較簡單的方法,就是使用Easycron

【Wordpress教學】Easycron價格表
Easycron價格表

Easycron是一款在線排程服務,幫你定期執行一些操作。代替Wp-Cron執行Wordpress的定時任務,只是它其中一個應用場景。最主要的是你可以免費使用它,免費計劃每天可執行200次定時任務,對於一般用家而言,十分足夠了。

(注意:Easycron也有出Wordpress外掛,但完全沒有安裝的必要,而且它也已經十一個月沒有更新了。)

如何利用Easycron取代Wp-Cron

步驟一:停用Wordpress的Wp-Cron

這個很簡單,修改wp-config.php,加入下面這一行:
define(‘DISABLE_WP_CRON’, ‘true’);

步驟二:在Wp-Cron上創建定時任務

Easycron創建cron job

這個也不難,需要填寫的只有三個地方:

1,URL to call,請填上Wordpress Wp-Cron的網址,通常是:https://yourdomain/wp-cron.php?doing_wp_cron

2,When to execute,選擇定期執行的時間間隔,每12個小時執行一次足矣,或再設小一點,只要不超出每天200次即可。

3,Timezone,選擇你的時區。

其他設定保持默認即可。

步驟三:設定Cloudflare防火牆

在Cloudflare上設定規則允許Easycron

如果你的網站使用了Cloudflare,這個為你看守家門的傢伙可能會阻擋Easycron,那麼你需要在Cloudflare的防火牆設定裏允許Easycron。根據我的經驗,如果開啓了Cloudflare的「機器人對抗模式」(bot fight mode),那麼即使在「防火牆規則」頁面下允許了Easycron的user-agent或IP,也依然會擋下Easycron。可行的方法是,在「工具」頁面下設定「IP 存取規則」,將Easycron的IPv4和IPv6地址都加進去並設爲允許。Cloudflare會以這些規則作為優先判定,因此可以越過機器人對抗模式。

步驟四:測試

Easycron測試

一切準備妥當,就可以測試任務能否順利執行了。

Easycron

陳牛

Summary

4
Default image
陳牛
陳牛,曾先後於《明報》、《端傳媒》、《香港01》任職,為《號外》、《就係香港》等媒體擔任特約記者、撰稿人。
0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
Shares
0
Would love your thoughts, please comment.x
()
x