はぴすぷ

【WordPress】簡単なバックアップの取り方と復旧の方法【初心者向け】

      2015/09/22

プラグインを追加したい。ローカル環境で動作確認はしたけど、本番環境でトラブったらどうしよう…。

そんな時に大事なのが本番環境のバックアップですね。

今回は簡単で初心者向けの内容です。複雑なプラグイン入れてるとか、WordPress本体にも色々手を加えてると言う方に向けた内容ではありません。中級者向けは近いうちに書くと思いますが、上級者向けは私が上級者でないので、いつになるか分かりません(;・∀・)

スポンサーリンク

WordPressでバックアップを取るべき対象

前回WordPressを導入する方法を書きました。
WordPressを自分のPCに設置する方法【XAMPPを使ってローカル開発】

ここで行った手順である以下の2点。

  • WordPressをWebサーバー上に設置する
  • WordPress用のデータベースを作成する

ほぼ、これに尽きます。

要は設置したWordPressのディレクトリと、データベースの内容を全てバックアップすれば良いのです。

必要最小限のバックアップ

全てバックアップしておいた方が良いという結論は変わらないのですが、必要最小限に抑えたい場合もあります。例えば。

  • 回線速度が遅く全て転送するのに時間がかかる。
  • モバイルルータ・スマホのテザリングで通信してるので通信量を抑えたい。
  • PCがSSDnのみで外付けHDDもないので保持するファイルの容量を抑えたい。

全て私に当てはまりますね(^q^)
嘘です。最近光回線と外付けHDDを用意したので問題無くなりました!

でも数ヶ月前の私には死活問題でした。色々な環境の人がいると思うので、消えても別に良いものはバックアップしないというのもありです。

WordPressの構造について

バックアップするものを、必要最小限にする当たって、WordPressがどういう構造になっているかを知らないことには始まりません。

なので、バックアップを取るのに必要な部分についてのみ、まとめて解説します。まず下の図を確認して下さい。

WordPress構造WordPressを配置したディレクトリ

この中には3つのディレクトリがあります。

  • wp-content: 外部に公開されるメインコンテンツに関するものが含まれています。
  • wp-admin: 記事を書いたりテーマを変更したりする管理画面に関するものが含まれています。
  • wp-includes: ライブラリやWordPressのコアになるプログラムが含まれています。

まずwp-content以外触ることはありません。プラグイン自分で作ってみようかなとか考えられるレベルでなければ見る必要もありません。

また、ファイルについては、wp-config.php以外は同じように覚える必要はないです。wp-config.phpはデータベースへの接続情報などが書かれた重要な設定ファイルです。

wp-contentの中身

大切なメインコンテンツに関わる部分で、その中に含まれるものは以下のとおり。

  • languages: 言語ファイル置き場。自分で日本語化とかしない限り触らない。
  • plugins: プラグイン置き場。初心者でも触る可能性大。
  • themes: テーマ置き場。初心者でも触る可能性大。
  • upgrade: WordPressやプラグインのアップデート時に使われるらしい。
  • uploads: アップロードしたファイル置き場。画像など。

まとめ

以上のことから、初心者にとって最小限バックアップを取るべき対象は、以下の4点です。これらを本番サーバから定期的にバックアップを取るようにしましょう。

  • wp-config.php
  • wp-content/plugins/(使用しているもののみ)
  • wp-content/themes/(使用しているもののみ)
  • wp-content/uploads

画像つけた方が分かりやすいですね。黄緑色の枠のものです。水色の枠はディレクトリの構成も合わせて置いたほうが良いので、ディレクトリも作りましょうね。といういうつもりで付けてます。

WordPress構造_バックアップ対象

WordPressのバックアップを取得する

バックアップする対象が分かったので、FTPクライアントソフトを使ってファイルを取得しましょう。
方法が分からない方は過去に紹介した、「WinSCP」がオススメです。
レンタルサーバと簡単にファイル転送する方法【WinSCPでSFTP・FTPS通信】

ディレクトリの同期移動にチェックすることで、ディレクトリの作成も含めて簡単に本番サーバのバックアップが取れます。

SS_0614_0

移動しようとしたディレクトリが存在しない場合は作成するか聞いてきます。

SS_0613

WordPress本体側のファイルのバックアップについては以上です。

データベースのバックアップ

2015/08/22追記:
データベースを完全にバックアップする方法も書きました。今回の内容で満足出来ない場合は合わせて確認してみて下さい。
【WordPress】phpMyAdminでDBのバックアップと復旧(エクスポート・インポート)を行う方法

今回の初心者向けバックアップではデータベースの完全なバックアップには対応していません。WordPressが標準で用意している、エクスポート機能を使用します。

その為、データベースに新たなテーブルを作ったりする複雑なプラグインについては対応していません。

あくまでサポートされるのはWordPress eXtended RSSという形式に含まれる「投稿、固定ページ、コメント、カスタムフィールド、カテゴリー、タグ」についてのみです。

なので、管理画面でWordPressの設定、外観のカスタマイズ、プラグインの設定を変更した人は、キャプチャやメモを取るなりして同じ設定が出来るようにしておきましょう。

エクスポートファイルのダウンロード

管理画面からツール→エクスポートに進みます。

SS_0431

すべてのコンテンツを選択し、エクスポートファイルをダウンロードをクリックします。

投稿、固定ページのみのデータが必要なことがあるのか不明だが、必要であればそちらを選択してからエクスポートして下さい。恐らくWordPressではないCMSや無料ブログサービスに向けた形式なのだと思います。

以上で、バックアップの取得は完了です。
これだけやっておけば、万が一のことがあっても大切な記事のデータは守られます。

バックアップからの復旧方法

バックアップのデータは取得できたので、次はバックアップから復旧させる方法を説明していきます。

本番環境で正常に動いているのに復旧テストなんて出来ませんよね?なので、ローカルの開発環境を使います。

手順は以下の順番で進めます。

  1. ローカルのWebサーバーに新しいWordPressディレクトリを配置。
  2. バックアップしたファイルを1のディレクトリに配置。
  3. 新しいデータベース作成(テーブルのプレフィックス変えるでも可)
  4. WordPressのインストール
  5. 管理画面にログイン
  6. 設定の再設定
  7. インポート
  8. テーマの適用と再設定
  9. プラグインの有効化と再設定
  10. 調整

ほとんど前回の記事で説明しているので、2と7と10だけ触れます。
6と8と9は「バックアップ取る必要のあった人=既にやったことある」だから分かるよね(;・∀・)

バックアップしたファイルの配置

バックアップしたファイルを同じディレクトリにコピーしてあげます。
説明するまでもないと思ったんですが、wp-config.phpも配置してしまうと本番のレンタルサーバ向けの設定になっているので、ローカルでは動かないです。

あくまで本番用のバックアップとして保存しているだけなので、wp-config.phpは配置しないでおきましょう。

どうしても使いたいのであれば、データベースの情報をローカルのものに書き換えてみてください。

<?php
/** WordPress のためのデータベース名 */
define('DB_NAME', '同じ名前のデータベースを作成');

/** MySQL データベースのユーザー名 */
define('DB_USER', 'root');
/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'rootのパスワード');
// それか同じユーザー名とパスワードのユーザを作成する

/** MySQL のホスト名 */
define('DB_HOST', 'localhost');
// ここだけはlocalhostに変更

ユーザーの作成はphpMyAdminからでも出来ます。
ユーザ→ユーザを追加する

SS_0618

wp-config.phpに書いているユーザー名・パスワードを入力して、ホストはローカル、localhostでグローバル特権はすべてチェックするで実行する。

SS_0619

インポート

管理画面のツール→インポートからWordPressをクリックします。

SS_0544

プラグイン「WordPressインポートツール」をインストールするか聞いてくるので、いますぐインストールをクリック。

SS_0545

インストールが完了したら、プラグインを有効化してインポートツールを実行
SS_0546

インポートツールが起動します。ファイルを選択から、エクスポートしたバックアップファイルを指定し、ファイルをアップロードしてインポートをクリック。

SS_0548

アップロードが完了すると、インポートの設定を聞かれる。

SS_0550

  • Assign Authors(投稿者の割り当て)
    投稿したユーザーをそのまま引継ぐ(デフォルト)か、新しいユーザーに割り当てるか、新しいWordPressの既にいるユーザーに割り当てるかが選択出来ます。
  • Import Attachments(添付ファイルのインポート)
    メディアを取り込むかどうか。もちろんチェック。
    付けないと何も行わない。恐らく全てデフォルトサイズの画像を取り込んだ上で、設定で指定しているメディアサイズで全て作り直している。そして困ったことにファイル名がマルチバイトだと文字化けする…。

そもそもこのツールはバックアップというより、他のブログシステムからの引っ越しに使うのが正しいんじゃないかと思えてきた(´・ω・`)

調整

最後に調整です。不要な投稿と固定ページを削除します。

あくまで記事や固定ページなどはインポートしただけなので、全く同じ状態にするというものではありません。なので、最初からあるサンプルページなどは削除しましょう。

以上で復旧の方法は終了です。

終わりに

簡単にバックアップを取るということで、データベースの操作など難しいことをしない方法を紹介しました。

バックアップを取るだけであれば簡単で、ほんの数分の作業で終わると思います。

また、ローカル環境に本番用のデータを持ってきたい時も、バックアップしたファイルを置いてインポートするだけで、サクッと片付けられます。

ただ、本番で何か起こって復旧が必要になると、設定など手動で対応しないといけない部分に手が抜けないのでかなり辛いです。

バックアップがあるから大丈夫と簡単に考えず、本番に変更を加える時はしっかり開発環境でテストした上で展開するようにしましょう。

ましてや、本番で外観→テーマの編集からプログラムファイルをいじくるとかもっての外です!

ブログ開設して3日目だし、深夜だし誰も見てねーよなw
とか思ってfunction.phpにバグ仕込んで、こんな画面が5分程表示される状態になってしまったとかないように気をつけましょう!

SS_0329_0

Google先生は不眠不休です。こんなページ出てる間に見つかりでもしたら…。

本日発売のオススメの書籍。もちろん買いました(^q^)

レビューも書きました:なれる!SE 13巻 ゆとり!意識高い系!新卒を教育せよ!がタメになりすぎて号泣した

 - WordPress, フリーソフト