WordPressやSymfonyのTipsを中心にアニメや日常の出来事について語ります。
メニュー

サーバー側のcronを有効にしてWordPressのwp-cron.phpを無効にする方法

この記事は約2分0秒で読めます

Cron 時計
ゆっきー
ども、カフェブロガーの悠木です。 お気に入りのカフェはドトールコーヒーです。 14時からの限定スイーツ「シューシャポー」が大好きです。

今回の記事はほとんどの人に役に立たないと思いますが、
気になったのでcronについて書いてみました。

予約投稿に失敗した記事の続きみたいなものです。
→ WordPressの予約投稿で失敗するときの原因と対処法まとめ

cronとは?

cronとは、
ジョブ(スクリプト)を自動実行するためのデーモンプロセスです。
定期的に実行したいジョブを登録します。(バックアップなど)

ちなみにデーモンプロセスはメモリに常駐して様々なサービスを提供するソフトウェアのことです。
Windowsでいうサービスのことです。

WordPressの予約投稿は予約した時間に記事を公開しているのではなく、
読者がサイトにアクセスした時間が予約投稿時間になっていたら記事公開するという仕組みになっています。
擬似cronという方法ですね。(wp-cron.php)

  • 記事の予約投稿時間が過ぎる
  • WordPressサイトにユーザーがアクセスする

という条件を満たして記事が公開されるというわけです。

予約時間に誰かがアクセスしてくれるわけでもないので、人が来なければ未公開のままです。
逆にアクセス数が多いと何度もwp-cron.phpが動きます。

時間きっかりに処理を走らせたり、
サーバー負荷を少しでも減らしたい場合の方法をご紹介します。

サーバー側のcron設定を有効化する

crontabの末尾に
毎分、wp-cron.phpを実行する指定を行います。

簡単に説明すると
「分」「時」「日」「月」「曜日」「実行ユーザー」「実行プログラム」「引数」
* を指定することで毎月、毎日、毎時といったような指定ができます。

10分おきに実行したい場合は下記のように指定します。
*/10 * * * *

crontabの書き方についてはこちらのサイトを参考にしました。
→ crontabの書き方

WordPress側のwp-cron.phpを無効化する

WordPressではページにアクセスするたびにwp-cron.phpが実行されています。
アクセス数が多いサイト、1分間にたくさんアクセスがあるとwp-cron.phpが実行されているわけです。

wp-cron.phpでやっていることはWordPressやテーマ、プラグインの更新通知と予約投稿の処理です。

wp-cron.phpは負荷の大きい処理ではないです。
しかし1分間に何度もする必要性はないので、1分に1回処理する設定にします。

~編集が必要なのはここまで~の上にDISABLE_WP_CRONの行を追加します。
これでアクセス時にwp-cron.phpは実行されなくなります。

※ブラウザからwp-cron.phpへ直接アクセスすれば実行されます。

まとめ

私が試した環境はCentOS6.5です。
レンタルサーバーによってはサーバー側のcron設定を許可されていない場合があります。

劇的な変化がある訳ではないので設定しなくてもいいと思います。

関連記事

  1. 鮮やかな色鉛筆
  2. 段落、改行タグの正しい使い方
  3. ライオン 親 子
  4. ロボット パソコン
  5. WordPressコメント メールアドレス任意入力
  6. STINGER5カスタマイズ 一覧ページを2列で表示する

PR

カテゴリー