ブログ

プラグインなどの自動処理用システム「WP-Cron」を無効にする、または正常に動かない時の確認箇所と設定方法

wp-thumb

WordPressではさまざまな処理を行うために、表示のタイミングで処理を行うほか、内部的に自動で処理するためのしくみ「WP-Cron」が設けられています。
予約投稿記事を公開状態にしてくれたり、テーマやプラグインのアップデートの確認、E-mailでの通知、プラグインを利用してのデータベース自動バックアップやSNSの情報取得…。

WP-Cronはインストール時点での標準では有効となっています。

 

WP-Cronとは?

WP-Cronは、WordPressにおける「疑似Cron」と呼ばれるものです。
といっても何のことか分からないと思いますのでもう少し詳しく…。

「Cron(クーロン、クロン、クローン)」は、UNIXやLinuxなどのサーバ用OSで、予め決められた時刻にコマンド(ソフト)を定期的に実行するためのソフトウェアの名称です。(正確にはデーモンプロセスといいます)
一般的にはコマンドだけではなく、シェルスクリプト、PerlやPHPなどのプログラムなども実行させることができるため、システムバックアップや日次レポートの発行など、定期的に自動で処理を行うためのプログラムをサーバ内部で呼び出すためによく使用されています。
Windowsでいうところの「タスク」でありその設定は「タスクスケジューラ」となります。

本来CronはUNIXやLinuxの環境でかつサーバ側で設定が必要なのですが、このCronをサーバ側の設定なしにWordPress単独で擬似的に同じ事を実現するために実現されているシステムです。

 

WP-Cron自体を無効にする

標準では有効の状態で使うべきものですが、どのような条件であっても自動処理されては困る場合や、サーバーのCronにより定期的に呼び出すようにシステムを組みたい場合など、WP-Cronによる疑似Cronの機能を無効にする必要がある場合があります。

wp-config.php 内に以下の記述を追加してください。
追記場所は「/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */」のコメントの前までであれば基本的にはどこでも設定が適用されるはずです。

define('DISABLE_WP_CRON', 'true');

 

このままでは自動処理が無効になったままになりますので、できればサーバのCronなどで wp-config.php と同じディレクトリにある wp-cron.php を呼び出すように設定を行うことをオススメします。

 

WP-Cronが正常に動かない時の確認箇所と設定方法

通常は特に深いことを考えなくても正常に動作するよう設計されているWP-Cronですが、SSL化した環境、とくにさくらのレンタルサーバ環境などでは以下のようなメッセージが表示され、WP-Cronが利用出来なくなる事例があります。

あなたのサイト上でWP-Cronシステムの呼び出し処理に問題が見つかりました。あなたのサイト上でWP-Cronジョブが動作しない可能性があります。問題は次の通りです。 転送が多すぎます。.

WordPressは通常SSLでの利用に対応していないため、テンプレートの編集等を行って対応するようにしていると思います。
それと同時に、非SSLでのアクセス(http://~)をSSLでのアクセス(https://~)に転送するため、.htaccess 等でリダイレクトするよう設定を行っていることが多いことでしょう。
この動作が行われる際、リダイレクトが何度か行われてしまうことがあり、その結果、上記のようなエラーが発生することがあります。
さくらのレンタルサーバでSNIによるSSL対応を行った場合はほぼ確実に出ると思っていただいて構いません。

対策方法としてはリダイレクト対象から除外することになりますので、.htaccess 内にある「RewriteEngine On」の次行に以下のコードを追記します。

RewriteCond %{REQUEST_URI} !^/wp-cron.php$

 

WordPressのシステムが導入されているディレクトリが「/wp」の場合は「!^/wp/wp-cron.php$」、「/cms」の場合は「!^/cms/wp-cron.php$」のように置き換えて設定してください。

設定例は以下のようになります。

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/wp-cron.php$
RewriteCond %{HTTP:X-Sakura-Forwarded-For} ^$

関連記事

WP-Ranking PRO
ページ上部へ戻る