2020年現在、WordPressを利用するレンタルサーバーにおいて、
エックスサーバー(Xserver)一択の時代になってきましたね。
これから新規にWordPress用にレンタルサーバーを借りる場合は、
エックスサーバー(Xserver)を選択しておけば間違いないです。
もうすでにエックスサーバー以外のレンタルサーバーを使っていらっしゃる方は、
エックスサーバーへの移行をお勧めします。
WordPressのブログをエックスサーバー以外のレンタルサーバーから、
エックスサーバーへ移行するのは、プラグインを使えばとても簡単に実現できます。
難しいのは、エックスサーバーからエックスサーバーへの移行です。
しかも常時SSLサイトをダウンタイムなしで移行したい場合です。
Contents
エックスサーバーからエックスサーバーへWordPressを移行する
そもそもですが、普通にレンタルサーバーを使っている場合、
エックスサーバーからエックスサーバーへの移行をする機会がないかもしれません。
私は現在、本ブログ以外に8サイトを運営しており、
全てエックスサーバーで運営をしているのですが、
いろいろな経緯があって、エックスサーバーのアカウントを3つ保持しています。
自分で契約したものと、知り合いから譲り受けたものです。
そのうち1つのレンタル期限が切れそうなので、アカウントを1つ減らそうと考えております。
そういったときに、エックスサーバー上で動いているWordPressを別のエックスサーバー上へ移行する必要が出てくるのです。
エックスサーバー間の移行が難しい理由
それはエックスサーバーの制約で、
1つのドメインを複数のエックスサーバー上に設定することができない
ためです。
通常は、移行元と移行先でレンタルサーバー会社が異なります。
例えば、ロリポップからエックスサーバーへ移行する際は、
takapublog.comというドメインをロリポップとエックスサーバーの両方に一時的に同時に存在させることが可能です。
しかしエックスサーバーからエックスサーバーへ移行する場合は、
エックスサーバーのサーバーAとサーバーBのどちらかにしか、
takapublog.comというドメインを存在させることができないのです。
つまり、サーバーAで運用しているWordPressをサーバーBに移行するには、
いったんサーバーA上から削除してから、サーバーB上にアップロードしなければなりません。
サーバーB上にアップロードしても、ネームサーバーの設定が反映されるまでに半日~数日かかりますので、
その間はサイトに安定的にアクセスできなくなり、SEO的にもマイナスですし、
せっかく見に来てくださるお客様にもマイナスです。
ダウンタイムなしで移行するのが難易度高い
別にダウンタイムありで移行するのであれば苦労することはありません。
ただ、私は半日でもダウンタイムが発生するのは気に食わないので、
エックスサーバー間の移行であってもダウンタイムなしで実施したいと考えております。
上記で述べた通り、1つのドメインを複数のエックスサーバー上に設定することができないので、
裏を返せば、別のレンタルサーバーを介して移行をすれば、
ダウンタイムなしで移行することができます。
多少面倒ではありますが、ダウンタイムを発生させたくないのであれば、
こうするよりほかにありません。
別のレンタルサーバーをすでに持っている方は問題ないと思いますが、
持っていない方は無料期間があるレンタルサーバーを借りて、
無料期間内で移行を完了させるのがおすすめです。
またその際のポイントとして、無料の証明書を利用した常時SSL化サイトの場合は、
そのレンタルサーバーがSSLの持ち込みに対応しているかも重要です。
無料SSLのサーバー移転時の注意点
レンタルサーバーによっては、無料のSSLを発行する際に、
ドメイン認証にしか対応していない場合あります。
その場合、ネームサーバーの切り替えを行った後でなければ、
SSLの認証ができないという状況に陥りますので、
ネームサーバーの設定が切り替わるまでの半日~数日の間、
httpsで安定したアクセスをすることができず、結局ダウンタイムが発生してしまいます。
そのため、レンタルサーバーがSSLの持ち込みに対応しているか?
を確認したほうがいいです。
SSLの持ち込みに対応しているのであれば、
ネームサーバーを切り替える前に移行先のWordPressにて、
SSLの認証を行うことができます。
これにより、旧サイトが生きている状態で、新サイトもSSL対応で構築することができ、
あとはネームサーバーを切り替えれば、順次新サーバーのほうへアクセスが切り替わっていき、ダウンタイムなしで移行することが可能となります。
エックスサーバー間の移行をダウンタイムなしで行う具体的な方法
では実際にエックスサーバーからエックスサーバーへダウンタイムなしで移行をしていきましょう。
大まかな手順は以下になります。
- 移行先サーバーにドメインを登録する
- 移行先サーバーに証明書をインストールする
- 移行元サーバーでサイトデータをエクスポートする
- 移行先サーバーにサイトデータをインポートする
- ネームサーバーを切り替える
私の場合は、エックスサーバーの他にさくらサーバーを契約しているので、
移行元サーバー:エックスサーバー①
移行先サーバー:さくらサーバー
で上記の手順で1回目の移行を実施して、
2回目は逆に
移行元サーバー:さくらサーバー
移行先サーバー:エックスサーバー②
と上記の手順で移行することで、エックスサーバー①からエックスサーバー②へ移行します。
では順番に説明していこうと思います。
①移行先サーバーにドメインを登録する
これは説明するまでもないですね。
さくらサーバーの管理画面にログインして、
現在エックスサーバー①で稼働しているサイトのドメインを登録します。
②移行先サーバーに証明書をインストールする
私のサイトは常時SSL化サイトですので、
移行先のさくらサーバーにSSL証明書のインストールを事前に行います。
これによりダウンタイムなしで移行することができます。
SSLの証明書はいろいろと種類がありますが、
使い勝手がよく無料の「Let’s Encrypt」を利用します。
Let’s Encryptは下記の神サイトでブラウザ上から簡単に発行できます。
このサイトの仕組みや使い方はQiitaに書かれていましたので、
こちらを読んでみてください。
Let’s Encrypt の証明書をブラウザ上で簡単取得 (dns-01 / ECDSA もあるよ)
実際使い方の説明を読まなくても手順通り実施するだけで
SSLの証明書を発行することができました。
さくらサーバーでの登録方法
さくらサーバーでの証明書の登録方法について解説しておきます。
まずドメインは登録済みの前提で、
「ドメイン/SSL」をクリックすると、
今回の対象のドメインの横に「SSL」というボタンがあるので、それをクリックします。
するとSSL証明書登録の画面になりますので、「登録設定を始める」をクリックします。
下に有料の文字が出てきますが、気にしなくて大丈夫です。
次に下記のような選択肢が出てきますが、
一番上のLet’s Encrypt(無料SSL)は選択しないように。
4つめの「独自SSL」を選択します。
するとSSLの秘密鍵や証明書を登録する画面になります。
「秘密鍵」については、SSLなう!で「サーバで使用する SSL 秘密鍵」の欄に記載されている文字列を登録します。
「CSRの作成(任意)」はスキップで大丈夫です。
「SSL証明書インストール」については、SSLなう!で「fullchain.pem (サーバ証明書 + 中間証明書)」の欄に記載されている文字列を登録します。
これで証明書のインストールは完了です。
最後にまた最初の「ドメイン/SSL」画面の今回の対象のドメインの横に「設定」というボタンがあるので、それをクリックします。
そして「基本設定」→「SSLの利用」という項目がありますので、
そこを「SNI SSLを利用する」と指定すればOKです。
これで移行先サーバーのSSL証明書の設定が完了です。
対象のドメインのSSLの部分でSNI SSLという文字列と有効期限が記載されると思います。
③移行元サーバーでサイトデータをエクスポートする
エックスサーバー①にてサイトデータをエクスポートします。
このやり方はいろんなサイトに説明がのっているので、
詳細な説明は割愛しますが、
「All-in-One WP Migration」というWordPressのプラグインを利用すれば、
面倒な作業なしで、ボタンをポチポチするだけでエクスポートできます。
一つ注意するとすれば、事前に無駄なバックアップファイルなどは削除しておいたほうがいいです。
バックアップファイル含めて移行されてしまうので。。。
またエクスポートしたファイルのサイズが小さくなったほうがインポートの時間も早いので。
④移行先サーバーにサイトデータをインポートする
さくらサーバーにてサイトデータをインポートします。
インポートの時も「All-in-One WP Migration」を利用すれば一撃です。
神プラグインです。
インポートが完了したら、正しくインポートできているかを確認します。
一般的にはhostsファイルを用いて、
自分のPCからだけはエックスサーバー①を参照するようにします。
hostsファイルの使い方についてもネットで調べれば多数の情報が出てくると思いますので割愛します。
⑤ネームサーバーを切り替える
正しく移行先のサーバーが構築できたことを確認したら、
最後にネームサーバーを移行先のサーバーへ切り替えます。
これによって、徐々に半日から数日をかけて、アクセスが移行先のさくらサーバーのほうへ流れていきます。
移行元サーバーのエックスサーバー①にも最初はまだアクセスがありますので、
すぐに止めてはだめです。
3日くらいはそのまま放置したほうが良いと思います。
これにてエックスサーバー①からさくらサーバーへダウンタイムなしで常時SSL化サイトの移行が完了しました。
数日後エックスサーバー①へのアクセスがなくなったことを確認したら、
エックスサーバー①からサイトの削除を行います。
お疲れ様でした。
その後さくらサーバーからエックスサーバーへ移行
いったんさくらサーバーへ退避することができたら、最後にさくらサーバーからエックスサーバーへ再移行を行います。
やり方は上記と同じです。多少エックスサーバーとさくらサーバーでやり方が異なりますが、
考え方は同じなので問題なく移行できると思います。
まとめ
エックスサーバーからエックスサーバーへの移行について、ダウンタイムなしかつ常時SSL化したままでの移行方法をご紹介しました。
ダウンタイムなしで実施しようとすると多少面倒ですが、
サイトが一時的にアクセス不可になって、サイトのSEO的な評価が下がるよりは全然マシだと思います。
この方法は、エックスサーバーからエックスサーバーだけでなく、さくらサーバーからさくらサーバーなどでも同じだと思います。
結構大変なので、有料で実施してくれるサービスもあるようですが、
難しい作業はないので、自分でできるところは自分でやっていきましょう。