WordPress3.7から自動バックグラウンド更新という機能が実装されました。何もしなくても、勝手にアップデートしてくれるので、非常に便利な機能です。
今回は、自動バックグラウンド更新でアップデートされるファイルの種類などを調整する方法について書きたいと思います。
自動バックグラウンド更新とは
自動バックグラウンド更新とは、何もしなくても自動でWordPressのコアファイルや翻訳ファイルなどを更新してくれる機能のことです。
デフォルトでは、メンテナンスやセキュリティのためのマイナーリリースと翻訳ファイルが自動バックグラウンド更新の対象になります。
コアファイルの更新は以下の3種類に分類され、デフォルトで更新されるのは、この中の「マイナー更新」に当たります。
- 開発版更新(「ブリーディング・エッジ」)
- マイナー更新。メンテナンス・セキュリティリリース
- メジャーリリース更新
例えば、バージョン3.8.1なら”3.8″がメジャーバージョン、最後の”1″がマイナーバージョンにあたります。なので、デフォルトだと、3.8.0から3.8.1には自動更新されますが、3.8.1や3.8.2から3.9.0には更新されません。
なお、自動バックグラウンド更新が実施されると、登録メールアドレスに以下のようなメールが届きます。
サイト (http://hoge.com) を WordPress x.x.x へ自動更新しました。
何もする必要はありません。 バージョン x.x.xについて詳しくは「WordPress について」画面をご覧ください。
http://hoge.com/wp-admin/about.php問題が生じたり、サポートが必要な場合は、WordPress.org のサポートフォーラムのボランティアが助けになるでしょう。
http://ja.forums.wordpress.org/WordPress チーム
自動バックグラウンド更新が動作する環境か確認する
自動バックグラウンド更新が、利用している環境で正常に動作するかどうかは、Background Update Testerというプラグインで確認することができます。
プラグインの使い方については、こちらの記事をご参照ください。
コアファイルの更新を調整する
更新されるコアファイルの種類を調整するには、更新したいファイルに合わせてwp-config.phpにコードを追加します。
コードを追加する場所がわからない時は、
/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */
のすぐ上あたりにしましょう。
開発版、マイナー、メジャーアップグレードをすべて無効化
define( 'WP_AUTO_UPDATE_CORE', false );
マイナーアップグレードのみを有効化し、開発版・メジャーアップグレードを無効化
define( 'WP_AUTO_UPDATE_CORE', 'minor' );
開発版、マイナー、メジャーアップグレードをすべて有効化
define( 'WP_AUTO_UPDATE_CORE', true );
WP_AUTO_UPDATE_COREは、デフォルトだとminorになっているので、minorは記述しなくても動きます。
functions.phpでさらに細かく調整することもできます。
開発版(ナイトリービルド)の更新を有効化
add_filter( 'allow_dev_auto_core_updates', '__return_true' );
マイナーアップグレードの更新を無効化
add_filter( 'allow_minor_auto_core_updates', '__return_false' );
メジャーアップグレードの更新を有効化
add_filter( 'allow_major_auto_core_updates', '__return_true' );
メジャーアップグレードの更新を無効化(マイナーアップグレードのみ)
add_filter('allow_major_auto_core_updates', '__return_false');
コアファイルの自動更新をすべて無効化
add_filter( 'auto_update_core', '__return_false' );
このようにfunctions.phpに記述することでも、更新されるコアファイルの種類を指定することができます。
プラグインやテーマの更新を調整する
プラグインやテーマについては、デフォルトでは自動バックグラウンド更新は無効化されています。
プラグインやテーマの自動更新を有効化するには、functions.phpに下記コードを追加します。
プラグインの自動更新を有効化
add_filter( 'auto_update_plugin', '__return_true' );
テーマの自動更新を有効化
add_filter( 'auto_update_theme', '__return_true' );
翻訳ファイルの更新を調整する
翻訳ファイルの自動更新は、デフォルトでは有効化されています。これを無効化したい場合は、functions.phpに以下のコードを追加してください。
add_filter( 'auto_update_theme', '__return_true' );
これで翻訳ファイルは自動更新されなくなります。
すべての自動更新を無効化する
すべての自動バックグラウンド更新を無効化するには、wp-config.phpに以下のコードを追加します。
define( 'AUTOMATIC_UPDATER_DISABLED', true );
もしくは、functions.phpに以下のコードを追加することでも、自動更新を停止できます。
add_filter( 'automatic_updater_disabled', '__return_true' );
セキュリティのことを考えると、何か特別な理由がないのであれば、無効化しないことをおすすめします。
あとがき
WordPressで作成されたサイトは非常に増えていて、その分攻撃の対象にもされやすくなっています。攻撃からWordPressサイトを守る手段の一つとして、コアファイルやプラグインなどを常に最新の状態に保つことが大切です。
自動バックグラウンド更新によって、今までよりはWordPressのセキュリティレベルは上がったと思います。しかし、定期的に管理画面にログインして、コアファイルやプラグインのアップデートが存在しないか、ファイルが改ざんされていないか、などをチェックすることは今まで通り肝要です。コアファイルやプラグインは、面倒くさがらずになるべく最新の状態に保つようにしましょう。
もちろん、アップデートによって問題が発生してもすぐに戻せるように、BackWPupやWP-DBManagerなどを使って、定期的にバックアップを取得することも重要です。