メニュー

東京・小金井市のWEB制作会社の豆知識

MEMORANDUM

WordPressアップデートでサイトが壊れたときの正しい対処法

WordPressは定期的なアップデートが推奨されていますが、「アップデートした直後にサイトが真っ白になった」「管理画面に入れなくなった」といったトラブルがないわけではありません。
実際に弊社でも、「WordPressをアップデートしたら見れなくなってしまった」というご相談を何度か受けています。
アップデートやバックアップはプラグインやボタン一つで実行できる一方で、復旧作業はわからないという方が多いのも事実。
本記事では、WordPressアップデートで不具合が発生した場合の対応方法をメモ。

WordPressのアップデートで不具合が起きる2つのパターン

アップデートによるトラブルは、「プラグイン・テーマのアップグレードで壊れる場合」と「WordPress本体(コア)のアップデートで壊れた場合」の2種類に分けられます。
復旧作業で最も重要なのは、「どちらが原因かを誤らないこと」です。

プラグイン・テーマのアップグレードで壊れた場合

プラグインやテーマをアップデートした直後に動かなくなったのであれば「プラグイン・テーマ」が原因です。

全体の流れ

  • wp-config.phpをデバッグモードに切り替える
  • エラーメッセージから対象プラグインを特定
  • プラグインを無効化・ダウングレード
  • 公式アナウンスを確認し、修正を待つ or 代替を検討

wp-config.php をデバッグモードに切り替える

白画面のままでは原因が分からないため、まずエラーを表示させます。
ワードプレスディレクトリの直下にある「wp-config.php」をFTPでダウンロードし、下記の部分を書き換えます。

wp-config.php
//書き換え前
define('WP_DEBUG', false);

//書き換え後
define('WP_DEBUG', true);

ファイルが上書きできない場合は「パーミッション(ファイル権限)」による場合も多いので、FTPソフトでファイル権限を確認、「444」等であれば「644」等に一時的に変更してから、上書きします。

エラーメッセージからプラグインを特定する

デバッグモードを有効にすると、エラーが表示されます。
下記の場合は「/wp-content/plugins/sample-plugin/」から「sample-plugin」が原因と判断できます

エラーメッセージ例
Fatal error: Uncaught Error: Call to undefined function xxxx()
in /wp-content/plugins/sample-plugin/sample.php on line 123

プラグインを無効化・ダウングレード

FTPで該当するプラグイン(テーマ)のフォルダ名を変更します。(例:_sample-plugin 等)
これにより、強制的にプラグインが無効化されます。
無効化した後は手元にあるアップグレード前のバックアップファイルをアップロード。
これで、不具合の発生する前に戻ります。

公式アナウンスを確認し、修正を待つ or 代替を検討

公式サイトに修正方法が掲載されていれば、確認して対応。
まだ情報が無いようであれば、修正版を待つか、別のもので代用ができないかを検討。
使用が必須のものでなければ、今後は使用しない選択も有効です。

WordPress本体(コア)のアップデートで壊れた場合

プラグイン・テーマの更新をしていな状態で、本体をアップグレードしたら動かなくなった場合は本体のアップデートが原因です。

本体のアップデート時にサイトが表示されなくなった場合の対処法も、基本的にはプラグイン時と同様ですが、この場合は本体自身の不具合というよりも、新しいプログラムに対応できなくなったプラグイン(テーマ)の影響となる場合が多いので、「非対応のプラグイン(テーマ)の継続」が必須かどうかで対応方法は変わります。

プラグインの継続が必須でない場合、前述の③項目のリネームまでを行い、プラグインのアップロードを保留。
代わりになるプラグインを探すか、機能の実装自体を諦めます。
デザインやサイトの運営に影響の少ない、解析系プラグインや圧縮系のプラグインが対象になる場合が多いです。

反対に、プラグインの使用が必須の場合は、本体をダウングレードして完全復旧する方法が必要となります。
専用のプラグインを使用する方法もありますが、管理画面に入れない場合もあるため、手動による方法で紹介。

全体の流れ

  • 同一ディレクトリにWordPressを再インストール
  • wp-config.php をアップデート前のものに戻し、追加したデータベースを削除する
  • 公式アナウンスを確認し、修正を待つ or 代替を検討

同一ディレクトリにWordPressを再インストール

ワードプレスを稼働中のサイトに再インストールし、直前まで使っていたバージョンまでアップデートを進めます。
ワードプレスを再インストールする際に、本体のプログラムファイルは上書きされますが、インストール済みのテーマやプラグイン、アップロードしたファイルは削除されません。
サーバーの「簡単インストール」からでも実行は可能ですが、再インストール時のデータベースは新しいものを用意し、稼働中のデータベースに上書きされないよう注意が必要です。
※作業前にバックアップを取っておくと安心です。

wp-config.php をアップデート前のものに戻し、追加したデータベースを削除する

再インストールしたワードプレスのデータベースには稼働中の内容が入っていませんし、設定も新しい内容になっています。
そのままでは使えないため「wp-config.php」を稼働時の内容に書き換えて、稼働中だったデータベースと入れ替えます。

この時に、phpmyadmin等で新しく作成したデータベースを操作して、稼働中のデータベースの内容に合わせる(インポートする)ことも可能ですが、「認証用ユニークキー」もあり、「wp-config.php」の編集は必要になるので、入れ替えの方が工数を減らせます。

データベースを入れ替えた後は、不要になったデータベースを削除します。

公式アナウンスを確認し、修正を待つ or 代替を検討

サイトが元に戻った後は、公式サイトに修正方法が掲載されていれば、確認して対応。
まだ情報が無いようであれば、修正版を待つか、別のもので代用ができないかを検討します。

尚、修正版が無いからと本体のアップデートを永続的に止めるのはお勧めできません。
本体のアップデートを止めるのは一時的対応であり、恒久的には推奨されません。

まとめ

WordPressのアップデートで不具合が起きても、「原因の特定」→「一次復旧」→「今後の対応」の順序を守れば、営業を止めず安全に復旧できます。

特に、wp-config.php とデータベースを組み合わせた復旧方法は、プラグインの使えない場合の移転作業でも非常に有効であり、知っておくと安心です。

RANKING

人気記事

同一カテゴリーの記事