Just another IT site ※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。At Your Own Risk!! TURN BACK WHILE YOU CAN
PR

【WordPress】wp-cronの実行タイミングと無効化(システムCronへの移行)

※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。スクリプトはAI生成のものも多いのでコピー&ペーストの際は文字コードに注意ください!

【AIによる回答】

wp-cronの実行タイミングは、デフォルトではサイトへのアクセス(ページ読み込み)があった時です。指定時間になってもアクセスがなければ実行されず、アクセスがあった時点のバックグラウンド処理として動作します。アクセスが多いサイトでは毎回実行されて重くなるため、専用のcron設定への変更が推奨されます。

wporz.com +1
wp-cronの実行タイミングと動作仕組み
  • 基本動作(デフォルト): ユーザーがサイトを訪問した際に、スケジュールされたタスクが時間通りか確認し、時間が過ぎていれば実行します。
  • デメリット: アクセスが少ないと投稿の予約時間がずれる、またはアクセスが多すぎるとサーバーに負荷がかかる(重くなる)。
  • 自動更新: プラグインやテーマの更新チェックは、デフォルトで1日2回スケジュールされます。
    blog.saboh.net +3
正確な実行タイミングにする方法(推奨)
アクセスに依存せず、正確な時間に処理(予約投稿やバックアップなど)を行いたい場合は、以下の手順でシステムcronに切り替えます。

WordPress.org 日本語 +1
  1. wp-cronの自動起動を停止: wp-config.php に以下を追加。
    php

    define('DISABLE_WP_CRON', true);
    
  2. サーバーのcronを設定: レンタルサーバーの管理画面などで、wp-cron.php を定期的に実行する設定(例:5分~1時間おき)を追加する。
設定例(1時間に1回実行):
0 * * * * /usr/bin/php /home/username/example.com/public_html/wp-cron.php > /dev/null 2>&1
これにより、アクセス頻度に関わらず安定した動作が可能になります。
タイトルとURLをコピーしました