この記事ではwp-cronの概念と基本的な役割について簡単に説明します。
WordPressのwp-cronとは何か
wp-cronはWordPress内でスケジュールされたイベント(タスク)を処理するための仕組みです。例えば、未来の投稿のスケジューリング、定期的なデータベースのクリーンアップ、更新通知の送信、プラグインやテーマの更新など、多くのタスクがこのwp-cronによって実行されます。
WordPressのシステムに詳しくない方はピンとこない方もいるかもしれませんが「予約投稿」などもスケジュールされたイベントに含まれます。
wp-cronの一般的な使用例
WordPressのwp-cronは、多くの異なる種類のスケジュールされたイベントを管理するために使用されます。
予約投稿の公開
WordPressのユーザーは、記事をすぐに公開する代わりに、特定の日時に自動的に公開するようにスケジュールすることができます。このスケジュールされた投稿は、設定された時間が来るとwp-cronによって自動的に公開されます。
定期的なバックアップ
いくつかのバックアッププラグインは、サイトの定期的なバックアップをスケジュールするためにwp-cronを使用します。例えば、毎日の夜中に全サイトのバックアップを取るといった設定が可能です。
更新通知の送信
新しい記事が投稿されたとき、更新通知をRSSフィード購読者やメール購読者に送信するためにwp-cronが使用されます。
データベースの最適化とクリーンアップ
一部のプラグインは、不要なデータを定期的に削除し、データベースを軽くするためにwp-cronを使用します。これにより、ウェブサイトのパフォーマンスが向上します。
プラグインやテーマの更新
一部のプラグインやテーマは、新しいバージョンのリリースを定期的に確認し、自動的に更新するためにwp-cronを使用します。
コメントの承認やスパムチェック
WordPressは、コメントの承認やスパムチェックを自動化するためにwp-cronを使用します。
これらはwp-cronの使用例の一部に過ぎません。実際には、wp-cronはWordPressやそのプラグインが提供する多くの機能のスケジューリングに使用されています。
wp-cronとサーバーのcron:比較と使い分け
多くのレンタルサーバーでもcronが用意されていますが、wp-cronはこれとは別物でWordPress内部で定されているスケジュールされたタスクを実行するためのシステムです。wp-cronとサーバーのcronの動作の仕組みと適用シーンは異なります。
wp-cron
wp-cronはWordPressの内部で動作し、サイトへのリクエストごとにトリガーされます。そのため、サイトへの訪問者が多い場合、wp-cronは頻繁に実行されることになり、それによってサーバーのリソースを過剰に消費する可能性があります。
逆に、サイトへの訪問者が少ない場合や訪問者の来訪パターンが不規則な場合、スケジュールされたタスクが期待した時間に実行されない可能性があります。
wp-cronはWordPressの環境内で完結するため、WordPressの管理者であれば設定や管理が容易です。
サーバーのcron
サーバーのcronはシステムレベルで動作し、特定の時間に設定されたタスクを厳密に実行します。これは、タスクが訪問者の来訪に依存しないため、wp-cronよりも確実性があります。
ただし、サーバーのcronを設定するには一定のシステム管理スキルが必要です。また、ホスティング環境によってはcronの設定が制限されている場合もあります。
サーバーのcronはサーバーリソースの管理に優れており、大規模なサイトや高いパフォーマンスが求められるサイトではより適しています。
使い分け
小規模なサイトや訪問者のパターンが一定しているサイトでは、wp-cronをそのまま使用するのが最も簡単で便利です。
一方、大規模なサイトや定期的なタスクの正確な実行が必要な場合、あるいはサーバーのリソースを効率的に管理したい場合は、サーバーのcronを設定してwp-cronの代わりに使用することを検討したほうが無難です。サーバーのcronを使用することで、タスクの実行が訪問者の来訪に依存せず、厳密なスケジューリングが可能となります。
WP Controlで可視化して使いやすくする
公式で配布されている「WP Control」を使うとWordPressのスケジュールされたイベントを一覧で管理することができます。
WP Crontrol の機能
- 引数、スケジュール、コールバック関数、そして次回の予定時期とともに、すべての cron イベントを表示します。
- Cron イベントの編集、削除、一時停止、再開、即時実行が可能。
- 新しい Cron イベントの追加。
- cron イベントの一括削除
- 任意の cron スケジュールの追加と削除
- Cron イベントリストを CSV ファイルとしてエクスポート、ダウンロードすることができます。
WP Controlを有効化すると以下のように、WordPressでスケジュールされているイベントの一覧を管理することができます。
統括
WordPressのwp-cronを理解して、適切に使うことができればサイトを効率的に管理したり表示速度を上げたりと出来ることが増えたりもして便利な機能ですが、通常は一般ユーザーが触れない部分の設定であるため知識のない方が下手にいじるとテーマやプラグインが更新されなくなったり、予約投稿が出来なくなったりと意図しない制御をしてしまうことも考えられます。そのため、ある程度WordPressの理解がある方向けの設定かもしれません。
コメント