WordPressのバックアップと引越し
WordPressのサイトでは、情報はすべてサーバー上で更新されていくので、管理者の手元にはデータが残りません。ですから、管理画面での誤操作、あるいはWordPressの誤動作*1で、データがクラッシュしたら万事休す…となってしまいます。想定外のクラッシュに備え、一定期間ごとに、バックアップを取ることをおすすめします。
ただし、この操作はそれなりにリスクを伴うので、十分注意して下さい。
- WordPressサイトのバックアップには以下の2つの作業が必要です
- サイトのフォルダのバックアップ
- 記事が保存されているデータベースのバックアップ
- 以下、2種類の方法を説明します。
- WordPressのエクスポート&インポートを使ってサイトの複製をつくる
- サイトフォルダとデータベースをそれぞれ手動でバックアップ保存する
WordPressのエクスポート&インポートを使う
WordPressに標準のエクスポートとインポートを使って、ローカルPCに(あるいは別のレンタルサーバー上に)サイトのコピー(クローン)を作る方法を紹介します。この方法は、例えばWordPress.com で構築したサイトを、別サーバーにインストールしたWordPress へ引越しする際にも用いられる方法です。どこかにもうひとつ同じ内容のサイトを作ってしまう・・・という発想でそれをバックアップとして機能させるわけです。
手順は以下のとおり、
- ローカルPC上に(あるいは別のレンタルサーバー上に)新しいWordPressサイトを作ります。URL、サイトのフォルダ名などは異なってもOKです。
- 現在稼働中のWPサイトの'ダッシュボードで、
ツール>エクスポート 「すべてのコンテンツ」を選択>「エクスポートファイルのダウンロード」
ここには、以下のような説明が書かれています。下のボタンをクリックすると、WordPress がローカルに保存するための XML ファイルを作成します。 WordPress eXtended RSS もしくは WXR と呼んでいる このフォーマットには、投稿、固定ページ、コメント、 カスタムフィールド、カテゴリー、タグが含まれます。 ファイルをダウンロードして保存すると、 別の WordPress インストールに このサイトのコンテンツをインポートできます。
- ここで注意
エクスポートでダウンロードされる.xmlファイルは、引越しのための情報が入っているだけで、実際の記事データやメディアファイル(アップされた画像)等は含まれていません。したがって、これを保存するだけではバックアップにはなりませんので、ご注意下さい。
- 新規の(バックアップ用の)WPサイトのダッシュボード
ツール>インポート
ここで、以下の2点を確認して「インポート」をクリックして下さい。- 管理者の扱いについて、以下3つの選択肢があります。
いずれかを選択して下さい(私は一番下のもので動作確認しています)。Import author: >管理者情報そのものもインポート or create new user with login name: >ここで新規に作成 or assign posts to an existing user: >このサイトの管理者
- 記事(テキスト)だけでなく、添付(メディア)もコピーするため以下をチェック
Import Attachments ☑Download and import file attachments
- 管理者の扱いについて、以下3つの選択肢があります。
- インポートが完了するまでしばらく待ちます。
以下のメッセージが出れば完了です。Import WordPress All done. Have fun! Remember to update the passwords and roles of imported users.
以上、これで、ローカルPCに(あるいは別のレンタルサーバー上に)現行サイトのクローンができるかたちになります。
逆向きに操作をすれば「バックアップを使った復元」が実現します。
手動でサイトのバックアップを行う
この記事はあくまで、一般的な復元のためのバックアップ作業で、サーバーそのものの引越し、ドメインの変更等の手順は含みません。引越しやドメイン変更では、DBファイルの中の該当項目を手動で矛盾なく書き換える必要があります。基本的には、サーバーの引越しやドメイン変更とは違う単なるバックアップと復元の話・・という前提でお考え下さい。
また、この記事に出てくるphpMyAdminの詳細についてはDB_Onlineさんのサイトに詳しい記事があります。
MENU
2つのデータ
WordPressのバックアップ・復元は、以下の2つのデータが対象になります。
- 1)テーマやアップロードしたメディア等を含むwordpressのフォルダ
FTPクライアントを使ってバックアップや復元を行います - 2)記事情報が記録されたデータベース(MySQL)
phpMyAdmin等のDB管理ソフトを使います。
サイトのバックアップ
1) FTPによるwordpressフォルダのバックアップ
- FTPクライアントでサーバーに接続します。
- WordPressのフォルダをまるごとダウンロードして保存しておいて下さい。
以上
2) phpMyAdminによるデータベース全体のバックアップ
投稿記事等はすべてデータベースに記録されていますので、こちらもバックアップする必要があります。ここでは、データベースの中身のテーブルをすべてバックアップする…という方法を説明します。
- MySQLデータベースの管理には、phpMyAdminを使います。
通常、契約サーバーの管理画面には、データベースの操作ができるよう、
「データベース管理(phpMyAdmin)」等のリンクがあると思います。
それを見つけてログインして下さい(@pagesの管理画面にもあります)。
XAMPPをローカルPCにインストールして練習中…という場合は、
すでにphpMyAdminが使える状態になっていると思います。
http://localhost/xampp/にアクセスすると、左メニューの下の方に
phpMyAdminが見えるところにありますので、そこから起動して下さい。
ログインに必要な情報は、データベースのユーザー名とパスワードです。 - では、phpMyAdminにログインしたとして・・・
- 左のメニューで該当するデータベースを選びます。
- テーブルの一覧が表示されるので、「すべてを選択」して下さい。
- メニューから「エクスポート」をクリック。
- 「詳細 – 可能なオプションを全て表示」 をチェックすると詳細表示になります。
- wp-***(各種テーブル) がすべて選択されていることを確認します。
- 生成オプションのところ、追加コマンドで、「DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT コマンドの追加」にチェックを加えます。
- その他の項目はデフォルトのままで、「実行をクリック」
- 「(データベース名).sql 」というファイルがダウンロードされます。
これがバックアップです。保管しておいて下さい。
以上
サイトの復元
1) FTPによるwordpressフォルダの復元
- FTPクライアントでサーバーに接続します。
- 保存してあったWordPressのフォルダをまるごとアップして下さい。
- 必要に応じてパーミッションの変更を行います。
以上
2) phpMyAdminによるデータベースの復元
この記事は、壊れてしまった中身のテーブルを全部削除した上で、上記の方法でバックアップしてあった全テーブルをインポートして復活させる・・という前提で説明しています。データベースの枠組みそのものは削除しませんので(データベースそのものを削除してしまうと、場合によっては、あなたの権限だけでは新規のDBを作成できないこともあるので)、ご注意下さい。
- phpMyAdminにログインします。
- 左のメニューで該当するデータベースを選びます。
- テーブルの一覧が表示されるので、「すべてを選択」して下さい。
- すべてのテーブルを削除します(中身をまっさらにします)。
- テーブルのない空のデータベースが存在している状態になります。
- 「インポート」をクリック
- 参照をクリックして手元に保存してあった「(データベース名).sql 」を選択
- インポートを実行します。
- バックアップしてあったテーブルでデータベースが復元されます。
但し、当然ですが、バックアップ以後の更新情報までは復元されません。
以上