サーバーのログを確認したところ「/wp-cron.php?doing_wp_cron=1234565789..」というようなアクセスがあったので wp-cron.php について調べた際のメモ。
WordPress にも cron のような機能があり、 予約投稿や、テーマのアップデート、E-mail の通知、スケジューリング機能を持つ一部のプラグインなどが wp-cron.php を使っている。
wp-cron.php を無効にするには wp-config.php のデータベースの設定の後(define(‘DB_COLLATE’, ”)の後:38行目あたり)に以下を記述する。
define('DISABLE_WP_CRON', 'true');
これで WordPress はサイトへのアクセスがあるたびに wp-cron.php を実行しなくなる。但し、全く実行されなくなると問題があるので、cPanel などを使ってマニュアルで cron ジョブを設定する。
以下は cPnael を使って6時間おきに wp-cron.php を呼び出す方法。
cPanel にログインして「Advanced」セクションの「Cron Jobs」をクリック
「Add New Cron Job」セクションの「Common Settings」のドロップダウンから「Once an hour」を選択
「Hour」のドロップダウンから「Every 6 hours」を選択(6時間おきの場合。頻度は環境に合わせて変更する。)
「Command」に以下のコードを入力して「Add New Cron Job」をクリック
cd /home/userna5/public_html; php -q wp-cron.php
上記のパス /home/userna5/public_html は WordPress が(プライマリードメインの)ルートにインストールされている場合で、アドオン・ドメインやサブディレクトリなどにインストールしてある場合は、それに合わせてパスの部分を変更する必要がある。また「userna5」はユーザー名。
問題がなければ cron ジョブが設定され、「Current Cron Jobs」のリストに表示される。
追加情報 2013年9月16日
「UpdraftPlus」というバックアップ用のプラグインでは上記の「6時間おきの wp-cron.php を呼び出し」では不十分でした。このプラグインの設定ページには以下のような警告が表示されていたのでそのリンクを見たところ、”but note that it is then your responsibility to make sure that the scheduler is called frequently enough to process all the jobs scheduled on your site” とあり、それなりの回数の呼び出しが必要なようで、ある特定の時間に5分おきに cron ジョブを呼び出すようにしています。
追加情報2013年9月24日
上記の設定で「UpdraftPlus」を使用していたところバグ(?)が発生しました。詳細は「UpdraftPlus のバグ?」を参照。