勉強したことのメモ

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のWP-Mail-SMTPプラグインが動かない

PHPのバージョンを下げてからWordPressで外部メールサーバが使えるWP- ...

Contact form7で送信数を測定(トラッキングタグ)

contact form7でフォーム送信が完了した時点で計測されるようにトラッキ ...

WordPressにてパーマリンク設定のカテゴリーベースに関して

WordPressのパーマリンク設定でカテゴリベースを設定したかった。ここは変更 ...

WordPressで実行されているSQL文をページ上に表示する方法

WordPressにてWP_Queryで記事を取得しようとしたものの希望の挙動に ...

WordPressでCSSとHTMLコーディングデータから自作テーマを作成する方法

CSSとHTMLコーディングデータがあり、それをWordPressのテーマに反映 ...