WordPressのチューニングでwp-cron.phpを手動実行する時の注意点

以前、WordPressの負荷が上がっており、様々なチューニングをしました。

まず、サーバのチューニングでOPcacheを有効化。続いて、W3 Total Cacheをインストールします。ページがキャッシュされて高速になります。

また、wp-cron.phpを手動で更新するように設定。wp-config.phpの一番上に

define (‘DISABLE_WP_CRON’, ‘true’);

を記述します。次に、定期的な実行を行うためにcrontabでwp-cron.phpを実行するようにします。このwp-cron.phpはサイトにアクセスがあるたびに実行されるため、それなりにアクセスがあるサイトの場合は負荷が高くなります。

  1. OPcacheでPHPファイルの高速化
  2. W3 Total Cacheのプラグインでページやオブジェクトなどのキャッシュ化
  3. wp-cron.phpを定期的に実行

これで安定した運用ができていました。

先日、サーバの引っ越しをして、すべて移行したのですが、どうもW3 Total Cacheのキャッシュが更新されません。1~2時間待っても更新されず、W3 Total Cacheのプラグインを無効にして有効にする、「empty all caches」をクリックするなどでキャッシュを手動でクリアすると、ページのキャッシュが更新されます。ただし、毎回手動で行うのは大変です。

前回の設定と何が違うのか。考えたところ、wp-cron.phpのcron設定を行っていないことです。wp-cron.phpのcron設定を新サーバでも設定したところ、キャッシュが更新されるようになりました。

wp-cron.phpは、指定した公開日時に投稿するなどの機能だけだと思っていたのですが、W3 Total Cacheのページ更新にも必要のようです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください