ロリポップからエックスサーバーへの移管は依頼が多い作業のひとつです。
ただし、すでにhttps化されているサイトの場合、httpサイトとは手順が変わります。
この記事では、httpsサイトの移管時に起きやすい問題と、その対処方法をまとめています。
httpサイトとhttpsサイトで何が違うのか
httpサイトであれば、先にエックスサーバー側でWordPressをインストールし、データを移行してから確認後にネームサーバーを変更する、という順序が取れます。
httpsサイトの場合はそうはいきません。SSL証明書はドメインに紐づいており、ネームサーバーが切り替わっていないとエックスサーバー側でSSLが適用されません。エックスサーバーではネームサーバーを変更しないとWordPressのインストール自体もできないため、先にネームサーバーを変更する必要があります。
対応できる方法は3つ
1. いったんhttpサイトに戻してから移管する
SSL化を解除して、httpの状態で移管を行う方法です。手間がかかる上、一時的にサイトがhttpになるためあまり推奨しません。
2. ネームサーバーを先に変更する
最もシンプルな方法です。ネームサーバーを切り替えてからエックスサーバー側でWordPressをインストールし、データを移行します。切り替わるまでの数時間、サイトが非表示になる点は事前にお客様に説明しておく必要があります。
3. エックスサーバーの有料SSL証明書を購入する
コストがかかるため、特別な理由がない限り選ばない方法です。
実務上は2番の「ネームサーバーを先に変更する」が最もスムーズです。ネームサーバーの切り替わり時間は10分のこともあれば12時間以上かかることもありますが、経験上3〜6時間が多いです。
作業手順
1. 旧サーバー(ロリポップ)でバックアップを取る
UpdraftPlusプラグインでデータベースをエクスポートします。あわせてFTPでサイトデータ一式をローカルにダウンロードしておきます。ダウンロードしたデータから .htaccess と wp-config.php は削除しておきます。
2. ネームサーバーをエックスサーバーに変更する
ドメイン管理会社にログインし、ネームサーバーをエックスサーバーのものに変更します。切り替わるまで待ちます。
3. エックスサーバー側でSSL設定とWordPressインストール
ネームサーバーが切り替わったら、サーバーパネルからSSLを設定します。その後WordPressを新規インストールし、管理画面でサイトアドレスとWordPressアドレスを https に変更します。
4. データを移行する
ダウンロードしておいたデータをFTPでアップロードします。エックスサーバーの public_html を public_html_ などに退避させてから、旧サーバーのデータを public_html として配置します。退避させたフォルダから .htaccess と wp-config.php を移動します。
5. UpdraftPlusで復元する
管理画面からUpdraftPlusを使いバックアップデータを読み込みます。復元後は自動的にログアウトされるので、再ログインしてサイトの表示を確認します。
6. 最終確認
記事、画像、フォームの動作を確認します。鍵マークが出ているか、混在コンテンツ(mixed content)のエラーが出ていないかをチェックします。エラーがある場合はSearch Replaceプラグインで http を https に一括置換します。
注意点
- Search ConsoleとGoogle Analyticsのプロパティは移管後にhttpsのURLで再設定が必要です。お客様自身に設定いただく場合は作業完了時に案内します。
- Contact Form 7などのフォームプラグインは移管後に設定が消えることがあります。事前に設定内容を控えておいてください。
- httpsサイトの移管はタイミングが複雑なため、不安な場合は依頼前に状況を共有してください。

