勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

WordPressのCron設定(wp-cron.php)を変更し負荷対策する方法

   2024/02/22  WordPress

WordPressのcron設定(wp-cron.php)を変更することで負荷が軽減されるという記事を見かけて設定してみた。記事にアクセスする都度、wp-cron.phpを読み込むらしくPVが多いサイトだと不要な負荷がかかる。また、あまりPVが無いサイトはwp-cron.phpにアクセスがなく、予約投稿をミスするということがありこちらも改善されるらしい。以下に対応方法をメモ。

 

wp-config.phpの編集

以下を追記することでwp-cronを無効にできる。

define('DISABLE_WP_CRON', 'true');

 

cronの設定

サーバ側のcronで動かす必要がある。以下で設定する。1分毎が良さそうだけどその辺は適宜変更する。root権限ではなくwebサーバを動かすユーザーで設定すること。

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

 

wp-cronの実行内容

MySQLでwp_optionsテーブルのoption_name=cronで検索し、option_value内にシリアライズされた状態でwp-cronの実行内容が保存されている。

schedule部分が実行感覚だと思われdaily、twicedailyとかが入っている。プラグインによっては30minみたいなものが入っている。なので最小の間隔未満でcron設定しておけば大丈夫じゃないかと。

あとwp_version_check、wp_update_pluginsみたいな名前が入っており、ここが恐らく実行内容かと思われる。

 

まとめ

wp-config.phpでwp-cronを停止しサーバ側のcron設定することで対応が可能。

 - WordPress

  関連記事

WordPressで記事毎に設定したバナー広告を表示させる方法
WordPressで記事毎に設定したバナー広告を表示させる方法

WordPressでGoogleアドセンスのようなクリック広告ではなく、商品を指 ...

WordPressサイトのロードアベレージが高い際の対応方法
WordPressサイトのロードアベレージが高い際の対応方法

あるWordPressサイトのロードアベレージが先月ぐらいまでは通常0.5前後で ...

WordPressのxmlrpc.phpに対する攻撃の対策方法
WordPressのxmlrpc.phpに対する攻撃の対策方法

サーバーの死活監視をしているシステムから、1つのサイトが落ちているとアラートがき ...

WordPressのcontact form7で500エラーの対応方法
WordPressのcontact form7で500エラーの対応方法

WordPressプラグインのcontact form7で送信ボタンを押し、ロー ...

Advanced Custom FieldsでGoogleMapの使用する方法
Advanced Custom FieldsでGoogleMapの使用する方法

Advanced Custom FieldsでGoogleMapを使用したかった ...