WordPressサブドメイン手動移行|ロリポップからエックスサーバーへ【サーバー移転のみ】
こんにちは。いっきー(@ikirin_web)です。
今回は、ロリポップで運用していたサブドメインをエックスサーバーへ手動で移行した記録です。
メインドメインの移行後、ネームサーバーを切り替え済みの状態でAll-in-One WP Migrationのエクスポートを忘れていたことに気づき、やむなく手動移行になりました。
イレギュラーな経緯ですが、手動移行の手順として参考になると思うので備忘録として残しておきます。
移行元(ロリポップ)での作業
1. データベースをエクスポートする
ロリポップのphpMyAdminへログインし、該当のデーターベースを選択後、「エクスポート」をクリック。

以下の設定でエクスポートします。
- エクスポート方法:簡易(Quick)
- フォーマット:SQL
- エンコーディングへの変換:なし

エクスポートをクリックすると、.sql ファイルがダウンロードされます。
2. FTPでwp-contentフォルダをダウンロードする
FTPクライアント(FileZillaなど)でロリポップに接続し、wp-content フォルダだけをダウンロードします。
補足:wp-content には投稿画像・テーマ・プラグインのデータが入っています。WordPressの中身にあたる部分です。
ダウンロード前に確認すること
- ローカル(自分のPC)の空き容量が十分あるか
- ダウンロード後、wp-content の中にplugins・themes・uploads の3フォルダが全て揃っているか
MacBook Airの空き容量が少なくて、フォルダ内のファイルにアップロード漏れが発生しました。容量確認は必ずやっておくことをおすすめします。
移行先(エックスサーバー)での作業
作業の全体像
大まかな流れはこちらです。
- WordPress簡単インストール
- wp-config.phpのDB情報・$table_prefix をメモ
- wp-contentフォルダをアップロード
- phpMyAdminで既存テーブルを全削除
- SQLをインポート
- wp-config.phpを編集
- プラグイン有効化・パーマリンク再保存(.htaccess更新)
- WordPressアドレスをhttpsに変更
- 動作確認・wp-config.phpの応急処置を解除
1. WordPress簡単インストール
エックスサーバーの管理画面から「WordPress簡単インストール」を使います。
入力が終わったら、「インストールする」をクリックします。
・追加形式:新規インストール
・対象ドメイン:独自ドメイン
・サイトURL:サブドメイン(フォルダ名は空)
・キャッシュ自動削除:ONにする
・データベース:自動でデータベースを生成する
・プラグイン:CloudSecure WP Securityのチェックは外した
ブログ名、ユーザー名、パスワードは自分の好きなものを設定し、「インストールする」をクリック。
エックスサーバーはサブドメイン追加と同時に自動でSSL設定が完了している場合があります。その場合、後述の手順8(https変更)は不要です。
2. wp-config.phpのDB情報と$table_prefixをメモする
次のステップでSQLをインポートしますが、その際にwp-config.phpがロリポップの接続情報で上書きされるリスクがあります。万が一に備えて、エックスサーバーのDB情報を先にメモしておきます。
⬛︎ DB情報は下記をコピペしておく。
define( ‘DB_NAME’, ‘————‘ );
/** Database username */
define( ‘DB_USER’, ‘————‘ );
/** Database password */
define( ‘DB_PASSWORD’, ‘————‘ );
/** Database hostname */
define( ‘DB_HOST’, ‘————‘ );
⬛︎ wp-config.phpの下の方にある
$table_prefix = ‘wp_〜’;
$table_prefix はテーブルの名前につく接頭辞です。ロリポップの場合は wp_ ではなく数字がついた独自の形式になっていることがあります。
3. FTPでwp-contentをエックスサーバーにアップロード
FTPでエックスサーバーに接続し、ロリポップからダウンロードした wp-content を上書きアップロードします。
アップロードしていいのはこれだけ
以下はアップロードしないこと
- wp-config.php → 理由:エックスサーバーのDB情報が消える
- wp-admin・wp-includes・index.php・wp-login.php → 理由:エックスサーバー側で新規生成済み。ロリポップのものを入れるとPHPバージョン差異や500エラーの原因になる
plugins・themes・uploadsが全て揃っているか必ず再確認してからアップロードしてください。
4. phpMyAdminで既存テーブルを全削除する
エックスサーバーの phpMyAdmin にログインします。
手順2でメモしたDB_USER と DB_PASSWORD を使います。
- ユーザー名 →
DB_USER - パスワード →
DB_PASSWORD
ログイン時のユーザー名・パスワードは、ロリポップのphpMyAdminとは別物なので混同しないよう注意。
全テーブルにチェックを入れて「チェックしたものを」→「削除」をクリックします。

以下のクエリを本当に実行しますか?と確認ダイアログが出るので、「はい」をクリックします。
データベースからデータを削除できました。

5. SQLをインポートする
「インポート」タブ →「ファイルを選択」でロリポップからダウンロードしたSQLファイルを選択。

設定値
- フォーマット:SQL
- フォーマット特有のオプション: :NONE
- エンコーディングへの変換:なし

「実行」をクリックしてインポート完了です。

インポート後にテーブル接頭辞が2種類の接頭辞で混在することがあります。ロリポップに古いDBが残っていた場合に起きます。wp-config.phpの$table_prefixを正しい接頭辞に合わせれば解決します。
6. wp-coonfig.php を編集する
6-a. wp-config.php のDB情報と $table_prefix を確認・修正する
インポート後、wp-config.php を開いて2点確認します。
- DB情報がエックスサーバーのものになっているか 手順2でメモした値と一致しているかチェック。
- $table_prefix がインポートしたテーブルと一致しているか phpMyAdmin でテーブル名を確認し、$table_prefix を合わせて書き換えます。
ロリポップのテーブル接頭辞は wp_ ではなく数字付きの形式(例:wp_123abc )になっていることがあります。phpMyAdmin のテーブル一覧を見て確認してください。
6-b. ログインできない場合お応急処置(wp-config.php)
ログインできない・リダイレクトが起きる・URLが誤設定されている、といったトラブルがおきた場合のみ実施します。
wp-config.php の <?php の直後に以下を追記
- define(‘WP_HOME’, ‘https://example.com’);
- define(‘WP_SITEURL’, ‘https://example.com’);
問題が解決したら手順9で必ず削除またはコメントアウトしてください。
7. プラグインの有効化・パーマリンク再保存
以下のURLから管理画面にログインします(独自ドメインに置き換えてください)。
- https://example.com/wp-admin
プラグインを有効化
- テーマでACF(Advanced Custom Fields)を使っている場合は最初に有効化する(有効化前はget_field() エラーが出ます)
- セキュリティ系プラグインは最後に有効化する
パーマリンク再保存
設定 → パーマリンクを開き、何も変えずに「変更を保存」をクリック。これで .htaccess が更新されます。
8. WordPressアドレスを https に変更する
設定 → 一般で、WordPressアドレス(URL)とサイトアドレス(URL)を https// に変更します。
手順の順番
- サーバー側でSSLが有効になっているか確認
- 一度
http://でログイン・動作確認 - その後、設定 → 一般で、
https://〜に変更
すでに https だった場合はそのままでOKです。
9. 動作確認・応急処置の解除
6-bで wp-config.php に追記した方は、WP_HOME と WP_SITEURL の2行を削除またはコメントアウトします。
確認するポイント
- トップページ
- 各記事ページ
- 画像の表示
- フォームの動作
- ログイン
問題なければ移転完了です。本当にお疲れ様でした!!