こんにちは!
前回の記事で、サーバー移転込みでHTMLからWordpressにサイトを移行する場合の方法に関して紹介しました。
私のケースでは、ロリポップ→Xserverにサーバー移転、なおかつHTMLからWordpressに仕様変更し、さらにロリポップ側に存在するHTMLサイトは、XserverにあるWordpressサイトが完成するまでは公開し、完成後はドメインのネームサーバーを切り替えて切れ目なくHTMLサイトからWordpressサイトに移行したいので、どうすればいいか? というのがテーマでした。
ちょっと長ったらしいテーマですが、要はサーバー移転と同時にHTMLへWPへ移行、さらに切れ目なく公開したい!ということです。
そのためには、Xserverの動作確認URLを利用する方法があると紹介しました。
さて、この実現のためにXserverにMySQLも設定したうえでWordpressをインストールし、動作確認URL機能を使ってWordpressサイトを構築していくわけですが、忘れてはならない注意点があります。
それは、動作確認URL上でWordpressサイトが作成されていくということです。
なんのこっちゃ! と言われそうですが、順を追って説明します。
動作確認URLの機能によって、
「http://○○○.com」
という独自ドメインの場合
「http://○○○-com.check-xserver.jp/」
というURLが発行され、Xserver内のサーバー内になるサイトの動作を確認することができるようになります。
HTMLだけでなく、Wordpressサイトも動作確認が可能です。ただし、Xserverの公式サイトでも説明されていますが、Wordpressの一部機能が作動しない可能性があります。
https://www.xserver.ne.jp/manual/man_domain_checkproxy.php
私の場合は特に制作過程で不具合は発生しませんでしたが、とりあえず可能性としてなんらかの不具合が発生する場合があることは頭の片隅に入れておいてください。
動作確認URLでWordpressサイトを作った場合の問題点
通常なら「http://○○○.com」というドメインでサイトを作ったなら、Wordpress管理画面には「http://○○○.com/wp-login.php」でログインしますよね。
動作確認URLでWordpressでサイトを作成した場合、Wordpress管理画面のログインURLは、
「http://○○○-com.check-xserver.jp/wp-login.php」
となります。あとは設定したご自身のIDとパスワードでログインして、サイトを作りこんでいくことになります。
これによって、Wordpress内のリンク情報はほぼ全て「http://○○○-com.check-xserver.jp/」が基準となります。
「http://○○○.com」の動作確認というより、「http://○○○-com.check-xserver.jp/」というドメインでサイトを作っているに等しい行為です。
動作確認URLで作業したとしても、各投稿ページや固定ページのMySQLデータは、作成したXserverのMySQLのデータベースにしっかりと格納されていきますのでご安心ください。
ただし、一つ問題があります。それはその一つ一つの投稿ページや固定ページ、それだけではなくログインするための情報や各ページ内のURLや内部リンク全てが、
「http://○○○-com.check-xserver.jp/」
になってしまうということです。
仮に、動作確認URLでWordpressサイトを完成して、旧サーバーから新サーバーへドメインのネームサーバーを切り替えをするとどういうことになるのか?
新サーバー内にあるWordpressサイトは確かに存在しますが、サイト内の構造としては、動作確認URLで生成された
「http://○○○-com.check-xserver.jp/」
がもとになっているため、本来の「http://○○○.com」でアクセスすると、トップページにアクセスできるもののリンクはすべて、動作確認URLである「http://○○○-com.check-xserver.jp/」にアクセスしてしまいます。
というか本来「http://○○○.com」という独自ドメインで紐づけされていなければならないものが、すべて動作確認URLになってしまっているので、サイトの閲覧どころかダッシュボードへのアクセスもできないでしょう。
じゃあ、もう動作確認URLでサイト運営してしまえばいいのでは? と思われるかもしれませんが、もともと動作確認URLはサイトの動作を確認するための一時的なものなのでサイトの運営に適していませんし、そもそも自分の「http://○○○.com」という独自ドメインではない時点で適切ではありません。
これを解決するには、MySQLデータベース内にあるすべての情報を
「http://○○○-com.check-xserver.jp/」→「http://○○○.com」
に書き換えなければなりません。
でも、サーバーサイドのかなりに知識がなければ書き換えられないですし、しかも膨大な量の書き換えが必要になります。
ではどうすればいいのでしょうか?
それは、ツールを使って、動作確認URLで作成したWordpressサイトのMySQLデータベースを一括で書き換えてしまう方法を使うのです。
MySQLデータベースをツールで書き換える
さて、どうやってMySQLデータベースを書き換えるのか。
これは、「Search and Replace for WordPress Databases Script」というツールを使うことで解決することができます。
使い方に関してこちらのサイトで解説されています。
http://websae.net/search-replace-db-master-20160112/
https://www.infoscoop.org/blogjp/2014/08/14/use-search-and-replace-for-wordpress-when-moving/
上記の記事にもありますが、念のためサーバー内にあるWordpressのファイルとMySQLはバックアップを取っておいてください。
本来なら、Wordpressサイトのドメイン名変更(○○○.com→△△△.netなど)に利用したりするようですが、今回の場合は根本となる独自ドメインが同じですが、「http://○○○-com.check-xserver.jp/」→「http://○○○.com」に書き換えますので、ほとんどドメイン名の変更に該当します。
これによって動作確認URLで作成したMySQLデータベースの情報が、すべて独自ドメインの情報に書き換えられますので、ネームサーバーを変えても問題なく「http://○○○.com」でのサイト表示とWordpress管理画面へのログインが可能になります。
じゃあ、いつMySQLデータベース書き換えるか?
今でしょ!!!←
といいたいところですが、ちょっと待ってください。
動作確認URLのWordpressサイトの作成途中で、MySQLデータベースを書き換えを行ってしまうと、独自ドメインである「http://○○○.com」に情報が変わってしまい、現時点でネームサーバー先である旧サーバーにあるサイトにアクセスしようとしてしまいます。
そのうえ情報が書き換わってしまうため動作確認URLでもアクセスできなくなってしまい、やむなく新サーバーへネームサーバーを変えて、制作途中の状態でサイトを作りこんでいくことになりかねません。
なので、あとは新サーバー側での微調整で完成させても問題ないくらい、一通りサイトが出来上がってから書き換えたほうが無難でしょう。
必然的にこの時点で動作確認URLは必要なくなるので削除します。
動作確認URLも一応Googleでも検索対象になるようので、残したままにすると情報が重複したサイトが存在すると勘違いされかねないので、必要がなければ速やかに削除しましょう。
心配なら動作確認URLでのWordpressの設定でGoogleにインデックスされないようにしておくのもいいでしょう。完成したら間違いなくインデックスされるように設定しなおしてください。