1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WordPressの自動更新で本番環境のファイルが書き換わった話

Last updated at Posted at 2025-02-12

はじめに

こちらの記事でWordPressのデータ移行を記したが、その中の1サイトでデータ移行後にWordPressの自動更新によって本番環境の一部ファイルが書き換わる障害が発生した
その教訓としてWordPressの自動更新を制御する方法を記す

障害の詳細

経緯

  • 移行元はWordPressがインストールされておらず、別途静的ファイルのみでサイトを構築していた
  • 移行先のサイトではWordPressがインストールされていたが、初期設定のままで放置されていた(諸事情によりアンインストールはしない)
  • 移行時に、静的ファイルのindex.phpがWordPressインストール時のindex.phpの同名であったため上書き保存した

発生時

  • しばらくしてWordPressの自動更新が実行された
  • 他のファイルについては影響がなかったが、index.phpについてはWordPress初期のコードに上書きされてしまったしまった
  • 結果、サイトのトップページがWordPress初期表示になってしまった

各対応方法

function.phpでの制御

function.phpで以下のフィルターフックを追加すると、WordPressバージョンチェックの際に新しいバージョンがないと認識させることができる

バージョン通知を無効化

add_filter( 'pre_site_transient_update_core', '__return_zero' );

これにより、管理画面で新しいバージョン通知が表示されなくなる

コアバージョンの定期チェックを無効化

remove_action( 'wp_version_check', 'wp_version_check' );

WordPressが定期的に行うコアバージョンチェックを停止できる

wp-config.phpでの制御

wp-config.phpに以下の記述を追加することで、自動更新を制御できる

自動更新を完全に停止

define('WP_AUTO_UPDATE_CORE', 'false');

マイナーアップデートのみを自動更新する

define('WP_AUTO_UPDATE_CORE', 'minor');

WP Downgradeプラグイン

「WP Downgrade | Specific Core Version」プラグインを使用すると、WordPressのバージョンを指定したバージョンにアップグレードまたは、ダウングレードできる

バージョンアップ・ダウングレード手順

  1. プラグイン > 新規追加 から「WP Downgrade | Specific Core Version」をインストールして有効化する
  2. 設定 > WP Downgrade で「WordPress Target Version」に指定したいバージョンを入力し、「変更を保存」をクリック
  3. WordPressの更新画面に移動し、「再インストール」をクリックしてバージョンを切り替える

注意事項

  • 実行前にバックアップを取ること推奨(特にダウングレード時)

まとめ

特に利用しなくても、WordPressの設定はちゃんと確認しよう

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?