WP 自動更新の制御と復旧に備える〜「サイトが真っ白になった」ときの対処法
セキュリティー上の問題に積極的に対処するためには「WordPress コアファイル、テーマやプラグインは自動更新して最新の状況を維持すべき」なんですが、アップデートによって深刻な問題を生じる場合が少なからずあって、問題発生の原因を探し当て復旧させるまでに膨大な時間をを経験した方も多いのではないでしょうか。
また「サイト画面が真っ白になってログイン出来なくなった」などというトラブルも、自動更新の失敗という場合が少なくありません。だから複雑なテーマカスタマイズや複数のプラグインを実装している場合などは、あえて自動更新させない方もいたりします。
自動更新時に発生する可能性のあるトラブルに対しての備えや対処法が判っていれば、基本的には「WordPress コアファイル、テーマやプラグインは自動更新して最新の状況を維持すべき」だと思います。
自動更新時に発生する可能性のあるトラブルに対して備える
WordPress の初期状態では、WordPress本体コアファイルと翻訳ファイルのマイナーアップデートのみ自動更新が有効化されており、テーマやプラグインの自動更新は無効化されています。
テーマについてはカスタマイズ内容との整合性に問題が生じやすかったり、プラグインについては個別の信頼性が大きかったり、でトラブルに直結しやすい、というのが自動更新が無効化されている要因ですから...
・テーマやプラグインを個別に自動更新のON/OFF制御できる
・テーマやプラグインを個別に復旧が可能(旧バージョンにダウングレード)
これらをサポートするプラグインを予め組み込んでおきます。
アップデートにマイナートラブルはつきものです。あえて「自動更新させないで様子を見る」テーマやプラグインの選択操作も出来るようになります。
- Companion Auto Update
プラグインやテーマ、WordPressのコアファイルの自動更新の設定自体は、プラグインを使わなくてもかんたんなコードをfunctions.phpに追記するだけでいろいろアレンジ出来ますが、このプラグインを使うと個々のテーマやプラグインについて自動更新のON/OFFを設定出来ます。
地味にアップデートログがちゃんと残るのがあとあと問題発生時に復旧の手掛かりになって便利です。
- WP Rollback
WordPressコアファイルに標準装備してもらいたいプラグイン。個々のプラグインやテーマを旧バージョンにさかのぼって復旧させてくれます。
<テーマの復元>
管理画面>外観>テーマで当該テーマの「テーマの詳細」をクリックすると。画面の右端に「Rollback」ボタンが追加されていますので、さらにクリックすると旧バージョンのリスト一覧画面が表示されます。任意の旧バージョンを選択して「Rollback」ボタンをクリックすると復旧させられます。
<プラグインの復旧>
管理画面>プラグイン>インストール済みプラグインの画面で、各プラグイン項目の右端に「Rollback」ボタンが追加されています。
「Rollback」ボタンをクリックすると上記<テーマの復旧>と同様、旧バージョンのリスト一覧画面が表示されますから、任意のバージョンを選択して復旧させることができます。
「画面が真っ白になってログイン出来なくなった」ときの対処法
プラグインの自動更新失敗やプラグイン自体に問題があって「サイトが真っ白」「ログイン出来なくなった」状態になることが稀にあります。その場合はFTPSで「wp-content」フォルダ内にある「plugins」フォルダ名を一時的に書き換えて強制的にプラグインを無効化してアクセスしてみるとログイン出来るようになりますから、アップデートログを確認して問題のあるプラグインを特定して対処出来ます。
その他「真っ白画面でログイン出来ない」解説と対処法について丁寧に書かれたサイトがたくさんあるので能書きはそちらを参照していただきたいのですが、テーマ書類のうっかり編集ミスの類を除いて大抵の場合は「解らない...」場合が多かったりします。
Cannot declare class WP_MatchesMapRegex, because...../wp-includes/class-wp.php on line XXX
デバッグモードでズラズラ表示されたなかにこんな記述が見つかる場合は、WordPress本体コアファイルのアップデートに失敗している可能性が高いです。そんなときはいろいろ調べても、少々コードを書き換えても徒労に終わるか、不完全に動作してしまうかのどっちか、というのが経験上のお話で、そんなときの手っ取り早い解決はWordPress本体コアファイルの入れ替え(FTPSによる手動再インストール)です。
→WordPress のアップグレード・手動更新
・現在のWordPressのバージョン情報を確認する
「wp-includes」ディレクトリにあるversion.phpに記載されています
※簡単な方法もありますが...これがイチバン確実かと...
・現在のWordPressファイルを削除
以下のフォルダ・ファイル以外のWordPressファイルを削除します。
wp-content
wp-config.php
.htaccess
・WordPress本体コアファイル をDLして解凍・展開。
→ WordPress本体コアファイル 旧バージョン・ソース
以下のフォルダ・ファイル以外のWordPressファイルをアップロードします。
wp-content
wp-config-sample.php
さらに、wp-content内のlanguagesフォルダをアップロード更新します。
・インストールの更新(データベースのアップデート)
メインの管理ページ /wp-admin にアクセスしてください。
ログイン後、データベースの更新が必要であればアップグレードされます。
そもそも Companion Auto Update / WP Rollback プラグインに信頼が置けないと試せない話ではありますが、手動更新をおこなうにしてもWP Rollback プラグインは万が一にお役に立つかと思います。