WordPressを運営していると面倒な作業の一つに、バックアップとその復元がある。
「サーバー移転のためデータの移行が必要」、「WordPressが乗っ取られ、復元しなければならない」、「不具合が出てWordPress本体を再インストールしなければならない」など頻繁ではないが誰にも起こりうる事である。
その方法を調べてみるとプラグインによるものが多く、それがシンプルなように見えて実は制限があるなど、必ずしもシンプルではない。
今回主にWordPressの初心者向けに、プラグインを使わず確実で簡単な方法をサーバーの移転作業を通して解説する。
はじめに
これから説明するバックアップと復元の方法は、WEB制作者やテーマやプラグインの制作者らにとっては特別な方法ではなく普段からよく利用している基本の方法である。WordPressでWEBサイトを制作する際にローカル環境(PC)で制作し、完成後サーバーにアップする方法が一般的で、初心者がよくやるような、初めからサーバーにWordPressを設置し、その後そのWordPressを設定してゆく方法はとらない。そのような初心者にとっては、WordPressのダッシュボードにアクセスして様々な設定をする事は問題なく出来ても、サーバーにアクセスしWordPressのデータそのものを扱う事はほぼないため、その作業は意外と敷居が高い。
多くはプラグイン使用を勧めているが……
プラグインを使用した方法が初心者には一番簡単なように見えるが、実際に使ってみると逆に分かりにくく簡単には復元できないことがある。バックアップと復元で有名なのは以下の2つのプラグインだろう。
All-in-One WP Migrationの場合
このプラグインの場合、データをバックアップする元のWordPressにこのプラグインをインストールするのはもちろん、データを移行する相手側のWordPressにもインストールしなければ利用できない。
また一番の欠点は、無料版では512MBまでというデータ容量の制限があること。WordPressの複数運営など、仕事として頻繁にWordPressの移行作業をしている人にとっては、コントロールパネルから一発で保存→移行できるのは、有料版を使ってでも便利なのかもしれないが、数年に1度あるかないかレベルのWordPress運営者にとっては無料で作業を行いたいところである。
Duplicatorの場合
このプラグインは容量制限なし。All-in-One WP Migrationよりは使いやすいように思う。しかし、Duplicatorに限らずトラブルが起きた場合の事を想定して、バックアップを取っておくことが推奨されている。
バックアップ用プラグインを使い移行作業をする場合、失敗した時のことを考慮しデータをバックアップする作業は本末転倒だろう。
以上がプラグインを使わない方がシンプルな理由である。通常の運用であればプラグインは使わない方がいい。
手順1 WordPressデータのバックアップ
1-WordPressサイト・データのバックアップ
バックアップの作業に入る前に必ず、WordPressのヴァージョンを最新版にアップデート(更新)しておく。出来ない場合は、現状のヴァージョンを覚えておく。WordPressのヴァージョンが元と移転先で異なると不具合が起こる可能性が高いからだ。
FFFTPやFileZillaなどのFTPクライアントで、サーバー内のWordPressに関するサイト・データをすべてデスクトップなどにフォルダを作りダウンロードする。
WordPressのサイト・データ全体のデータ容量はそれほどではないが、ファイル数が多い為、ダウンロードに時間がかかる。30分以上かかるのは普通である。
2-WordPressデータベースのバックアップ
データベースのバックアップを取る前に、以下データベースのログイン情報を確認しておく。phpMyAdminにログインする際に必要だ。
- 接続サーバー名(ホスト名):(多くは“localhost”)
- データベース名
- ユーザー名
- パスワード
データベースのバックアップと復元は、今回多くのサーバーで利用されているphpMyAdminを使用する。レンタルサーバーのデータベースにログインし、コントロールパネルなどからphpMyAdminを開く。
左のリストからバックアップを取るWordPressのデータベース名(赤枠内)をクリックし、上部タブからエクスポートを選択する。
Export methodは、「簡易」ではなく「詳細」を選択。
そして生成オプションの追加コマンドでDROP TABLE / VIEW / PROCEDURE / FUNCTION /EVENT / TRIGGER コマンドを追加するを選択する。これはインポート先にすでにデータが存在する場合、その既存データを削除した後、インポートの指示をするコマンドだ。インポート先が空の場合は必要ないが、分からない場合は選択しておけば間違いない。
その他に多くのチェック項目があるが、デフォルトのままで良い。
そして一番下にある実行をクリックすれば、データベース名の付いた、拡張子sqlのデータベース・ファイルがダウンロードされる。
WordPressのデータは、以上のサイト・データとデータベースが全てである。
ここまでのデータ・バックアップでは特に難しい事はないだろう。
手順2 移転先サーバーの準備
1-移転先サーバーへWordPressの新規インストール
バックアップしたデータをそのまま移転先サーバーにアップロードする事が多いが、今回は移転先にWordPressを新規インストールする事から始める。元のWordPressにエラーが起きた場合、この方法を実行するとエラーが解消する事がある。
WordPress公式サイトから最新のWordPressパッケージをダウンロードし解凍する。
解凍したフォルダ(wordpress-5.5.3-jaのようなフォルダ名)の全てのフォルダとファイルをFTPクライアントで、移転先のサーバーに接続しコピーする。
コピー完了後、まだセットアップはせずそのまま次へ。
また、多くのレンタルサーバーでは、わざわざWordPressのデータをダウンロードしてからコピーなどせずに、レンタルサーバーのコントロール・パネルからWordPressを簡単にインストールできるサービスがあるがこれは使わない。
このサービスでは英語版のWordPressがインストールされる事があり、当然ながらWordPress内のファイルは全て英語で記述されている。記述内容がよく分からないない場合は、公式サイトから日本語版WordPressをダウンロードしてコピーする方が分かりやすい。また後述するように、データベースの設定は別に行うためでもある。
2-MySQLへのデータベース作成
移転先のレンタルサーバーにMySQLの新規データベースを作成する。データベース名は何でも良い。
ここで新規に作成したデータベースの情報を確認しておく。バックアップ時に確認した元サーバーのデータベース情報と間違わないようにする。
- 接続サーバー名(ホスト名):(多くは“localhost”)
- データベース名
- ユーザー名
- パスワード
3-移転先のドメイン設定
サーバーの移転なので、WEBサイトのドメインが例えばbluetraff.comであれば、当然移転先のドメインも最終的にbluetraff.comにしなければならないが、とりあえずWordPressのデータが移転され、正常に表示される事を確認してからドメインの移行作業をする。WordPressの移転作業が上手く行かなかった場合、どちらのWEBサイトも表示されない事を防ぐためである。
移転先のWordPressが正常に設置されたかを確かめるために、レンタルサーバーに元々あるドメインを使用したURLを仮に使用するので事前に確認しておく。多くは https://レンタルサーバー名.com/ユーザー名/設置したディレクトリ名 等の長いURLになる。
手順3 元のWordPressデータを復元
1-データベースのデータを復元
手順1-2で作成した拡張子sqlのデータベース・ファイルをphpMyAdminからインポートする。
上のタブからインポートを選び、ファイルを選択をクリックし拡張子sqlのデータベースファイルを選択し、最下部の実行ボタンを押せば読み込み完了。
2-WordPressサイト・データを復元
バックアップしたWordPressサイト・データは全て上書きするのではなく、必要最低限のデータのみ新規コピーしたWordPressに上書きする。
具体的には wp-admin、wp-content、wp-includes 3つのフォルダを移転先のWordPressサイト・データの同名フォルダに上書きし置き換える。心配であれば移転先WordPressサイト・データをバックアップしておいても良いが、これは何も変更を加えていないWordPressサイト・データであるため、もし失敗した場合でも、再度公式サイトからダウンロードしたWordPressサイト・データをコピーすれば良いだけなのでバックアップの必要はないだろう。
3-データベースの設定(wp-config.phpの設定)
新規にWordPressをコピーした移転先のWordPressサイト・データ・フォルダの中には、バックアップファイルの中にあるwp-config.phpファイルがない。似たようなファイル名のwp-config-sample.phpはあるのみ。wp-config.phpには、データベースの情報(接続サーバー名、データベース名、ユーザー名、パスワード)が記述してあり、この情報を元にWordPressはサイト・データとデータベースを結びつけている。
wp-config-sample.phpをテキスト・エディタなどで開いてみると分かるが、ここに手順2-2で確認したデータベースの情報を書き込み、ファイル名をwp-config.phpに変更し、サーバーにアップする方法が一般的である(WordPress公式サイト:wp-config.php の編集)。
しかし、ここで記述ミスする事が多く、エラーで画面が表示されない場合があるため、テキスト・エディタを使わず簡単な方法でデータベースの情報を登録してみる。
手順2-1で例えば/public_html/bluetraffにWordPressのサイト・データをコピーしたとする。レンタルサーバー会社で決められたドメインがhttps://レンタルサーバー名.com/ユーザー名であれば、復元したWordPressのURLは、https://レンタルサーバー名.com/ユーザー名/bluetraffとなるので、ブラウザーでこのURLにアクセスすると、以下のようなWordPressの初期画面が表示されるはずである。
(この部分のURLは利用しているレンタルサーバー会社により様々なので、分からない場合はレンタルサーバー会社に問い合わせる)。
さあ、始めましょう!をクリックし、
次の画面で手順2-2で設定した移転先データベースの情報を入力する。送信をクリックすると自動的にサーバー上にwp-config.phpが作成される。
ここまでの作業でとりあえず、例えばhttps://レンタルサーバー名.com/ユーザー名/bluetraffにアクセスするとトップページは表示される。しかし、メニューなどのリンクをクリックすると移転元のWEBサイトに戻ってしまう。また、https://レンタルサーバー名.com/ユーザー名/bluetraff/wp-login.phpにアクセスするとログイン画面は表示されるが、ログインすると移転元WordPressのダッシュボードにリダイレクトされてしまう。
これを修正するために、再びFTPクライアントでサーバーにアクセスしWordPressフォルダの中身を見ると、先程設定したwp-config.phpファイルが生成されているので、これをPCにダウンロードする。
ダウンロードしたwp-config.phpをテキスト・エディタなどで開き下記の赤枠の内容を追加する。
上の画像で、https://bluetraff.com/webの部分は復元したWordPressのURL(例:https://レンタルサーバー名.com/ユーザー名/bluetraff)を記入する。これを保存し、再びFTPクライアントでサーバーにアスセスして既存のwp-config.phpを上書きする事により、移転先のWordPressのダッシュボードにアクセスできるようになる。
4-その他の設定
ダッシュボードにアクセスできるようになったら、最初にやる事は、設定>表示設定から検索エンジンがサイトをインデックスしないようにするにチェックを入れる。
これは現段階では移転元と移転先のURLは別だが、同一内容のWEBサイトが存在する事になるためである。
次にメニューなどのリンクを修正する。設定>パーマリンク設定画面を開き、復元したWordPressのURL(例:https://レンタルサーバー名.com/ユーザー名/bluetraff)を確認する。ここは手順3-3のwp-config.phpで追加した記述が入力されていれば問題ない。何も変更はないが変更を保存をクリックすることで、全てのリンクが自動で生成される。
ここまでの作業で通常WordPressのサーバー移転作業は完了だ。
実際にブラウザで表示し内容を確認後、問題がないようであれば、
- レンタルサーバーのドメイン名を移転
- 手順3-3のwp-config.phpの記述を正規URLに再変更
- 手順3-4の検索エンジンがサイトをインデックスしないようにするからチェックを外す
- 手順3-4の設定>パーマリンク設定のURLを確認し、何も変更がなくても変更を保存をクリック
以上でWordPressのサーバー移転作業は全て終了。
お疲れさまでした。
今までのサーバー移転の経験上、この作業だけでは不十分な場合が何件かあった。
テーマがデフォルトのTwenty Twenty-Oneなどに変更されている
「外観>テーマ」を再選択する事で解消
メニューのリンクが元のWEBサイトを参照したまま
理由が分からず、そのまま一晩放置していたら翌朝正常に修正されていた。リンクの生成に時間が掛かっていた模様