Wordpressのバックアップと復元プラグインについて

#はじめに
Wordpressで作ったサイト運営していると、を移設などでバックアップを取りたいことがあるかと思います。
そんな時、役立つよう（自分用にも）備忘録としてもまとめたいと思います。


#Wordpressの構造とバックアップ用プラグイン
まず、ウェブサーバーにはWordPressのシステムファイルや、テーマ、画像データが格納されています。
しかし、WordPressの細かい設定や、記事本文については、DBサーバーに格納されています。
よって、WordPressにおいてバックアップを取るには、ウェブサーバー内のデータと、DBサーバー内のデータの両方をバックアップする必要があることがわかります。
これは一般的なサイトと同様ですが、プラグインを使うとバックアップや復元が便利になるので紹介したいと思います。


#基本的なバックアップ方法
ウェブサーバー内のデータと、DBサーバー内のデータそれぞれ片方のみ必要な場合もあるので
まずは手動でそれぞれのバックアップをとる方法ついて見ていきます。

１．ウェブサーバーのバックアップ
WordPressのシステムファイルや、画像データーが格納されているウェブサーバーのバックアップ方法です。

サーバーにFTP接続を行い、WordPresを設置しているディレクトリを、丸ごとローカルに保存します。
どうしても心配な場合はドメインのルートディレクトリをすべて選択し、ローカルに保存すれば当然漏れはありません。
（しかし、そもそもWordPressは比較的容量の大きいシステムなので、結構時間がかかります。）


２．DBのバックアップ
お使いのサーバーにて、phpMyAdminより、データベースにログインしてください。
（万一忘れた場合、wp-config.phpにFTP接続でアクセスすれば、データベースのURL、ユーザー名、パスワードを確認できるはず。）
phpMyAdminにログインしたら、左のサイドバーから、該当するデータベースのデータベース名を選択し、
「エクスポート」をクリック。
エクスポート方法の項目で、「詳細-可能なオプションをすべて表示」をクリックします。

オプションの一覧が表示されるので、

生成オプションの項目で、「DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT コマンドを追加する」にチェックを入れます。
![wordpress-backup_img12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/482202/d1d45763-f0a7-c57e-fba6-94777b641621.png)


それ以外の部分についてはデフォルトにしておきます。
一番下「実行」をクリックすれば、自動でデータベースのバックアップファイルがダウンロードされます。
これで、WordPressのDBのバックアップが完了です。



#プラグインを使ったバックアップの復元方法

ここからが本題です。プラグインを使って簡単にバックアップを取り、復元する方法を紹介してきます。

①プラグインのインストール
今回はプラグイン「All-in-One WP Migration」を使ってみます。左のリンクよりダウンロードします。→[All-in-One WP Migration](https://ja.wordpress.org/plugins/all-in-one-wp-migration/)
wp-content/pluginsディレクトリにインストールした後、管理画面から有効化してください。WordPressの管理画面からプラグイン名「All-in-One WP Migration」で検索してインストールも当然可能です。



②バックアップをとる
WordPressバックアップ
プラグインをインストールしたら、ダッシュボード左メニュー【All-in-One WP Migration】→【エクスポート】に移動し、「高度なオプション」から不要なデータにチェックを入れて、「エクスポート先」を選択するだけです。
![allinone_wp_migration1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/482202/398ea652-7354-a892-36fd-e35734987f28.jpeg)


すると、バックアップが勝手に始まりますので、ダウンロードしたら作業は完了です。通常、10秒前後で簡単にバックアップ完了します。
![allinone_wp_migration2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/482202/2456f6e8-c384-bb62-07f4-e1e467443695.jpeg)



なお、エクスポート先は現在のところ、ファイル、FTP、DROPBOX、GOOGLE DRIVE、AMAZON S3、BACKBLAZE B2、ONEDRIVE、BOX、MEGA、DIGITALOCEAN、GOOGLE CLOUD、AZURE STORAGE、AMAZON GLACIER、PCLOUD、WEBDAV、S3 CLIENTが選択可能です。特に指定がなければ「ファイル」を選択しておきましょう。

また、「高度なオプション」でバックアップを取る必要のないデータを選択できますが、こちらも特に指定がなければチェックを入れず、全データのバックアップをとっておくと安心です。

③復元してみる
バックアップをとったデータが実際に復元に使えるのかどうかもチェックは必要です。まず、プラグインの仕様として、バックアップを取ったWordPressサイトと復元先のWordPressサイトの両方にプラグインをインストールしておく必要があります。それゆえ、復元先が別のWordPressサイトの場合は双方に「All-in-One WP Migration」を忘れずインストールしておきましょう。


ダッシュボード左メニュー【All-in-One WP Migration】→【インポート】に移動し、「インポート元」からファイルを選択すれば復元が自動で開始されます。
![allinone_wp_migration3.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/482202/fdb720ff-58a6-df13-0a58-5302ecc66826.jpeg)


以上で完了！忘れず復元されているかサイトを確認してみましょう。


#プラグインを使ったバックアップの自動化について

さらに、バックアップはプラグインで自動化できます。
有名どころのBackWPupといいうプラグインであれば、毎日指定した時間に、FTP接続できるサーバーに対してバックアップデーターの送信ができます。
もちろん、現在利用している同じサーバー内にもバックアップファイルの作成ができます。
サイバー攻撃でウェブサーバーが攻撃されるリスクを考えて、外部に別サーバーを設置して行うとリスクを回避できます。

この場合、日常的に利用しているサーバー以外に別途ファイル置き場専用のサーバが必要になり、ランニングコストは当然上がります。


このプラグインでバックアップを取る場合、復元は上記のAll-in-One WP Migrationとは違って手動で戻す必要があるので注意が必要です。

プラグインページ↓
[BackWPup](https://ja.wordpress.org/plugins/backwpup/)
参考：[3分でわかる！WordPressプラグインBackWPupでバックアップを取る方法]
(https://freesworder.net/wordpress-backwpup/)