WordPressの自動更新機能はセキュリティ維持や最新機能獲得に便利ですが、予期せぬバグや互換性トラブルを引き起こすリスクもあります。特に、商用サイト運営やカスタム開発を行う管理者にとって、開発検証なしの自動アップデートは大きな不安要素です。本記事では、コア・プラグイン・テーマの自動更新を自在に制御し、特定プラグインだけを除外する高度なテクニックまで、包括的に解説します。
コア自動更新を完全無効化する方法
結論:wp-config.php
に定数を定義して、自動更新を根本的に停止できます。
理由:WordPressコアは定数で更新挙動を制御。最も確実かつ高速な方法は設定ファイルを書き換えることです。
具体例:
// wp-config.php に以下を追加
define('WP_AUTO_UPDATE_CORE', false);
背景・原因
WordPress 3.7 以降、自動更新機能がコアに組み込まれ、マイナー・セキュリティリリースが自動適用されるようになりました。しかし、検証環境が不十分なまま本番サイトで適用されると動作停止につながります。
リスク
- 検証不足でプラグイン互換性エラー
- テーマカスタマイズの上書き
- ヘッドレス実装などカスタムロジックの破壊
注意点
- 設定変更後は手動での更新チェックとテスト環境での検証が必須
プラグイン/テーマ自動更新を個別制御
結論:管理画面UIとフィルタフックを併用して、個別に自動更新をON/OFFできます。
理由:WordPress 5.5 以降、プラグイン・テーマ単位で更新設定が可能になったため、UIとコード双方で制御が柔軟です。
具体例(UIの場合):
- 管理画面 > プラグイン > 自動更新リンクをクリックしてON/OFF切替
- テーマ > 外観 > テーマ一覧 > 自動更新アイコンを操作
具体例(コードの場合):
// functions.php に追加
add_filter('auto_update_plugin', '__return_false');
add_filter('auto_update_theme', '__return_false');
ツール紹介
- WP CLI:
wp plugin update --disable
で一括設定も可能
注意点
- UI操作のみでは、数百プラグインを管理する際の運用コストが増大します。
Easy Updates Managerを使った一括制御
結論:専用プラグインを導入することで、コア・プラグイン・テーマすべてを一元管理できます。
理由:管理画面に専用メニューが増え、詳細設定やログ機能も利用可能なため、運用効率が飛躍的に向上します。
具体例:
- プラグイン > 新規追加 > Easy Updates Manager を検索・インストール
- ダッシュボード > 更新管理 > 各種設定画面で自動更新ON/OFFを個別制御
- ログタブで過去の更新履歴を確認
事例
- 某ECサイト運営会社では、月次更新ログを出力し、更新前後の自動テスト結果を自動通知
注意点
- プラグイン自体の更新管理も忘れずに
特定プラグインのみ除外するテクニック
結論:フィルタフックを使い、特定プラグインIDのみ自動更新を無効化できます。
理由:auto_update_plugin
フィルタは引数にプラグインファイルパスを受け取り、対象プラグインだけ制御可能です。
具体例:
add_filter('auto_update_plugin', function($update, $item) {
// 除外したいプラグインのスラッグ
$exclude = ['akismet/akismet.php', 'hello-dolly/hello.php'];
if (in_array($item->plugin, $exclude)) {
return false;
}
return $update;
}, 10, 2);
ツール紹介
- Code Snippets プラグイン:管理画面上でスニペットを簡単登録
注意点
- 除外プラグインが増え過ぎると可読性低下。命名規則を統一し、コメントを充実させる
自動更新停止のメリット・デメリット
結論:安定運用と障害回避に優れるが、手動管理負荷が高まります。
理由:自動でリリースを即適用しない分、不具合リスクは減るが、更新漏れによる脆弱性放置リスクが増大します。
具体例:
- メリット:大規模サイトでの緊急バグ影響を回避、カスタム改修の安全担保
- デメリット:手動アップデート作業が必要、脆弱性対応のタイムラグ
未来予測
- 自動更新管理ツールはAIによる事前検証機能を持ち、手動チェックの工数を大幅削減する方向へ進化
注意点
- 更新ポリシーを社内規定に盛り込み、運用手順書を整備
更新停止後の手動チェック運用フロー
結論:定期チェックを自動化ツールと組み合わせ、見逃しを防止しましょう。
理由:手動運用はミスの温床。ツールで通知・レポートを生成することが重要です。
具体例:
- WP CLI で週次ジョブ設定:
wp core check-update
、wp plugin list --update=available
をcron - サイト監視ツール:UptimeRobot等で稼働監視
- セキュリティスキャナ:WPScanで月次レポート
ツール紹介
- GitHub Actions で自動テストとPRフローを構成
- Datadog で更新イベントを可視化
注意点
- ジョブの実行環境権限設定を厳格化し、誤操作を防止
まとめ
WordPress自動更新の停止は、一度設定すれば安定運用が可能ですが、手動チェックを怠ると脆弱性放置のリスクがあります。今すぐこの記事に沿って設定を見直し、定期的な更新フローを構築しましょう。当社の保守サービスでは、自動更新管理からテスト・検証までワンストップで対応可能です。ぜひご相談ください。