BLOG

phpMyAdminとFTPでWordPressの環境を移行する方法まとめ

こんにちは、なごみ(@nagomixxxx)です。
最近WordPressのテーマ作成のお仕事をいただけるようになって、ローカルの作業環境から本番サーバーやテストサーバーへのデータ移行作業をすることが多くなりました。

データの移行はAll-in-One WP Migrationのようなプラグインを使用すれば簡単に行うことができますが、いざというバックアップデータから時にデータを復旧しなければならなかったり、入れたプラグインの影響でエラーを起こしてしまうこともあるため、今回はプラグインばかりに頼らず

  • phpMyAdminからエクスポートしたデータベース
  • FTPで落としてきたWordPressデータ

この2つを使って別の環境にWordPressのデータをまるっと複製する方法をまとめました。

ちなみに今回の複製というのは、ユーザー名やパスワードなど、URL以外のすべてのデータや設定をそのまま引き継ぐことを指します。
もし移行先にすでにインストールされたWordPress環境があり、既存の環境を踏襲しなければならない場合は、トラブル防止のためにWordPress内のエクスポート・インポートツールなどを使用するなど、他の対応を考えたほうが良いと思います。

1.移行前のサーバーのデータベースをバックアップ

移行前のサーバーのphpMyAdminにログインし、サイドバーから使用しているデータベース名をクリック。データベース一覧の「Export」タブよりエクスポートを行います。

エクスポート方法:「詳細」にチェックを入れ、エクスポートオプションを表示します。

他のオプションはデフォルトで問題ないですが、生成オプションにて「DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT / TRIGGER コマンドを追加する」にチェックを入れると、インポート先に重複したデータベースが存在していた場合に上書きしてくれます。

ファイル形式について

移行先のphpMyAdminのインポート画面より、インポートするファイルの形式を確認しておきましょう。
私は今回ローカル環境(MAMP)に複製を行いましたがphpMyAdminにはzip形式でアップロードしてね!とあったためzip形式でエクスポートします。

画面最下部の「実行」ボタンでデータベースがzip形式でエクスポートされました。

2.FTPソフトでWordPressの全データをダウンロード

お次はWordPressそのもののデータをバックアップです。
今回はWordPressがインストールされているフォルダすべてFTPでダウンロードしましたが、ものすごく時間がかかるので

  • wp-content/wp_themes
  • wp-content/wp_plugin
  • wp-content/wp_content
  • /wp-config.php

多分これだけでも複製は可能です。復旧データにもなるので、定期的にバックアップは取っておきます。

3.移行先のサーバーのphpMyAdminからデータベースをインポート

移行先サーバー(今回はMAMPで作ったローカル環境)に1でエクスポートしたデータベースをインポートします。
同じくphpmyAdminでログイン、新しい空のデータベースを作成し、インポートを行います。

こんな感じで緑色のメッセージが出たら完了です。
サイドバーに先程エクスポートしたデータが入ってますね。

4.2でダウンロードしたwp_config.phpの編集

FTPソフトでダウンロードしたWordPressのデータ内にある、wp_config.phpファイルを編集します。
ここにはWordPressをインストールした際に登録したデータベース名やユーザ名等の情報が載っていますので、移行先のデータベース名やユーザー名、パスワード、ホスト名に書き換えていきます。

5.WordPressファイル一式をアップロード

4で作成したwp_config.phpを含むWordPressファイル一式を移行先のサーバーへアップロードします。

6.phpMyAdminからWordPressアドレスとサイトURLを変更する

もしサーバーの載せ替えなどで、URLに変更がない場合はこの手順は必要ないかもしれません。しかしドメインの変更を行った場合、移行前に運用していたWordPressにはWordPressアドレス(設定ファイルの場所を示すURL)とサイトURL(サイトを表示するためのURL)の設定が残ってしまっていますので、直接アクセスしてもページを開くことができません。

移行後の環境でWordPressを表示させるには、データベースから直接WordPressアドレスとサイトURLに設定しているURLを書き換える必要があります。

インポートしたデータベースの「wp_options」の項目内に「siteurl」と「home」という項目があります。ここに移行前のURLが残ってしまっているため、サイトが表示できなくなっています。ここを移行後のURLに書き換えます。

これで移行後のURLでアクセスしてみると、ちゃんと表示されるようになりました。

注意

  • この手順で表示できない場合は、.htacessファイルにSSLのリダイレクト設定が残っていないか確認してみてください。
    もし移行後の環境がSSL設定を行っていない場合、自動的に存在しないhttps環境へリダイレクトされてしまうため、ページが表示されません。
  • リンクがつながっていない場合は、管理画面のパーマリンク設定の更新ボタンを押すと解決する場合があります。

7.Better Search Replaceプラグインを使用してサイト内のURLを一括置換

最後にサイト内に残っている移行前のURLをプラグインを使って一括置換します。特に投稿のサイト内リンクでURLが残ってしまっている場合が多いです。

プラグイン「Better Search Replace」をインストール・有効化し、移行前のURLを検索、置換を行います。
詳しい操作方法については他のブログで紹介しているのでそちらを参考にしてください。

まとめ

これでひとまずWordPressの環境をまるっと移行することができました。

サーバー載せ替え、ドメイン変更、テストアップ、その他色々、、サイトは作るだけじゃなくてアップして初めて作業完了(そして運用のスタート)なので、その時々の状況に応じたアップの方法をローカル環境や自分で持っているサーバーで試すことが本当に大事だと思います。

本番リリース作業の練習、事前の検証はとっても大事です。
一発本番はやめましょうね(自戒を込めて)

以上、phpMyAdminとFTPでWordPressの環境を移行する方法まとめでした。