不具合が発生した WordPress はクリーンインストールで復旧させてみると良いかもしれない

WordPressはソフトウェアですので、不慮の事故や不具合でWordPressが復旧できなくなる場合があります。
データのバックアップがあればいいですけれど、取っていなかった場合は復旧が難しいケースもあります。

WordPressのウェブ表示がおかしくなった時に! 解決の糸口が見つかるかもしれないトラブルシューティングの常套手段 で紹介した手段でも復旧ができない場合は、このまま頑張って修復に挑戦し続けるか、全部やめてWordPressのインストールから再構築するかを検討するかの選択に迫られます。

修復がどうしてもダメだ、という場合はクリーンインストールで1から作り直しが必要になりますが、やっぱりハードルが高い……。

という事で、できるだけ既存のデータを使いつつ、WordPressをクリーンインストールから復旧する手順を考えてみたいと思います。

今回は、さくらのレンタルサーバなどの共有サーバで、バックアップを取っていないWordPressが動作しなくなった、というシチュエーションを前提に解説を進めていきたいと思います。

下準備

1.  wp-config.php(データベースの設定)

WordPressインストールフォルダ直下の wp-config.php に、WordPressのデータベース設定に必要な設定値がすべて入っています。
さくらのレンタルサーバの場合、wp-config.phpをファイルマネージャー等でダウンロードするか、以下の範囲をコピーして手元のPCに保存しておきます。

こちらはWordPressの復旧時に使いますので、無くさないようにしてください。

2.データが蓄積しているフォルダ

WordPressの更新や設定を行っていく上で、変化していく箇所は2つあります。

①データベース(ユーザー情報や投稿記事の本文、各種プラグインのデータなどが格納されます)
②WordPressインストールフォルダ直下の /wp-content 内のデータ。
特に、plugins、themes、uploads が該当します。
※ 他のフォルダはプラグインにより生成されたりしますので、バックアップは基本的に不要です。

ここが重要になってくるのですが、ポイントとして、実際にバックアップを取るのは /uploads だけにしてください。
/plusgns や /themes については、中のフォルダの中の名前だけ控えておけばいいです。
これは万が一、不正アクセスによるウェブ改ざんがあった場合などの対策になります。

↑この中の、フォルダ名だけが重要になりますので、スクリーンショットを残しておくだけでも問題ありません。

念のため、データベースもチェックします。

データベースの中には、ユーザー情報や投稿内容、テーマの設定などのデータが格納されます。

下図は接頭辞が wp_ の時にできるWordPressデフォルトのテーブルです。ご自身のテーブルと比較し、追加されているテーブルがあった場合、プラグインか、テーマによってできたものと考えられます。

しかし、不正アクセスを受けた結果、WordPressが破損したという可能性も0ではありません。そのため、テーブル名で検索し、用途不明なテーブルはバックアップを取った上、削除した方が良いでしょう。

なお、不審なテーブルがあった場合、WordPressの認証情報(ID,パスワード)は必ず変更しておいてください。

復旧

WordPressインストール

準備が整ったら、WordPressを新規にインストールします。

さくらのレンタルサーバの場合、WordPressはクイックインストールで行っていただきます。
後でwp-config.phpの内容を引き継ぎますので、このWordPressはとりあえずインストールするだけです。
ですので、適当なデータベースやユーザー情報の入力で結構ですが、インストールフォルダだけは必ず、削除したWordPressに合わせて同じになるよう設定してください。

WordPressとデータベースの復旧

WordPressのクリーンインストールが完了したら、いよいよデータの復旧です。

wp-config.phpの反映

前項の1.で取っておいた wp-config.phpのデータベースの設定を、新規にインストールしたWordPressのwp-config.phpに反映させます。

「/** MySQL データベースのユーザー名 */」 から 「$table_prefix =~」 までを現在のWordPressのwp-config.phpに上書きします。

これで、WordPress管理画面内の記事やユーザーなどの情報が復旧します。

プラグインとテーマの復旧

前項の2.で控えておいたフォルダ名で、WordPressの管理画面からプラグインとテーマを検索してインストールします。

もし、フォルダ名で検索しても出てこなかったプラグインやテーマは、不正アクセスによるものか、もう提供を中止しているものと考えられますので、飛ばして最後までインストールしてください。

メディアファイルの復旧

次に、/uploads をインストールしたWordPressの /wp-content にコピーします。

アップロードの前には、もう一回、バックアップデータの中に画像や動画以外のデータが入っていないか、チェックしてください。
これは、万が一不正アクセスによるウェブ改ざんの被害に遭っていた場合の対策になります。

復旧作業後の動作確認

メディアファイルの復旧まで完了したら、ウェブサイトの表示を確認してください。
もし、以前と表示が違う場合は、テーマのファイルに直接CSSなどを書き込んでいたなどの可能性があります。

以前の状態とページを見比べたい場合、Web Archiveのようなサービスを使うのも方法の一つです。

Web Archiveを使えば、キャッシュとして保存されている、過去のサイト状態が高確率で確認できます。
過去のサイトのキャッシュを参考に、外観を整えていくと良いでしょう。

また、これでも復旧に至らない場合はデータベースに問題がある、PHPやMySQLの環境に問題があるなどの可能性があります。
あるいは、込み入ったカスタマイズが行われていて手に余るような時は、有料でWebサイト制作会社などの業者さん(Webサイト構築時にお願いしたところにお願いできると理想的)への対応依頼をご検討いただいたほうが良いかもしれません。

まとめ

動作しなくなったWordPressに最短で復旧する手順を考えてみましたが、やはりやる事が多いですね。
さくらのレンタルサーバのスタンダード以上で標準搭載の バックアップ&ステージング を使えば簡単にWordPressのバックアップを取れますので、WordPressが動作しなくなる前にこちらを活用してください。