wp-cronを確実に稼働させる
WordPressはWebサイト管理を管理するCMSとして世界で最も優れたオープンソースソフトウェアと言って良いでしょう。Blogはもちろん、Eコマース、メンバーサイト、Elearningなど様々な用途で使用することができますので、使用されている方も多いはず。
そんなあなたはこんな経験はありませんか?
メールが送られる予定だったのに送信されてない。
自動的に投稿が更新されるはずだったのにされてない。
自動的にXが始動するはずだったのに始動してない。
たまたまかなと思ってて深く考えなかったが、また同じようなことが起きる。そんな経験もあるかもしれません。
これはたまたまでは無いのです。
WordPressは時限式に発生するタスクはwp-cronと呼ばれるプログラムで始動する仕組みになっています。
これはウェブサイトが読み込まれないと作動しないことがあります。
どういうことでしょうか?
つまり何か自動発動するタスクがあるタイミングでサイトに訪問者がいないとウェブサイトが発動しないので、タスクが起こらないという現象が発生します。
毎日訪問者が多いサイトならいいですが、トラフィックが少ないサイトは自動発動タスクが発生しないといけないタイミングで何も起きず、そのままスルーされるという事態が発生します。
これは大問題です。
この理由からワードプレスの時限式タスクを管理しているファイルWp-cronは信用できないと言われることが多いです。
なぜWp-cronが予定通り動かない?
wp-cronはいわゆる擬似cronと言われるもので、本当のCronではないのが理由です。
ではどうやったらWp-cronを確実に動かせる?
これには解決策があります。wp-cronではなくて、Real Cronを使用する方法です。Real Cronは名前ではなく、サーバーサイドで発生する時間に追って確実に発生するプログラムのことです。
つまりサーバーに直接決めた時間にアクションを起こしてもらうことで予約投稿や予約メール送信が確実に行えるようになります。
簡単に言えば、信用できる目覚まし時計をかけるようなものです。
ステップ1 WordPressのWp-cron設定を変更する
最初にこの厄介者であるwp-cronを昨日停止にする必要があります。
のCron機能を使って、自動的に処理を実行する方法を紹介します。本記事では、Cronの登録方法と処理の実行方法について説明します。さらに、wp-cron.phpファイルの作成方法も紹介しますので、あなたのWordPressサイトで必要な処理を自動化しましょう。