姉妹ブログが壊れた→復旧しました(WordPressブログの復旧)

やっちまいました、姉妹ブログである「築地で働く編集者のブログ」を壊してしまいました(この投稿の時点では復旧)。WordPress本体の更新やプラグインの更新は、セキュリティ上もマメにやることにしていますが、うまくいかないこともあるんですね。こういうときに浅はかな行動をとると、あとでひどい目に遭うと思い知らされました。

WordPress本体の更新。うまくいきました。続けて、プラグインの更新。途中で反応がなくなります。進捗が出ますが、これがいっこうに進まなくなるんですね。かれこれ数十分放っておきましたが、いっこうに進む気配がないので、仕方なくページを閉じました。

これがいけなかったのか、そのままでも同じだったのかわかりませんが、とにかくブログは壊れました。ページを表示させようとすると、こんなものが出てにっちもさっちもいきません。

こういうときは、まずは慌てず落ち着いて。うっかりWordPressの再インストールなどしてしまったら、これまでの投稿やコメントがすべて吹っ飛ぶかもしれません。ここは軽はずみな行動は避けて、まずはデータを保全しましょう。

ブログの管理画面にも入れないので、サーバにあるデータを直接持ってくるしかありません。ここで必要なのがWordPressのデータ構造についての知識です。簡単に言うと、WordPress本体とMySQLデータベース。WordPress本体の方には、各種のスクリプトファルやプラグイン、テーマ、そしてアップロードしたファイルなどが含まれます。MySQLデータベースの方は、投稿やコメント、そして各種の設定が含まれます。

この両者をひとまず保全すれば、復旧のためにいろいろチャレンジできるというものです。

まずはWordPress本体。適当なFTPクライアントソフト(私はMac上でFileZillaを使っています)でサーバに接続し、「/ブログのドメイン/」以下のファイルを根こそぎダウンロードします。具体的には、index.phpファイル、wpフォルダなどです。特にwpフォルダが重要です。

そしてMySQLデータベース。ブログのあるサービスにもよりますが、私が使っている「お名前.com」では、phpmyadminという管理ソフトを別途インストールしてやる必要があるようです。面倒ですが、説明に従いインストール、データベースを登録して全データをエクスポートしました。ここで大事なのは、SQL形式でエクスポートすることです。

さて、データの保全が済んだら、WordPress本体を修復します。といっても、上記の画面に出ているエラーメッセージから原因を究明して…などということは知識不足でできません。そこで、無事に動いているこのブログから、コンテンツ以外のファイルを全部コピーしてしまうことにします。幸い、入れているプラグインやテーマが一緒なので、このようなことができるわけです。

具体的には、下記のフォルダおよびファイルです。下記で重要!とあるのは、ブログによって異なるものなので、よそから持ってくるとまったく別物になってしまいます。

  • wp :wp-config.php以外(重要!)のファイル全部。フォルダは下記を参照。
  • wp/wp-admin :これを全部。
  • wp/wp-includes :これを全部。
  • wp/wp-content :uploadsフォルダ以外(重要!)のファイルとフォルダを全部。

これを行うことで、無事ブログは復旧しました。実際にはさまざまな試行錯誤があったのですが、最終的には上記の方法に落ち着いたということで、脇道は省略します。

なお、原因究明のためにWordPressにデバッグ用のメッセージを吐かせる

define('WP_DEBUG', true);

はwp_config.phpに入れないようにしましょう(標準では入っていない)。警告などを出すプラグインがあった場合、これが悪さをしてブラウザの表示が文字化けすることがあります。

大事なのは日頃のバックアップ、これに尽きますね。メールや仕事のファイルはパラノイア的にバックアップするのですが、ブログは甘く見ているのか、そんな発想もありませんでした。バックアップの方法はいろいろあるようなので、研究してみましょう。

コメント