wp-cronの起動をcronに任せてWordPressを高速化させる。

wp-cronについて

wp-cronは、アクセス時に起動して、時刻を参照、時間が来ていたら予約されたタスクを動作させる疑似cronのようなものです。

アクセス頻度が多いサイト、少ないサイトによって呼び出される回数が違うことになり、設定から一定期間読み込まないなどもできるようです。

初期設定だと毎回呼び出しになっており、アクセス数が多すぎるサイトだと無駄な呼び出し回数に処理を食います。

また、アクセスが少ないサイトの場合、wp-cronに設定しているものがうまく動作しないことも起こりえます。

そのため、wp-cronの呼び出しをアクセスがあった時ではなく、5分毎、1分毎などに変更してあげたほうがアクセスが早くなります。

wp-cronを止めるとなぜ早くなるのかはコチラ

その1、wp-cronを止める

wp-cronをWordPressから呼び出しされるのを止めます。

こちらは非常に簡単で、DocumentRoot配下にあるwp-config.phpへ追記します。

define('DISABLE_WP_CRON', 'true');

こちらでwp-cronが呼び出されるのを停止出来ました。

この状態だと予約投稿なども動作しなくなっています。

その2、cronへwp-cronの実行を設定する

予約投稿を動作させるため、wp-cronの実行をcronへと追加します。

wp-cronはphpのファイルですから、そのまま登録してあげれば大丈夫です。

crontab -e

cronへの登録を行います。他に登録されているものがあったら追記の形で、ない場合には新規で以下のように書きます。

* * * * * apache /usr/bin/php /var/www/wordpress/wp-cron.php > /dev/null 2>&1

1分毎に起動させるcronです。「/var/www/wordpress/wp-cron.php」の部分は自分の配置しているwordpressに合わせて変更してください。

また、注意としては、apacheなどwebサーバを実行しているユーザーを指定してください。

どのくらい高速化されるかは次回の記事に。