やっちまいました、姉妹ブログである「築地で働く編集者のブログ」を壊してしまいました(この投稿の時点では復旧)。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に入れないようにしましょう(標準では入っていない)。警告などを出すプラグインがあった場合、これが悪さをしてブラウザの表示が文字化けすることがあります。
大事なのは日頃のバックアップ、これに尽きますね。メールや仕事のファイルはパラノイア的にバックアップするのですが、ブログは甘く見ているのか、そんな発想もありませんでした。バックアップの方法はいろいろあるようなので、研究してみましょう。