ハイブちゃん

WordPressのバックアップをしたいと考えているあなたへ。

壊れたときのため、ウイルス感染したときのため、顧客への信頼のため、などの理由で確実にバックアップを行いたいと思っているにも関わらず、

  • やり方がわからない
  • 手間がかかりそう
  • 時間がなくてつい後回しになってしまう

などと悩んでいるあなたのために、今回の記事では初心者でもWordPressをバックアップする方法についてご紹介いたします。

バックアップ用語集

バックアップの話に入る前に、まず知っておいていただきたい用語があります。

どのようなバックアップであっても共通の用語となりますので、WordPress以外にも応用が利きますよ。

覚えていただきたいのは4つのキーワードです。

  • バックアップ
  • リストア(復元)
  • エクスポート
  • インポート

それぞれがなにを意味するのかを順に説明します。

バックアップ

WordPressのプログラムとデータを、別の記憶媒体に保存する行為のことです。

破損やコンピュータウイルス感染などの事態に備える以外にも、サイト移行時のトラブルによるデータの消失などに備える目的のために行います。

リストア(復元)

破損したシステムやディスク、データベースなどを元通り使えるように直す行為のことです。

間違いやすいのが、設定ミスなどで画面が真っ白になったWordPressを使える様にするのは修復となり、別の作業扱い戸になる点です。

エクスポート

他のシステムで解釈できる形式でデータを保存する機能のことです。

WordPressから他のブログシステムへ移行する際に、記事のテキストデータのみを抽出するために利用します。

インポート

他のシステムで作成したデータを変換して利用できるように読み込むことです。

他のブログシステムからWordPressにデータを取りこむ際に使いますが、テキストデータしか含まれないため画像などの情報はなくなってしまいます。

それぞれ役割が違う

このように、バックアップ・リストアとエクスポート・インポートとでは目的が違います。

エクスポートしたデータだけでバックアップだと思っていると、画像やカテゴリー・タグなどの設定がすべてなくなってしまうので注意が必要です。

なにをバックアップすれば良いのか

あなたがどのような目的であれバックアップするということは、バックアップしたデータを使ってWordPressを元に戻せなければなりません。

元に戻したいWordPressの情報は、多くの方にとって次の内容でしょう。

  • あなたが書いた記事コンテンツ(タイトル、記事本文、アップした画像や動画などのファイル)と関連情報(カテゴリーやタグなどの付帯情報)
  • WordPress本体のカスタマイズした設定(タイトルやキャッチコピー、パーマリンクなど)
  • カスタマイズしたデザイン(テーマ、ファイル)
  • 導入したプラグインとその設定

これらの情報は、複数のファイルとデータベースに分割されてレンタルサーバーの中に保存されています。

具体的には次の様な構成で保存されています(環境によっては紹介した以外のファイルが存在します)。

  • ファイル・ディレクトリー(WordPress本体)
    • plugins – WordPressにインストールしたすべての「プラグイン」が含まれています。有効・無効かどうかは関係ありません。
    • themes – WordPressにインストールしたすべての「テーマ」が含まれています。現在使っているかどうかは関係ありません。
    • uploads – WordPressの投稿・固定ページ・メディア機能でアップロードしたすべてのデータが含まれています。
    • その他
      • .htaccess – Webサーバーのアクセス権限などの設定ファイルです。
      • .htpasswd – ベーシック認証を利用する際のアカウント情報が保存されたファイルです。
      • wp-config.php – WordPressの基本設定が含まれているファイルです。
  • データベース
    • テーブル – 投稿、固定ページ、コメント、 カスタムフィールド、カテゴリー、タグ、 ナビゲーションメニュー、カスタム投稿、WordPressの設定、プラグインの設定・データ、が含まれます。

WordPressを確実にリストアするためには、これらのデータをシステム的に同じタイミングでバックアップすることが大事です。

バックアップの方法は2つ

バックアップする方法は2つしかありません。
手動で行うか、何かしらのツールを使って自動でやらせるか、です。

  • 手動
  • 自動

先に挙げたデータをバックアップする場合に分けてそれぞれで見てみましょう。

手動

手動の場合は、WordPress以外にいくつかのアプリケーション・サービスを組み合わせて行います。

以下は、WordPress以外で使うものです。

  • FTPクライアント
    FTPSなどに対応しているFileZillaやNextFTPなどがおすすめです。
    ノーマルのFFFTPはセキュリティ面を考えるとおすすめし辛いです。
  • お使いのレンタルサーバーに対応したデータベース管理ツール
    phpMyAdmin (http://www.phpmyadmin.net/home_page/index.php)
    サーバーにインストールするタイプのMySQLを操作するWebアプリケーション

続いてバックアップの手順です。

  1. WordPressの管理画面を開きます
  2. 「ツール|エクスポート」メニューを開きます
  3. 「すべてのコンテンツ」を選択し、「エクスポートファイルをダウンロード」ボタンをクリックし、自分のパソコンに保存します
    投稿、固定ページ、コメント、カスタムフィールド、カテゴリー、タグ、ナビゲーションメニュー、カスタム投稿の情報、が含まれます
  4. お使いのFTPクライアントを起動し、レンタルサーバーのFTPサーバーに接続します
  5. バックアップ対象のファイルを自分のパソコンにダウンロードします
    • plugins
    • themes
    • uploads
    • wp-config.php 設定ファイルなど
  6. お使いのレンタルサーバーに対応したデータベース管理ツールにログインします
  7. WordPressで利用しているテーブル群をエクスポートし、自分のパソコンに保存します
    通常であれば次のテーブルが対象です。

    • wp_commentmeta
    • wp_comments
    • wp_links
    • wp_options
    • wp_postmeta
    • wp_posts
    • wp_terms
    • wp_term_relationshipswp_term_taxonomy
    • wp_usermeta
    • wp_users

※データベースのテーブルについての詳細はデータベース構造 – WordPress Codexでご確認ください
※WordPressインストール時の環境や、追加したプラグインによってバックアップ対象のテーブルは増えます

上記の手順で自分のパソコンに保存したデータが、バックアップデータとなります。

バックアップする毎に別のフォルダーに分けて管理するのが良いでしょう。

自動

プログラムを用いて、あらかじめ定められたタイミングでバックアップを実行する方法です。

自動バックアップには次の3つの種類があります。

  • レンタルサーバーのバックアップ機能を利用する方法
    レンタルサーバーが持つバックアップ機能を用いるため、設定の必要などがありません。
    代わりに、レンタルサーバーによって制限があったり、そもそも提供されていない場合があります。
  • WordPressにバックアップ用のプラグインをインストールする方法
    インストールするプラグインによって様々なカスタマイズが可能ですが、プラグインがWordPressのバージョンに適している必要があります。
  • バックアップ用のスクリプトを作り、サーバーのcron機能によって実行する方法
    最も自由度の高いバックアップ方法ですが、cron機能が提供されているレンタルサーバーであることが条件になるなど、中・上級者向けです。
    WordPressの持つ疑似cron機能を利用することもできます。

3つの選択肢の中で初心者におすすめの方法は、プラグインを利用したものです。
詳細は後述します。

バックアップの頻度

バックアップは一度取れば良いというものではありません。

なぜならば、リストアできるのはバックアップをしたタイミングのみだからです。

バックアップの失敗事例

レンタルサーバーのバックアップ機能を過信したことによる失敗の事例として次のようなものがあります。
レンタルサーバーのバックアップは1世代(最新のもののみ)しかないとします。

  1. バックアップが実行された
  2. WordPressが壊れた
  3. バックアップが実行された(前のバックアップは上書きされる)
  4. リストアした

この例の場合、4番目でリストアされたデータは3番目のバックアップデータであるため、WordPressは壊れた状態であり、元の使える状態とは言えません。

1番目のバックアップデータが必ず必要です。

つまり、バックアップは複数の世代(時間差を持った)を持たすようにすべきなのです。

この世代をどのように取るかというのを「頻度」と呼びます。

世代管理の理想と現実解

バックアップを複数の世代に分けて行う場合、そのタイミングが重要です。

理想と現実とに分ければ次の様になるでしょう。

  • 理想
    • 記事の更新後
    • WordPress本体のアップデートの前後
  • 現実
    • 日に1回~週に1回程度
      Webサイトの更新頻度、規模によって決める

手動でバックアップを行う場合は、その手間の代わりに自分の好きなタイミングで行えば良いでしょう。

自動でバックアップを行う場合は、 Webサイトの更新頻度や規模(容量)などによって決めていきます。
個人や中小企業であれば、毎日更新するような更新頻度でもなければ、週一程度で様子見するのが良いと思います。

バックアップ データはどこに保存するべきか

次に、バックアップデータの保存場所についてのお話です。

自分のパソコンの壊れることを考えてみると、、、

自分のパソコンが壊れた場合を想像してみてください。

もしデータのバックアップが自分のパソコンの中にしかなかったとしましょう。

壊れたのがWindowsやmacOSといったOSであった場合、データのリストアに先んじてOSの再インストールが必要ですし、バックアップデータを消さずにOSをインストールするという少し手間がかかる手順が必要です。

壊れたのがHDDやSSDのような記憶装置だった場合、バックアップデータそのものが破損しているため、リストアすること自体ができない可能性が高いです。

つまり、バックアップデータを本体と同じ場所に置くのは手間やリスクがあるということです。

WordPressに置き換えて考える

パソコンの例をWordPressに置き換えてみます。

この場合、OSに該当するのがWordPress本体であり、パソコンに該当するのがレンタルサーバー(のWebサーバー・データベースサーバーの領域)です。

つまり、バックアップデータを同じレンタルサーバーに保存しておくことは、先のパソコンが壊れた場合と同じリスクを持つと言うことです。

ではバックアップデータをどこの置けば良いのでしょうか。

バックアップデータの保存先は、大きく分けて次の5つがあります。

  • 同じレンタルサーバーの別ディレクトリー
    手軽だが、サーバー自体が壊れると復旧できなくなるリスクがあります。
  • メールにバックアップデータを添付して送信
    手軽だが、データが多いと添付できないサイズになる場合があります。
  • 自分のパソコンへダウンロード
    手動で行わなければならないので手間がかかります。
  • 別のFTPサーバー/WebDAVへアップロード
    あらかじめアカウントの設定が必要ですが、解決手段の一つです。
    ただし、きちんとセキュリティに対応したサービスを利用すべきです。
  • ストレージサービスを利用する
    あらかじめ利用するストレージサービスの設定が必要ですが、おすすめの解決手段です。

    • ストレージサービスの例
      Dropbox、Google Drive、Amazon S3、Microsoft OneDrive、etc…

Webサイト全体で20MB程度の小規模なサイトであれば、メールに添付する方法でも良いでしょう。
ただ、WordPressのデータは整理しなければ増える一方ですから、基本的にはおすすめしません。

後々の設定変更の手間を考えると、最初からストレージサービスを利用するきちんとしたバックアップを行うことをおすすめします。

バックアップを自動化するWordPressのプラグイン

バックアップを行うプラグインはとても多いのですが、次の条件を満たすプラグインとなると意外と数が減ります。

  • 利用者が多いのでネットで情報が得やすい
  • バージョンアップを続けていてWordPressの最新バージョンをサポートする
  • ファイルとデータベースを両方バックアップできる
  • サーバーやWordPressの環境に依存しにくい
  • 定期的に自動でバックアップできる
  • クラウド・外部サーバーにバックアップできる

これらの条件を満たした上で使いやすいプラグインとなると、次の2つに絞られます。
※すべてのプラグインを調べたわけではありませんよ。念のため。

  • BackWPup
  • UpdraftPlus Backup/Restore

ググってみた感想としてはBackWPupの方が解説記事が多そうなのですが、リストアする際にphpMyAdminやFTPクライアントが別途必要になるなど少々手間がかかるため、弊社ではUpdraftPlusをおすすめしています。

以下に、UpdraftPlusでバックアップを実行するための環境作成の手順を示します。

UpdraftPlusプラグインのインストール

UpdraftPlusプラグインをインストールし、有効化する手順です。
通常のプラグインのインストールと同じです。

  1. WordPressの管理画面にログインします
  2. 「プラグイン|新規追加」メニューを開きます
  3. 「プラグインの検索」ボックスに「UpdraftPlus」を入力し、検索結果から「UpdraftPlus WordPress Backup Plugin」の「今すぐインストール」ボタンをクリック、「有効化」ボタンをクリックします

UpdraftPlusのバックアップ設定

どのバックアップ用プラグインもインストールしただけでは意味がありません。
あなたのWordPressの環境に合わせた設定を行い、どのような内容(頻度・対象)でバックアップを行うかの計画を行います。

  1. WordPressの管理画面にログインします
  2. 「設定|UpdraftPlus Backups」メニューを開きます
  3. 「設定」タブを開きます
  4. 「ファイルのバックアップスケジュール」、「データベースバックアップのスケジュール」を適宜設定します
  5. 「保存先を選択」で保存したい外部ストレージを選択し、必要に応じて外部ストレージとの連携設定を行います
  6. 「バックアップするファイル」でバックアップ対象の項目を選択します。除外項目すれば、利用するストレージを節約できます

リストア(復元)の手順

リストアの手順は、バックアップの方法(手動・自動)に関わらず同じように行います。

大まかなリストアの内容は次の3つです。

  1. WordPressをセットアップする
  2. ファイルのリストアを行う
  3. データベースのリストアを行う

もう少し詳細に記述します。

手動バックアップした場合

WordPressをセットアップしたあと、ファイルとデータベースのリストアを行っていきます。

  1. WordPressをセットアップする
    wordpress.orgから新規インストール用にzipファイルをダウンロードし、利用します。
    レンタルサーバーの持つ簡単インストールなどの機能を使っても構いません。
    その際、データベースの情報が変更されないように注意してください。
  2. ファイルのリストアを行う
    1. バックアップしたファイルをFTPクライアントでサーバーにアップロードします。
    2. ファイル、フォルダーのパーミッションを正しく設定します。
    3. WordPressの設定ファイル(/wp-config.php)を上書きしないように注意します。
      saltフレーズなどを書き換えてしまうと一切WordPressにアクセスできなくなってしまいます。
  3. データベースのリストアを行う
    phpMyAdminなどでバックアップしたSQLファイルをインポートします。

自動バックアップした場合

WordPressをセットアップしたあとにバックアップに使用したプラグインをインストールし、そのプラグイン経由でファイルとデータベースのリストアを行います。

  1. WordPressを新規でセットアップする
    wordpress.orgから新規インストール用にzipファイルをダウンロードし、利用します。
    レンタルサーバーの持つ簡単インストールなどの機能を使っても構いません。
    その際、データベースのアカウント情報が変更されないように注意してください。
  2. バックアップ用プラグインのインストールを行う
    WordPressの管理画面から、バックアップに用いたプラグインをインストールします。
  3. リストアする
    プラグインの指定する方法でバックアップしたデータを用いてリストアを実行します。

手動・自動にかかわらず、Webサーバーが変わる、ドメインが変わる場合には、リストアしてはいけないWordPressの設定などがありますので、適宜調整します。

バックアップ/リストアの注意点

  • レンタルサーバーの設定
    リストアする先のレンタルサーバーの設定がバックアップ時と同じであるか確認しましょう
  • WordPressのバージョン
    WordPressはバージョンによってデータベースの構造が変わります。
    リストアする際は、バックアップ時のWordPressのバージョンとマイナーバージョンが2以上ズレないようにしましょう。
    基本的にWordPressは常に最新の状態を保つことが重要と言えます。
  • PHPのバージョン
    PHPのバージョンによってバックアッププラグインが動作しなくなる場合があります。
    バックアッププラグインがサポートしているPHPのバージョンを使うことが大事です。
    ただし、常に最新のバージョンが適切ではない場合もあるので、リストア時の環境に合わせてレンタルサーバーの環境を設定しましょう。
  • PHPの設定
    レンタルサーバーの環境に合わせて個別にチューニングされているPHPの設定が存在することがあります。
    レンタルサーバーによって設定方法が違うため、リストアする際にはそれを加味したPHPの設定変更が必要になる場合があります。
  • MySQL(データベース)のバージョン
    MySQLはバックアップの設定によって、SQLと呼ばれる言語で作られたデータベースの定義・操作用のバックアップデータに保存方法の差が含まれる場合があります。
    その場合はリストア時にSQLの調整を行うか、プラグイン側で設定しましょう。
  • MySQLのアカウント
    レンタルサーバーによっては、データベースを追加か削除かしかできない、つまり今あるデータベースの変更や初期化がサーバーコントロールパネルからできないところがあります。
    その場合は、phpMyAdminなどのMySQL管理ツールを使ってリストアのための前準備をするようにしましょう。
  • MySQLの設定
    レンタルサーバーの環境に合わせて個別にチューニングされているMySQLの設定が存在することがあります。
    レンタルサーバーによって設定方法が違うため、リストアする際にはそれを加味したMySQLの設定変更が必要になる場合があります。
  • タイムアウト時の動作
    WordPressのデータが大きくなると、バックアップの実行時間や利用するメモリ量がレンタルサーバーの制限の上限を超え、途中でキャンセルされる場合があります。
    レンタルサーバー側の設定を変更するか(場合によってはプラン変更になる)、プラグイン側の設定で吸収するようなバックアップ/リストアの計画を立てる必要があります。

これらに挙げたのはすべての注意点ではありません。

環境の違いで通常時・エラー時の動作が変わります。

あなた自身でバックアップの設定を行う場合は、リストアができるかどうか、なるべく早い段階でテストすることを強くおすすめします。

まとめ

以上、WordPressでバックアップする方法とプラグインについてご紹介しました。

先に挙げた注意点を押さえれば、バックアップ自体は決して難しいものではありません。
最も難易度が上がるのはリストア(復旧・復元)するタイミングです。

正直なことを言えば、バックアップデータさえあればリストアするのはWebサーバー・データベース・WordPress・PHPに関する正しい知識と技術があればなんとかなります。

もしあなたがこの記事を読んでなんだか手間だな、と思われたのであれば、バックアップ/リストアを代行するサービスもありますので、一度ご覧になっていただければと思います。

ワードプレス外部バックアップサービス

それでは、安心してあなたの本業に取り組むために、バックアップの設定にトライしてみてください!