WordPressでwp-cronを無効にし、適切なcronジョブを設定する方法
公開: 2022-06-28スケジュールされたアクションがWordPressで機能しないという問題がありますか?
WordPressにはwp-cronと呼ばれるスケジュールシステムがありますが、スケジュールされた投稿の公開、トリガーされた電子メールの送信などのスケジュールされたタスクを見逃すことがあります。サーバーのオペレーティングシステムによって実行される適切なcronジョブの方が信頼性が高いことがよくあります。
この記事では、WordPressでwp-cronを無効にする方法を示し、適切なcronジョブを設定する2つの方法について説明します。

なぜwp-cronを無効にするのですか?
WordPress Webサイトには、wp-cronと呼ばれる組み込みのスケジューリングシステムがあります。 更新の確認、スケジュールされた投稿の公開、定期的なバックアップの自動作成、トリガーされた電子メールの送信など、時間に敏感なタスクを実行します。
WordPressのcronジョブを表示および制御する方法については、ガイドをご覧ください。

問題は、誰かがあなたのウェブサイトにアクセスしたときにのみ、WordPressがスケジュールされたジョブをチェックするように求められることです。 これはほとんどのサイトで十分に機能しますが、小規模なサイトでは問題が発生する場合があります。
たとえば、サイトのトラフィックが少ない場合、スケジュールされた投稿が時間どおりに公開されない可能性があります。 また、Webサイトに大量のトラフィックが発生すると、wp-cronが頻繁にチェックされ、Webサイトのパフォーマンスに影響を与える可能性があります。
スケジュールされた投稿の欠落エラーを修正したいだけの場合は、無料のプラグインMissed Scheduled Publisherを使用できますが、スケジュールされたアクションのすべての問題を解決したい場合は、実際のcronジョブが必要です。
実際のcronジョブは、WordPressではなく、Webホスティングサーバーのオペレーティングシステムによって実行されます。 スケジュールされたタスクをさらにチェックするように設定できます確実に。 デフォルトでは、WordPressはサーバーレベルでこれを設定するためのアクセス権を持っていませんが、チュートリアルに従うことで簡単に設定できます。
そうは言っても、wp-cronを無効にして適切なcronジョブを設定する方法を見てみましょう。 このチュートリアルで取り上げる内容は次のとおりです。
- WordPressでwp-cronを無効にする
- WordPressホストで適切なcronジョブを設定する
- サードパーティのサービスを使用して適切なcronジョブを設定する
WordPressでwp-cronを無効にする
wp-cronを無効にするには、WordPressのコア構成ファイルであるwp-config.phpを編集する必要があります。 これはWordPressサイトのルートフォルダーにあり、WebホスティングコントロールパネルでFTPクライアントまたはファイルマネージャーを使用する必要があります。
このファイルには多くの機密情報が含まれており、間違った変更を加えるとWordPressサイトが破損する可能性があります。 万が一に備えて、最初にファイルのバックアップを作成することをお勧めします。 WordPressでwp-config.phpを編集する方法についてのガイドに従うことで、その方法を学ぶことができます。
次のコードをwp-config.phpファイルの「これですべてです。編集を停止してください」という行の直前に貼り付ける必要があります。 幸せなブログ。」
define('DISABLE_WP_CRON', true);

その後、ファイルを保存してWebサイトにアップロードする必要があります。
誰かがあなたのウェブサイトにアクセスしたときにWordPressがwp-cronをトリガーしなくなりました。
WordPressホストで適切なcronジョブを設定する
次に、スケジュールされたタスクを実行するために適切なcronジョブを設定する必要があります。 これを行う方法は、WordPressホスティングプロバイダーが提供するツールによって異なります。
cronジョブを設定する最も簡単な方法は、Bluehostを含む多くのウェブホスティングプランに含まれている人気のあるウェブサイトコントロールパネルであるcPanelを使用することです。 このチュートリアルでは、BluehostcPanelを使用します。
注:一部のウェブホストはcPanelを使用せず、一部のウェブホストではcronジョブの作成さえ許可されていない場合があります。 疑わしい場合は、ホスティングプロバイダーに連絡するか、ホスティングプロバイダーのサポートドキュメントを参照してください。 サードパーティのcronサービス(下記)をいつでも使用できます。
ホスティングアカウントにログインしてcPanelに移動したら、[Cron Jobs]が見つかるまで下にスクロールして、クリックする必要があります。
「詳細」セクションにありますが、これはホスティングプロバイダーによって異なる場合があります。

これにより、新しいcronジョブを作成できる新しいページに移動します。

Linuxコマンドについての十分な知識が必要な場合に表示される警告について心配する必要はありません。 必要なコマンドは1つだけで、以下にその内容を正確に示します。

必要に応じて、cronジョブ通知が送信される電子メールアドレスを変更できます。 デフォルトのアドレスは、Webホスティングにサインアップしたときに使用したアドレスであり、これはほとんどのWebサイトで正常に機能します。
次に、[新しいcronジョブの追加]セクションまでスクロールして、cronジョブを設定します。
まず、cronジョブを実行する頻度を決定する必要があります。 これは好きなものにすることができますが、30分間隔をお勧めします。
[共通設定]ボタンをクリックして、ドロップダウンから時間間隔を選択する必要があります。 よくわからない場合は、ほとんどのサイトで「1時間に2回」を選択することをお勧めします。

これで、WordPressにスケジュールされたタスクを実行するように要求するコマンドを入力できます。 次のコードを「コマンド」フィールドに貼り付ける必要があります。
wget -q -O - https://example.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
'example.com'を自分のWebサイトのURLに置き換えてください。
それが完了したら、[新しいcronジョブの追加]ボタンをクリックしてください。下のリストに新しいcronジョブが追加されているのがわかります。

WordPressは、誰かがWebサイトにアクセスしたときではなく、30分ごとにスケジュールされたタスクをチェックして実行するようになりました。
サードパーティのサービスを使用して適切なcronジョブを設定する
ホスティングプランで適切なcronジョブが提供されていない場合、またはセットアップが難しい場合は、代わりにサードパーティのcronサービスを使用できます。
これらは、シンプルなインターフェイスを使用してcronジョブを設定できる専用サービスです。 ここにいくつかのより良いものがあります:
- EasyCronには、毎月の更新が必要な無料プランがあります
- cron-job.orgは無料のサービスです
- cronジョブが1つだけ必要な場合、Cronitorは無料です
- SetCronJobは、年間10ドルからの有料プランを提供しています
このチュートリアルでは、EasyCronを使用します。これは、使いやすく、無料のプランがほとんどの初心者のユースケースに適しているためです。
無料のアカウントを作成したら、左側の[+cronジョブ]ボタンをクリックして新しいcronジョブを作成できます。

これにより、[Cronジョブの作成]画面がポップアップ表示されます。 まず、次のURLを[呼び出すURL]フィールドに貼り付ける必要があります。
https://example.com/wp-cron.php?doing_wp_cron
'example.com'を自分のサイトのURLに置き換えてください。

その後、「実行するタイミング」ドロップダウンから「30分ごと」を選択する必要があります。 終了したら、[Cronジョブの作成]ボタンをクリックして設定を保存することを忘れないでください。
新しいcronジョブがリストに追加され、Webサイトで30分ごとにwp-cronが実行されます。

このチュートリアルが、WordPressでwp-cronを無効にし、適切なcronジョブを設定する方法を学ぶのに役立つことを願っています。 また、WordPress SEOのステップバイステップガイドを参照するか、一般的なWordPressエラーのリストとそれらを修正する方法を確認することもできます。
この記事が気に入った場合は、WordPressビデオチュートリアルのYouTubeチャンネルに登録してください。 TwitterやFacebookでも私たちを見つけることができます。