理由は様々ですが、既存のホームページをまるごと他のサーバーに移転したいとのご依頼を承ることがあります。
通常の静的なサイトの移転でドメインが変わらない場合には基本的にサーバーに置いてあるフォルダ・ファイル群を古いサーバーから新しいサーバーへ移動すればサイトの移転は完了します。
ただ、ワードプレス等CMSの動的な仕組みによって表示されているサイトの場合にはそう簡単にはいきません。
以前「プラグインに頼らないでワードプレスを移転する。ドメイン変更対応」でも書いたようにかなり面倒な作業が必要となります。
さらに、この面倒な作業をこなしてもなお表示に関する不具合が出ることが多々あります。
原因はさまざまですが、例えば既存サイト(ワードプレスで作成されている)がだいぶ前に作成されたものである場合、phpのバージョン違いによる不具合、ワードプレステーマ内でもう廃止されてしまった関数を使用していたことによる不具合などが考えられます。
このように、万全の準備をして移転作業に臨んでも1つ2つ不具合が起こるのがワードプレス移転の恐ろしいところです。
すべての移転作業が完了し、DNSサーバーを切り替えたら何も表示されないなどの状況に陥ったら目も当てられません。
ではどうすればいいのか?
「hosts」ファイルを書き換えれば、実際にDNSサーバーを切り替えた際の表示や挙動をDNSサーバー切り替え前に確認できます。
これは、OSがwindowsでもmacでも使え、サーバーがエックスサーバーでもロリポップサーバーでもその他のサーバーでも基本的には使えるはずです。
※前提条件として移転する先のサーバーの管理画面で独自ドメインが設定されていることが必要です。
※DNSサーバー切り替え前にSSL化することはできないのでhttpでのアクセスとなります。
具体的には、まず
windowsの場合は「C:\Windows\System32\drivers\etc\hosts」を、
macの場合は「/etc/hosts」を、
コピーしてデスクトップなど任意の場所に貼り付けておきます。
※etcフォルダやその親フォルダ等は非表示フォルダなので、設定で非表示を解除しておきましょう。
※コピペするのはhostsファイルを直接編集できないためで、任意の場所に移して編集し、編集後元の場所(etcフォルダ内)に戻す方法を取ります。
次に、hostsファイルをテキストエディタで開き、
最終行に以下を追記します。
(移転予定のサーバーのIPアドレス)(半角スペース)(ドメイン名)
例えば
現在のサーバー(移転元)のIPアドレスが111.111.111.111
移転予定のサーバー(移転先)のIPアドレスが222.222.222.222
ドメインは変わらずexample.comであった場合は、以下のように追記します。
222.222.222.222 example.com
※移転先のサーバーのIPアドレスは、各サーバーの管理画面等から調べます。
hostsファイルに追記して保存したら、hostsファイルを元あった場所(etcフォルダの中)に戻します(置き換えます)。
これでブラウザのアドレスバーにexample.comと入力してサイトを表示すると、通常であればDNSサーバーにより111.111.111.111に飛ぶべきところ、DNSサーバーに優先するhostsファイルを編集したことにより222.222.222.222が表示されます。
この状態で問題なく表示されるのであれば、実際にDNSサーバーを切り替えた場合にも同様に表示されるはずです。
※作業後はhostsファイルの記述を削除して元に戻しておきましょう。