WordPressでwp-cron.php無効にしてサイトの速度向上させる

  • Naver ブログを共有する
  • Naver バンドに共有する
  • Facebook 共有する
  • Twitter 共有する
  • 카카오스토리공유하기

WordPressは WP-cron.phpという名前のファイルを使用して、仮想Cronタスクや予定された文章の投稿、プラグイン/テーマの更新の確認、通知メール送付などの操作を自動的に実行します。

基本的にワードプレスは、スケジュールされたタスクがある場合、誰かがワードプレスのサイトを訪問するたびに WP-cron.phpを呼び出すように設定されています。

トラフィックが少ないサイトの場合には、何の問題もないが、訪問者が訪問したときに何度も予定されて作業を確認することは非常に非効率的であることができ、サーバリソースの使用率の問題を引き起こしてサイトの読み込みが遅いことができます。

wp-cron.phpを無効にする

しばらく前にワードプレスのサイトが非常に遅くなることがありました。 Webホスティング担当者に確認してみる WP-cron.phpこのあまり呼び出されていて、サイトのリソースが不足してなって表示される現象という言葉を聞きました。 (実際には知ってみると、これは表面的な問題であり、根本的な原因は、他の所であった。)ので、 WP-cron.phpを無効にしたことがありました。 WP-cron.phpを並ぶ化するには、次のように WP-config.phpを ファイルに define( 'DISABLE_WP_CRON'、 'true');のみを追加してくれればされます。

/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');

define('DISABLE_WP_CRON', 'true');

修正した後に保存するようにします。 その後、新しい訪問者がサイトを訪問しても、 WP-cron.php ファイルが自動的に実行されません。

手動でwp-cron.phpのCronジョブの設定する

WP-cron.phpを無効にすると、ワードプレスで実行する必要が自動処理が実行されません。 この場合は、手動で実行するように設定することができます。 次の方法は、 Bluehostのようにcpanelを提供する場合に利用することができます。

  1. cPanelのにログインします。
  2. advanced> Cron Jobsをクリックします。
  3. 共通設定 ドロップダウンから Once Per Hourを選択します。
    manual cron jobs 1
  4. Hourドロップダウンから Every Sixth Hourを選択します。
    manual cron jobs 2
  5. もう最後に、以下の空欄に、次のように入力します。
    cd /home/username/public_html; php -q wp-cron.php
  6. ユーザ名はcpanelユーザー名です。 "Add New Cron Job"をクリックすると、新しいCronジョブが追加されます。
    manual cron jobs 3
  7. 今、新しいCronジョブが追加されているのを見ることができます。 上記のように設定すると、6時間ごとに WP-cron.php スクリプトを実行することになります。

Cronジョブが実行されるたびに cronのメール セクションで入力した電子メールアドレスに通知が送信されます。 または、 コマンド ラインに次のようなコードを使用することもできます。

wget http://www.yoursite.com/wp-cron.php?doing_wp_cron=1 > /dev/null 2>&1

またはいくつかのシステムでは、 curl 関数が使用されることがあります。

curl -s http://www.yoursite.com/wp-cron.php?doing_wp_cron=1 > /dev/null

詳細については、 この記事を参考にしてみてください。 wp_schedule_evenを使用して、手動でCronタスクをスケジュールする方法は、「Properly Setting Up WordPress cronジョブ"文を参照してください。(> / dev / null 2>&1を追加すると、スクリプトを静かに(silent)を実行して出力を生成しません。 この記事この内容について詳しく説明されていますね。)

予約文発行のようなワードプレスの一部の機能は、 WordPress Cronを利用します。 WP-CRONを無効にする場合、一部の機能が正常に動作しない場合があります。

WP_CRON_LOCK_TIMEOUT

他の方法でWP_CRON_LOCK_TIMEOUTを使ってCronジョブの実行時間を調整することができます。 ワードプレスがロードされると、Cronジョブが実行中(lock状態)であることを確認します。 Cronが実行されない場合Lockを作成しようとしたり、Lock Timeoutに達していない場合、Cronが実行されません。

実行中のCronジョブがなく、Timeoutが経過した場合、Cron実行されます(参考)。 次のようなコードを WP-config.phpをに追加するようにします。

define('WP_CRON_LOCK_TIMEOUT', 3600);

上記の数字は秒(sec)を示し、3600は60分を意味します。

注:



5のコメント

    • WordPressでサポートされる機能であるため、問題はないようです。

      メモ:
      https://developer.wordpress.org/reference/functions/wp_functionality_constants/

      応答
  1. 常に WordPress 関連良い情報を共有いただき、ありがとうございます。
    いつかは必要になるね。

    応答
    • サイトの訪問者数が多くなる場合は、この方法が必要になることができるようになります。

      楽しい一日になってください。

      応答
  2. 素晴らしい投稿。
    If you're on a shared hosting that does not offer cron jobs、you can be found a list of free webcron at: http://www.cronjobservices.com.

    応答