無駄と文化

実用的ブログ

WP-Cron を cron から叩く

WP-Cron を cron から叩くとサイトの表示が若干軽くなるとのことでやってみた。
結論、問題なく動いている。

やりかた

すでに多くの人が解説しているので割愛。 やるべきことは、

  • define('DISABLE_WP_CRON', true); を設定してデフォルトの動作を止める
  • cron 設定で wp-cron.php を定期的に叩くようにする

具体的にはこちらのサイトを参考に、 hacknote.jp

注意点

cron 設定について、

  • cron を毎分実行するように設定しようとしたら「毎分実行は負荷が大きくなりがちなので制限をかけるかも」と注意喚起された *1
  • なので5分に一度 cron 実行するように設定を変えた
  • そうすると WP-Cron の実行も最大で5分遅延する恐れがある

PHP の実行時、

  • php コマンドで wp-cron.php を叩く場合、 $_SERVER['SERVER_NAME'], $_SERVER['REQUEST_METHOD'] などが取得できない。場合によっては PHP スクリプトの修正が必要になるかも
  • curl https://example.com/wp-cron.php とかすれば回避できるけど、特定の IP からしかアクセスを許していない条件下では使えない

補足

ちゃんと動作するか最初は不安だと思うので、 WP Crontrol を使ってタスクやログをウォッチしながらやると安心できる。

 

私からは以上です。

*1:共用サーバー (エックスサーバー) を利用しているのでこのような注意喚起が出たみたいです