WordPressのバックアップや引っ越しにすごい便利だよ!と噂を聞いていたプラグイン「All-in-One WP Migration」を使ってみたんですが、確かに良くできていて感心するほどだったので紹介してみたいと思います。
「All-in-One WP Migration」のインストール
WordPress の管理画面メニューから [プラグイン] → [新規追加] の画面へ移動し、キーワードに「All-in-One WP Migration」と入力します。
All-in-One WP Migration が表示されたら「今すぐインストール」ボタンをクリック、インストールが完了したら「有効化」もクリックします。
特別な設定も無いので、このようにインストールができればもう準備は完了です。
バックアップを取る方法
まず、バックアップを取る方法を説明します。
WordPress の管理画面メニューから [All-in-One WP Migration] → [バックアップ] を選択します。
バックアップ画面が表示されるので、「バックアップを作成」ボタンをクリックします。
エクスポート画面が開いたら、[エクスポート先] を選択して [ファイル] をクリックします。
バックアップファイルの作成が始まり、できあがると次のようなダウンロード画面が表示されます。「DOWNLOAD」をクリックしてバックアップファイルをダウンロードします。
以上で、バックアップファイルの作成は完了です。ボタンを順にクリックしてくだけで簡単にできてしまいますね。
ちなみに、ダウンロードしたバックアップファイルを無くしてしまった・・・という場合でも、[All-in-One WP Migration] → [バックアップ] からバックアップ画面を開けば、これまでバックアップしたファイルの履歴を取得できるようになってますので安心です。
バックアップからリストアする方法
続いて、バックアップファイルからサイトのリストアをする方法です。
WordPress の管理画面メニューから [All-in-One WP Migration] → [インポート] を選択すると下記のインポート画面が開くので、ここにバックアップファイルをドラッグ&ドロップします。
「上書きしてもいいですか?」というメッセージが出るので、「PROCEED」ボタンをクリックして進みます。
次のようなメッセージが出れば、ファイルのインポートが終わりです。
あとは、管理画面メニューの [設定] → [パーマリンク設定] を開いて「更新」ボタンをクリックしてください。
以上でリストアは完了です。バックアップと同じくこちらも簡単ですね!
サイトのサーバ移転をする方法
すでに WordPress で運用中のサイトを別のサーバに移転したい、といった要望はよくある話だと思いますが、All-in-One WP Migration を使ってその引っ越し作業を行う方法です。
まず、All-in-One WP Migration を使用するのが前提なので、移転先のサーバにあらかじめ WordPress 本体および All-in-One WP Migration のインストールまでを済ませておきます。
そして、移転先の WordPress 管理画面で All-in-One WP Migration のインポート画面を開き、バックアップファイルのリストアを行ってください。(操作手順は先ほどリストアの時に説明した内容と同じです)
リストアが完了したら、サイトにアクセスしてみてください。移転したサイトがちゃんと表示されていれば作業完了です!
さて、念のため上記の手順を箇条書きでまとめておきますね。
- 移転元のサーバからバックアップファイルを取得しておく
- 移転先のサーバに WordPress をインストールする
- 移転先のサーバに All-in-One WP Migration をインストールする
- 移転先のサーバでバックアップファイルからリストアをする
- サイトの表示を確認する
他の多くのやり方だと、サーバ移転の時 DB に含まれる URL 文字列を移転前・後に合わせて変換するという一手間かかる作業が発生してしまうんですが、All-in-One WP Migration はそこも自動で処理してくれるようです。賢いですねー。
WP-CLIでもバックアップ&リストアできる
All-in-One WP Migration は標準で WP-CLI との連携にも対応しているので、コマンドラインからバックアップ&リストアを行うといったこともできます。
例えば、バックアップを作成する時のコマンドはこちら。
$ wp ai1wm backup
バックアップファイルを指定してリストアする時のコマンドはこちらです。
$ wp ai1wm restore [バックアップファイル名]
WP-CLI が使えるとなると、cron でバックアップをスケジューリングしたり、別サイトに同期したりということが柔軟にできるようになるので、これまた便利ですねー。
その他、詳細なオプション指定についてはこちらマニュアルページをご覧ください。
注意点
あれこれ使ってみた中で、いくつか気付いたことがあるのでメモしておきます。
ファイルサイズの制限
無料版にはバックアップファイルサイズが 512MB までという制限があり、ファイルサイズがそれを超える場合は $69 の無制限版を購入しないと使えません。
そこそこ大きい規模だったり、たくさん画像を UP しているようなサイトだと、全体のファイルサイズが 512MB くらいすぐ行ってしまうのでその点は注意ですね。
なおバックアップ時の対象ファイルを設定できるので、メディアファイルは外すとかしてバックアップファイルサイズを減らす調整もできますが、それだと対象外にしたファイルは別途バックアップを取る必要が出てきて、せっかくオールインワンで操作できる利便性が損なわれてしまうのがもったいないかなと思います。
独自のテーブルを追加している場合
サイトによってはカスタマイズしている機能の関係で、DB に独自テーブルを追加している場合があるかもしれません。
All-in-One WP Migration は wp-config.php ファイルで定義されているテーブル接頭辞(デフォルトだと「wp_」)が付くテーブルはどれもバックアップしてくれますが、それ以外の名称のテーブルは保存しない挙動になっているようです。
バックアップを取ってたつもりだったのに実は独自テーブルが保存されてなかった・・・という目に合わないよう、独自テーブルを追加する時はテーブル接頭辞を合わせておくとか独自テーブルは別途バックアップを取る、といったことを考慮しておいた方が良いですね。
独自のディレクトリを追加している場合
これも All-in-One WP Migration の仕様になりますが、WordPress 標準構成のディレクトリ下がバックアップ対象になるので、例えばルートディレクトリ直下にカスタマイズ機能のプログラムを格納したサブディレクトリがあったとしても、そのディレクトリは保存されません。
wordpress ├── hoge ←このディレクトリは保存されない ├── wp-admin ├── wp-content └── wp-includes
例えば、下記のように wp-content 以下に作ったディレクトリであれば保存されます。
wordpress ├── wp-admin ├── wp-content │ └── hoge ←このディレクトリは保存される └── wp-includes
前述の独自テーブルと同じように、カスタマイズ機能のファイルを独自のディレクトリ下に作成している場合は気を付けた方が良いかと思います。
おわりに
自分が「All-in-One WP Migration ってオススメですよー」という話を始めに聞いたのは、昨年末の第1回WordBench群馬でのことでした。
それを聞いてからずっと気にはなってましたが、まあこういうプラグイン使わなくてもコマンドラインでバックアップもサイト移転も簡単にできるし・・・とか思って、実はいじるのを後回しにしていたんですよね。
それが先日、とある WordPress サイトを別サーバに移転したいという依頼がありまして、もしかしてこのプラグイン使えばお客様自身で作業できちゃうのでは?と今さらながらに試してみたら、あまりに簡単に使えてしまうことが分かり、実際にお客様に操作説明をするだけでこちらが手を下すこと無くサーバ移転が実現できてしまったんです・・・。
一般ユーザーにとってバックアップやサイト移転といった作業は、知識が必要だったりちょっと敷居高めの作業でしたが、このプラグインを活用することでその壁がかなり解消されるような気がしています。
気になる方はぜひ試してみてくださいねー。