ローカルのルート直下で作成したWordPressフォルダを、本番サーバのサブディレクトリへアップロードする。
プラグインを使用する方法と、プラグインを使用しない方法の2パターンで試す。
移行環境
移行元 | 移行先 | |
---|---|---|
環境 | ローカル | サーバー |
ディレクトリ | ルート直下 | サブディレクトリ |
サーバー | Local by Flywheel | レンタルサーバー |
MySQL管理ツール | Adminer | phpMyAdmin |
テーブル接頭辞 | wp_ | wp_ |
URL置換 | – | Better Search Replace |
プラグインを使用する方法
ローカルにAll-in-One WP Migrationをインストールする
WordPressプラグインのAll-in-One WP Migration
をローカルにインストールして有効化すると、ダッシュボードの左メニューにAll-in-One WP Migration
が追加されるので子メニューのエクスポート
クリックする。

ローカルのデータをエクスポートする
エクスポート先
をクリックして展開し、ファイル
を選択する。

ダウンロードサイズの計算終了後、ダウンロード
ボタンをクリックしてダウンロードする。

XXXXXXXX-日付-XXXXXXXXXXXXX.wpress
というファイルがダウンロードされる。
本番サーバのサブディレクトリにWordPressをインストールする
WordPress.orgから最新バージョンのWordPressをダウンロードして解凍する。解凍したフォルダは任意のフォルダ名(testなど)に変更後、本番サーバのルート直下にアップロードする。
- public_html
- test
また、データベースを新規作成する。
WordPressを任意のテーブル接頭辞&サブディレクトリにインストールするを参考にして、いったん本番サーバ上にWordPressのインストールを完了させる。
本番WordPressにAll-in-One WP Migrationをインストールする
ローカルで作成したエクスポートファイルを本番サーバへアップロードするため、本番WordPressでもAll-in-One WP Migration
をインストールして有効化する。
本番WordPressへインポートする
本番WordPressのAll-in-One WP Migration
のインポートを表示し、ローカルへエクスポートしたファイルをドラッグ&ドロップでインポートする。

インポート実行前に警告が出るが、開始
をクリックする。

インポートファイルサイズに対し、最大アップロードファイルサイズが足りない場合は、別途プラグインAll-in-One WP Migration File Extension
で拡張も検討する
本番サーバにインポート完了
本番環境にアクセスし、画像が適切に読み込まれているか、リンクが正しく遷移するか、ログインできるかなどを確認する。
ダッシュボードにログイン出来ないときは、ブラウザキャッシュを削除する。それでも解決できないときは、別の方法を試行する。
All-in-One WP Migrationが使用できる環境ならば、こちらのプラグインを使用したほうが安全で手間も少ない。しかし、何らかの理由でAll-in-One WP Migrationを使用できない場合は、手動でデータ移行を実行する。
プラグインを使用しない方法
データの移行にプラグインを使用しない方法を掲載するが、URL置換にはプラグインを使用している。プラグインを使用しない場合は、ローカルのWordPressを本番サーバのサブディレクトリへ移行するを参考に、Search-Replace-DBを使用する。
ローカルのデータベースをエクスポートする
ローカル環境のAdminerにアクセスし、エクスポートするデータベースを選択し、エクスポートをクリックする。

出力を保存
とし、形式をSQL
を指定する。ほかの項目はデフォルトで良い。
本番サーバのサブディレクトリにWordPressをアップロードする
ローカルの作業用WordPressフォルダを複製し、フォルダ名を任意のフォルダ名(testなど)に変更後、本番サーバのルート直下にアップロードする。
- public_html
- test
また、本番上にデータベースを新規作成する。
本番サーバのphpMyAdminへインポートする
本番環境のphpMyAdminへアクセスし、さきほど作成したデータベースをクリックし、インポート
タブを表示する。

インポートするファイル
で、ローカル環境からエクスポートしたファイルを選択し、実行
をクリックする。
テーブル接頭辞がデフォルトのwp_
としてインポートされているのが確認できる。

wp-config.phpを編集してデータベースと接続する
本番のtestフォルダの直下にあるwp-config.phpをダウンロードしてエディターで開く。
データベースの情報を入力する。
/** The name of the database for WordPress */
define('DB_NAME', 'XXXXXX');
/** MySQL database username */
define('DB_USER', 'XXXXXX');
/** MySQL database password */
define('DB_PASSWORD', 'XXXXXX');
/** MySQL hostname */
define('DB_HOST', 'XXXXXX');
また、テーブル接頭辞はデフォルトのwp_のままとする。
$table_prefix = 'wp_';
データベースの情報を入力が完了したら、サーバーへアップロードする。
本番WordPressへアクセスする
本番WordPressのトップページはhttp://XXXXXXXXX/testなので、ブラウザへ入力してアクセスする。
この時点ではCSSが当たらず崩れている。ログインページへ飛ぼうとすると、無効なURLです
と表示され、ログインフォームへ到達できない。

データベースを編集する
データベースのwp_optionsテーブルを表示し、siteurlとhomeを適切な値に変更する。
siteurl | http://XXXXXX/test |
---|---|
home | http://XXXXXX/test |
どちらも入力時に末尾にスラッシュを付けない
TOPページの表示が正常になり、管理画面にログインできるようになる。
Better Search Replaceで置換する
リンクや画像パスがローカルサイトを参照しているので、本番のパスへ置換する。置換にはプラグインBetter Search Replace
を使用する。
Better Search Replaceをインストールして有効化すると、左メニューのツールの中にBetter Search Replaceが
出現するのでクリックする。
置換元
と置換先
を入力し、すべてのテーブルを選択し、まずRun as dry run
にチェック入れて検索/置換の実行
クリックして、事前検証を行う。

問題ないようであれば、Run as dry run
のチェックを外して、検索/置換の実行
をクリックする。
ローカルのルート直下から本番サーバのサブディレクトリへ移行完了
画像やリンクの読み込み元が適正化されるが、キャッシュが残っていると適正化されないことがあるため、キャッシュの削除を行い、表示を確認する。また管理画面へのログインも可能かどうか確認する。