Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPBカップ
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

WordPressでwp-cronを無効化し、適切なCronジョブを設定する方法

WordPressには、WP-Cronとして知られるビルトインスケジューリングシステムがあり、特定の時間に投稿を公開したり、トリガーメールを送信したり、自動バックアップを実行したりといったスケジュールタスクを管理します。

WP-Cronは便利で、多くのウェブサイトでうまく機能しますが、限界があります。特にトラフィックの少ないサイトでは、スケジュールされたタスクを見逃すことがあります。

より信頼できる代替手段は、ウェブホスティングプロバイダーのサーバーによって管理される適切なcronジョブを設定することです。これらのcronジョブはサイト訪問から独立しており、正確なスケジュールで実行され、タスクが一貫して時間通りに実行されることを保証します。

WPBeginnerでは、すべてのスケジュールされたタスクが時間通りに実行されるように、サーバーに直接設定された適切なcronジョブに依存しています。これは、トラフィックが少ない期間やサーバーのアクティビティが高い期間であっても、タスクの遅延や見逃しを心配する必要がないことを意味します。

この投稿では、WordPressのwp-cronを簡単に無効化する方法と、適切なcronジョブを設定する2つの方法を紹介します。

How to Disable wp-cron in WordPress and Set Up Proper Cron Jobs

なぜwp-cronを無効化するのか?

WordPressウェブサイトにはwp-cronと呼ばれるビルトインスケジューリングシステムがあります。これは、更新のチェック、スケジュールされた投稿の公開、定期的なバックアップの自動作成、トリガーメールの送信など、時間的制約のあるタスクを実行します。

詳しくはWordPressのcronジョブの表示とコントロール方法をご覧ください。

Viewing Scheduled Tasks in WordPress

問題は、WordPressがスケジュールされたジョブをチェックするように促されるのは、誰かがあなたのサイトにアクセスしたときだけだということです。これはほとんどのサイトでは十分に機能しますが、小規模なサイトでは問題を引き起こすことがあります。

例えば、あなたのサイトのトラフィックが少ない場合、スケジュールされた投稿が時間通りに公開されない可能性があります。あなたのサイトのトラフィックが多い場合、wp-cronは頻繁にチェックされ、あなたのサイトのパフォーマンスに影響を与える可能性があります。

さて、もしあなたが投稿が予定されていないエラーを修正したいだけであれば、無料のプラグインMissed Scheduled Publisherを使用することができます。しかし、スケジュールされたアクションの問題をすべて解決したいのであれば、本物のcronジョブが必要です。

本物のcronジョブは、WordPressによってではなく、Webサーバーのオペレーティングシステムによって実行されます。より確実にスケジュールされたタスクをチェックするように設定することができます。初期設定では、WordPressはサーバーレベルでこれを設定するアクセス権を持っていませんが、私たちのチュートリアルに従って簡単に設定することができます。

それでは、簡単にwp-cronを無効化し、適切なcronジョブを設定する方法を見ていきましょう。このチュートリアルで扱う内容は以下の通りです:

WordPressでwp-cronを無効化する

wp-cronを無効化するには、WordPressのコア設定ファイルであるwp-config.phpを編集する必要があります。これはWordPressサイトのルートフォルダにあり、FTPクライアントまたはウェブホスティングコントロールパネルのファイルマネージャーを使用する必要があります。

このファイルには多くの機密情報が含まれており、間違った変更を行うとWordPressサイトが壊れてしまう可能性があります。念のため、最初にファイルのバックアップを取ることをお勧めします。WordPressでwp-config.phpを編集する方法については、こちらのガイドをご覧ください。

次のコードをwp-config.phpファイルの「すべてです、編集を中止してください」という行の直前に貼り付ける必要があります!ハッピー・ブログ

define('DISABLE_WP_CRON', true);

こうあるべきだ。

Pasting Code into wp-config

その後、ファイルを保存し、サイトにアップロードしてください。

WordPressは、誰かがあなたのサイトを訪問したときにwp-cronをトリガーしなくなりました。

方法1:WordPressホスティングサービスに適切なCronジョブを設定する

次に、スケジュールされたタスクを実行するための適切なcronジョブを設定する必要があります。これを行う方法は、WordPressホスティングサービスが提供するツールによって異なります。

cronジョブを設定する最も簡単な方法は、cPanelを使用することです。cPanelはBluehostを含む多くのWebホスティングプランに含まれている一般的なWebサイトのコントロールパネルです。このチュートリアルではBluehostのcPanelを使用します。

注意:ウェブホスティングサービスによっては、cPanelを使用せず、cronジョブを作成する権限がありません。疑問がある場合は、ホスティングサービスに問い合わせるか、サポートドキュメンテーションを参照してください。サードパーティのクーロンサービスを使用することもできます。

ホスティングサービスアカウントにログインし、「ウェブサイト」ページに移動したら、上部から「詳細設定」タブに切り替えます。

ここで、’Cron Jobs’セクションまでスクロールダウンし、その横にある’Manage’ボタンをクリックします。このセクションの位置はホスティングサービスによって異なります。

Click the Manage button in the Cron Jobs section

このページで新しいcronジョブを作成することができます。

Linuxコマンドの知識が必要だという警告が表示されますが、心配しないでください。必要なコマンドは1つだけで、以下にそのコマンドを正確に紹介する。

必要であれば、cronジョブ通知を送信するメールアドレスを変更することができます。初期設定はホスティングにサインアップした時に使用したアドレスで、ほとんどのサイトで問題なく使用できます。

You can change the cron email and click Update

それでは、’Add New Cron Job’セクションまでスクロールダウンして、cronジョブを設定してみましょう。

まず、cronジョブの実行頻度を決めます。30分間隔を推奨します。

共通設定」ボタンをクリックし、ドロップダウンから時間間隔を選択する必要があります。本当に〜してもよいですか?

Creating a New Cron Job in cPanel

次に、WordPressにスケジュールされたタスクを実行させるコマンドを入力します。以下のコードを「コマンド」フィールドに貼り付ける必要がある:

wget -q -O - https://example.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

‘example.com’を自分のサイトのURLに置き換えることを本当に〜してもよいですか?

それが終わったら、’Add New Cron Job’ボタンをクリックしてください。

Viewing the List of Cron Jobs in cPanel

WordPressは、誰かがサイトにアクセスしたときではなく、30分ごとにスケジュールされたタスクをチェックし、実行するようになりました。

方法2:サードパーティーのサービスを使って適切なCronジョブを設定する

ホスティングプランが適切なクーロンジョブを提供しない、または設定するのが難しい場合、代わりにサードパーティのクーロンサービスを使用することができます。

これらは、シンプルなインターフェースを使ってcronジョブを設定できる専用サービスです。以下はそのうちのいくつかである:

  • EasyCronには、毎月更新が必須の無料プランがあります。
  • cron-job.orgは無料サービスです。
  • Cronitorは、1つのクーロンジョブが必要なだけなら無料です。
  • SetCronJobは年間10ドルからの有料プランを提供しています。

このチュートリアルでは、EasyCronを使用します。なぜなら、EasyCronは使いやすく、無料プランはほとんどの初心者のユースケースに適しているからです。

無料アカウントを作成したら、左の’+ Cron Job’ボタンをクリックして新しいcronジョブを作成することができます。

Creating a New Cron Job in EasyCron

これで’Cron Jobの作成’画面がポップアップします。まず、以下のURLを’URL to call’フィールドに貼り付けてください:

https://example.com/wp-cron.php?doing_wp_cron

‘example.com’を自分のサイトのURLに置き換えることを本当に〜してもよいですか?

Creating a New Cron Job in EasyCron

その後、’When to execute’ドロップダウンから’Every 30 minutes’を選択してください。設定が終わったら、’Create Cron Job’ ボタンをクリックして設定を保存するのを忘れないでください。

新しいcronジョブはリストに追加され、30分毎にあなたのサイトでwp-cronを実行します。

Viewing the List of Cron Jobs in EasyCron

ボーナス:WordPressブログ投稿の自動スケジュール設定

一度適切なcronジョブを設定すれば、WordPressブログのスケジュールされたタスクはすべて滞りなく実行されます。ブログ投稿の自動スケジュールも可能です。

これにより、事前に選択した公開日にランダムに投稿を選んで公開することができます。これを行うには、PublishPress Plannerプラグインをインストールし、有効化する必要があります。

有効化したら、プランナー ” 設定ページにアクセスし、上から「コンテンツカレンダー」タブに切り替えます。ここで、「公開時間を表示する状態」オプションの隣にある「スケジュール済み」ボックスをチェックしてください。

Select the Scheduled status

その後、投稿を公開する時間フォーマットを選択し、「カレンダーで作成された項目の初期設定時間」オプションの次のフィールドをクリックする必要があります。

これでプロンプトが表示され、毎日公開する投稿の時間、時、分を指定することができます。アイデアについては、ブログを公開するのに最適な時間についてのチュートリアルをご覧ください。

その後、「変更を保存」ボタンをクリックして設定を保存します。

Choose a time for the publication of the scheduled posts

投稿ステータス」ドロップダウンメニューから「スケジュール」オプションを設定することができます。

詳しくは、WordPressブログ投稿を自動スケジュールする方法のチュートリアルをご覧ください。

Schedule your WordPress blog post

このチュートリアルでWordPressのwp-cronを無効にし、適切なcronジョブを設定する方法を学んでいただけたと思います。また、FTPを使用してWordPressに管理ユーザーを追加する方法についてのチュートリアルや、cronジョブの表示とコントロール方法についての初心者向けガイドもご参照ください。

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

情報開示 私たちのコンテンツは読者支援型です。これは、あなたが私たちのリンクの一部をクリックした場合、私たちはコミッションを得ることができることを意味します。 WPBeginnerの資金源 をご覧ください。3$編集プロセスをご覧ください。

アバター

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

究極のWordPressツールキット

ツールキットへの無料アクセス - すべてのプロフェッショナルが持つべきWordPress関連製品とリソースのコレクション!

Reader Interactions

8件のコメント返信を残す

  1. Paula Coombes

    Hello,
    I’d just like to say thank you so much for this straightforward help.
    I used Method 1.
    I’ve carried out your instructions after reading everything at least 3 times and, for the first time ever, my WP health state has no problems!! :) :) :)
    Thanks again.

    • WPBeginner Support

      You’re welcome, glad our guide was helpful! :)

      管理者

  2. Beth Alexander

    Is there a way to check that the new corn job running from Control Panel is working?

  3. Anita Richards

    I am confused.

    Woocommerce recommends setting the command as without the “?doing_wp_cron” part.

    What is the difference?

    • WPBeginner Support

      Unless we hear otherwise, the ?doing_wp_cron allows for some background processing that without would not be able to do.

      管理者

      • Anita Richards

        Ok, that makes some sense. I guess that it must be the difference between the WP and Woo processes being run?

        I ended up creating two corn jobs in cPanel one with and one without. Is that going to cause problems?

        • WPBeginner Support

          It should be a slightly different method to achieve the same result.

          It would depend on your site’s size for how multiple cron jobs would affect your hosting site, as your site becomes larger it may become an issue

返信を残す

コメントありがとうございます。すべてのコメントは私たちのコメントポリシーに従ってモデレートされ、あなたのメールアドレスが公開されることはありませんのでご留意ください。名前欄にキーワードを使用しないでください。個人的で有意義な会話をしましょう。