サーバを変更したい時のやり方を調べると様々な方法がありますよね。
一番シンプルで大胆な方法はネームサーバーを新しいサーバーに切り替えて、データを移行する方法ですが、
この場合SSLを失敗したり、その作業中はサイトが見られないこともあり、あまりおすすめはしない方法です。
ではどういった移転方法がスムーズ化というと、ネームサーバーの切り替えの前に、新しいサーバーにドメインを登録し、SSL化を済ませ、データをインポートしてから望むのが一番キレイにサイト移転ができると思います。
本記事ではそのやり方を解説します。
以下のコンテンツを追加しました。
- ホストの書き換えツール
- サブドメインの場合
- サブディレクトリの場合
- クラウドフレアの設定
All-in-One WP Migrationを使って、SSLのダウンタイム無しでサーバー移転する方法
前述したように、必要な設定を事前に済ませて、から最後にネームサーバーだけ切り替えるので、
切り替え前に移行先の動作を確認できます。ただし、無停止を保証するものではありません。
今回は下記のサービスを利用して説明したいと思います。
- ドメイン管理サービス : お名前.com
- 移行先のサーバー: エックスサーバー
※事前にXserverのサーバー契約が済んでいることを前提とします。
エックスサーバーにログイン。
サーバー管理ボタンを押すとサーバーパネルの画面が表示されます。

サーバーパネルの右上のドメイン設定を押します。
ドメイン設定追加のタブから、登録したいドメイン(運用中のドメイン)を入力します。
無料独自SSLやXアクセラレータ等の設定にはチェックをしません。

追加するボタンを押せば、ドメインの登録が完了です。

SSLの設定をします。
認証にはいくつか方法があります。
- ①エックスサーバーのネームサーバーへ変更
- ②他社サーバーでのWeb認証
- ③他社ネームサーバーでのDNS認証
今回は②他社サーバーでのWeb認証のやり方でSSLの認証をします。
サーバーパネルのドメインの項目にあるSSL設定の項目を選択。

変更ボタンを押した後
2つのトークンファイルをダウンロードしておきます。

ダウンロードしたファイルは、ダウンロードボタンの下に記載されている配置場所のURLにアップロードする必要があります。
- http://example.com/.well-known/acme-challenge/トークンファイル名
- http://www.example.com/.well-known/acme-challenge/トークンファイル名
本来であればFTPを使ってデータをアップロードしますが、今回はWordPressのプラグイン「WP File Manager」を使ってデータをアップロードします。
まず移植元の現在のWordPressの管理画面を開きましょう。
そしてプラグインメニューからFile Managerと検索してインストールします。

有効化した後、管理画面にWP File Managerが表示されますので、画面を開き、
先程のアップロード先にトークンをアップロードしましょう。
- http://example.com/.well-known/acme-challenge/トークンファイル名
- http://www.example.com/.well-known/acme-challenge/トークンファイル名
下記のような階層を作成してファイルをアップロードすればOKです。

先程のエックスサーバーの画面に戻り、ONにするボタンを押しましょう。
失敗する場合、トークン設置URLにアクセスできませんでした。
と表示されます。
配置先のほか、HTTP認証・アクセス制限・リダイレクト・DNS・キャッシュなども確認します。エックスサーバー公式の現在のSSL手順で、認証URLの条件を確認してください。

成功すると確認画面が表示されます。

ここでもONのボタンを押しましょう。
しばらく待つと独自SSL設定が成功しました。

移行先のサーバーのIPを指定して、サイトにアクセスしてみた時に
無効なURLです。
プログラム設定の反映待ちである可能性があります。
しばらく時間をおいて再度アクセスをお試しください。
という表示が出る場合は、SSLの反映を待ちましょう。

まずは新規でWordPressのインストールをインストールしましょう。
エックスサーバーには「WordPress簡単移行」という機能がありますので、こちらを使って他のWordPressサイトのデータを移行することもできます。
ただしセキュリティプラグインやサーバー環境によっては失敗しますので、今回はいつも使っているAll-in-One WP Migrationを使ってサイトのデータを移行します。
サーバーパネルの「WordPress簡単インストール」から、WordPressインストールのタブを選び
インストールに必要な情報を入力しましょう。

確認画面へ進むを押して、インストールボタンを押します。
しばらく待つとインストールが完了しました。

移行元と移行先のPHP・データベースの対応状況を確認します。
PHP 7.4はサポートが終了しています。PHP公式のサポート対象版から、WordPress・テーマ・プラグインに対応する版を選び、移行先で動作を確認します。古いPHPへ戻して公開する手順にはしません。


WordPressをインストールしましたが、ネームサーバーの設定をしていてないので、このままだと新しく作ったサイトは閲覧ができません。
本来ここでパソコンのhostのファイルにIPアドレスを記載して表示することができるのですが、
今回はChromeの拡張機能でIPアドレスを指定して、新しいWordPressサイトにアクセスしてみましょう。
まずはサーバーパネルから左側のメニューにあるサーバー情報を選択。
そこからIPアドレスを調べましょう。

次にhostのファイルにアクセスします。
Windowsの場合
メモ帳アイコンを右クリックをして管理者として実行を選択して開きます。
ファイルメニューから開くを選択して下記のパスで開きます。
C:\Windows\System32\drivers\etc\hosts
開いたファイルの最後に先程調べたIPアドレスとドメインを記載したテキストを挿入します。
192.0.2.10 example.com
192.0.2.10 www.example.com
192.0.2.10 sub.example.com保存すれば、完了です。
Macの場合(ツールを使用)
macのホストの書き換えはviエディタなどを使うので変更が面倒です。
ですので、gasmaskというホスト切り替えツールを使ってIPアドレスを切り替えると便利です。
下記からダウンロードしてアプリをインストールしましょう。
使い方は簡単で、オリジナルのホストを複製して書き換えたいIPアドレスを記述してActivateを押すだけです。
192.0.2.10 example.com
192.0.2.10 www.example.com
192.0.2.10 sub.example.com
Macの場合
アプリケーション > ユーティリティ >ターミナルを開きましょう。
sudo vi /private/etc/hostsと入力してMacのパスワードを入力するとvi エディタが表示されます。
一番したの行に移動してiキー(インサートモード)を押して、先程調べたIPアドレスとドメインを記載したテキストを挿入します。
192.0.2.10 example.com
192.0.2.10 www.example.com
192.0.2.10 sub.example.com保存をします。
ESCキーでInsertモードを抜けて、下記のコマンドを入れて保存しましょう。
:w!
を入力して上書き保存
:q!
を入力してviの画面を終了する。
わからない場合はvi エディタの使い方を調べましょう。
サイトの確認
ここで確認をしてみましょう。
同じブラウザの状態で開くと、キャッシュの関係でIPアドレスで指定したサーバーのサイトが開かない場合があります。
HTTPSのまま確認し、証明書のホスト名・期限・接続先を調べます。証明書警告を無視したり、HTTPで管理画面へログインしたりしないでください。シークレットモードだけでDNSキャッシュが解消するとは限りません。

All-in-One WP Migrationを使ってサイトデータをインポート
登録したドメインにアクセスするとインストールしたばかりの新しいWordPressサイトが表示されるはずです。
https://example.com/wp-admin/そうしましたら管理画面にアクセスします。
あとはAll-in-One WP Migrationのプラグインをインストールして、データをインポートしましょう。
データのインストールが完了したら、ユーザーの設定から管理画面の背景色を変更しておきます。

以上でサイトのデータ移行が完了です。
先程、書き換えたhostsの設定は削除して戻しておきましょう。
あとはネームサーバーを切り替えするだけです。
今回はドメイン管理サービスはお名前.comから切り替えてみます。
お名前.comにログイン後、ネームサーバーの設定の項目から、さらにネームサーバーの設定の項目を選びます。
そして他のネームサーバーの利用タブを選択して、
まずはエックスサーバーのネームサーバーを入力します。
ns1.xserver.jp
ns2.xserver.jp
ns3.xserver.jp
ns4.xserver.jp
ns5.xserver.jp
入力が終えたら確認画面へ進むを押し、設定するボタンを押せばネームサーバーの切り替えが完了です。
数分後に移転先のWordPressの管理画面を確認して、移転先にログインできているか確認しましょう。

切り替え後は複数の回線からHTTPS・ページ・フォーム・メールを確認します。無停止を保証する手順ではありません。
トラブルシューティング
移転に際してのトラブルシューティングを書いておきます。
古いサイトにアクセスしてしまう。
DNS CHECKERなどで調べるとちゃんと移転先のIPアドレスになっているのに、ログインすると古い画面になる場合は、試しにVPN接続してみましょう。
またはAndroidなどの別の端末でサイトをみて見ることもおすすめします。
その際に古いサイトだとわかるようにヘッダーメニューの文言などを変えてみるとチェックしやすいと思います。
他の端末や回線で新しいサイトが表示されているのであれば移行作業は問題ないです。
作業したPCから新しいサイトへログインするのは時間がかかるので待ちましょう。
まとめ
今回のやり方は事前準備に時間がかかりますが、安全にサイトの表示を維持したまま移転ができる方法になります。
ぜひ参考にしてみてください。
ちなみにサーバーを移転した際にドメインのメールの設定(DNSレコードの追加)は必要なので、それぞれ使っているサービス(例えばGoogle Workspace等)があれば、調べて設定しておきましょう。
この記事で紹介しているコードは、GitHubのMOTOKI-LLC/WAZA-codeにもまとめています。
切り替え前の確認と戻し方
hosts例の192.0.2.10は説明用アドレスです。必ず移行先の実際のIPへ置き換えます。hostsは手元の端末だけの変更で、SSL証明書の発行や外部訪問者の接続先は変えません。
移行前にデータベース・アップロード・テーマ・プラグインをバックアップします。注文やフォーム受付など更新が続くサイトは、最終同期と受付停止の時間を決め、旧新両方への書き込みを避けます。移行先のインポートはデータを上書きするため、移行元では実行しません。不具合時は控えておいたDNS設定へ戻し、切り替え後の新規データを確認してから復旧します。旧サーバーは確認が済むまで保持します。



