既存のWordPressサイトをエックスサーバーに引っ越しする必要があったのでその手順をまとめています。
高速・高機能・高安定性を押し出しているエックスサーバー。同価格帯のレンサバでは随一のSSD容量のため月1,000円程度まで見れる方にはおすすめのレンタルサーバーです。
目次
せっかく引っ越しするならこの条件はクリアしたい!
これからWordPressブログを始めるという方には低コストのレンタルサーバーもおすすめしていますが、サーバーを引っ越ししたいという方は是非以下の項目をチェックしてみてください。
データの移行には手間もかかります。せっかく引っ越したのにまた不満が出てきた・・・なんてことが無いようにしたいですね!
現状のサーバーに不満・不足が出てきたという場合に検討して頂きたいのが以下の項目です。
1.容量はたくさんあるか
2.SSDかどうか
3.無料でSSLにできるか(https://)
4.WEBサーバーの種類
5.引っ越しにサポートやツールがあるか
こういった点を比較した記事もこちらにあるので参考にして頂ければ幸いです。
WordPressサイトの移転・引っ越し手順とは?おすすめのレンタルサーバーについてもご紹介
WordPress簡単移行 β版
エックスサーバーにはWordPress簡単移行 β版と言ってログイン情報を入力してデータを移行できるシステムがあります。
WordPress簡単移行β版はいくつか制限があったので注意が必要です。
1.WordPressバージョン制限
記事作成時(2019年2月中旬)、簡単移行が可能なWordPressバージョンに縛りがありました。WordPressの5.Xに対応していないというものでした。
既に5.0以降のバージョンにアップデートしている場合は簡単移行β版を利用できないでしょう。これは完全にエックスサーバー側の対応待ちとなります。
※その後、2月末にはWordPress5.0、5.1系統への対応が完了しました。ただ、今後もWPのバージョンアップに対応していく際にタイムラグが出る可能性はあるでしょう。移行を急いでいる時に簡単移行サービスを利用できないケースも出てくるかもしれませんね。
2.ログインが可能かどうか
URLと管理者ユーザーのアカウントデータを入力することで移行が可能になります。
しかし、キャプチャ入力などのログイン制限を設けている場合は「ログイン失敗」といったメッセージがでて作業がストップします。もしログイン制限系のセキュリティプラグインを入れている場合は停止する必要があります。
3.規模や旧サーバーのスペックにも依存?
他、移行は開始したものの、容量の関係なのか旧サーバーのスペックの影響なのか、タイムアウトで処理がストップすることがありました。
そのため、今回は結局簡単移行β版を利用することができませんでした。
自分でエックスサーバーにWordPressを引っ越しする場合
次に自分で引っ越し作業をする場合の注意点について解説したいと思います。
まず、WordPressの移行には、静的ファイル(WordPress関連フォルダの全て)とデータベース(MySQLなどのDB)の移行が必要です。
ファイル関連の移行についてはFTPソフトなどで旧サーバーから全てをダウンロードし、新サーバーの当該ドメインフォルダにアップするだけです。(※パーミッションなど注意すべき点は後述します。)
データベース(DB)の移行にはPHPmyAdminなどにログインしてエクスポート~新サーバーへのインポートが必要になり、慣れないと大変かもしれません。
僕は実際にエックスサーバーへのWordPress移行作業を自分で行いました。その際に注意しておきたい点がいくつかあったので共有したいと思います。
ドメイン設定
ドメイン設定より、移行したいドメインを追加します。これは簡単移行をする場合でも、自分で引っ越し作業をする場合でも必ず必要な作業です。
ドメインを追加することで簡単インストールや簡単移行β版でドメインを選択できるようになります。自動的にドメイン名のフォルダや設定ファイルが作られるため、まずはドメインを追加しましょう。
ドメインを追加してもネームサーバーを変更しない限りは旧サーバーのデータが引き続き表示されます。新サーバーでWordPressの動作を確認したらネームサーバーを変更し、ドメインが新サーバーに紐づけられるようにしましょう。
ネームサーバーがエックスサーバーに向けられていない場合、このような注記が表示されます。また、ドメイン追加時にSSLを有効にするかチェックできるのですが、ネームサーバーが紐づけられていない状態ではSSL設定もできません。後から自分で行うことになります。
動作確認URL
既存サイトの引っ越しということで、移行したWordPressの動作の確認もしたいところです。
多くのサーバーでは http【サーバー初期ドメイン】/【追加したドメイン】/ で疑似的に新サーバーデータを確認できるものですが、エックスサーバーの場合は初期ドメインと追加したドメインが同階層に存在します。
エックスサーバーでは「動作確認URL」を作成することで疑似的に独自ドメインフォルダを閲覧するURLを発行することができるのです。
動作確認URL設定追加より、追加済みの独自ドメインを選択し、各ドメイン毎に動作確認URLを発行できます。
MySQLアカウントの作成と追加
1.MySQLユーザの追加
移転するWordPressのデータベースを移行する前に、ユーザーを作らなくてはいけません。PHPmyAdminにログインするためのアカウントにもなるのできちんと管理しましょう。
2.MySQLの追加(新しいDBの作成)
次にMySQLの追加、つまり新しいDBを作成します。
3.作成したMySQLにユーザを追加(紐づけ)
そして、MySQL一覧のタブを見ると追加したMySQLにどのユーザーを紐づけるか選択できるようになっています。「アクセス権未所有ユーザ」の列で追加したユーザーを選択し、「追加」ボタンを押すことでアクセス権所有ユーザーの「ユーザーはい」の部分にユーザーが表示されるようになります。(これが非常に分かりづらかった!!)
4.PHPmyAdminでDBをインポート
そしてPHPmyAdminにアクセスし、先ほど作成したユーザーでログインすると、紐づけたDB(MySQL)が確認できるので任意のMySQLを選択し、インポートと進んでいきましょう。
5.wp-config.phpを新サーバーのDBに設定
ここまでで設定してきたMySQLユーザー名、パスワード、ホストなどをwp-config.phpに反映します。
WordPressの移行において、htaccessとこのwp-config.phpだけは書き換えが必要になることがほとんどです。
後は動作確認URLをチェックすればWordPressサイトが動作しているか確認できるでしょう。
500エラーになる場合はパーミッションやhtaccessをチェック!
WordPressファイルとDBをインポートしてもサイトが500エラーになってしまう現象がありました。(PHPが動作していないケース)
この場合は以下の項目もチェックしてみましょう。
パーミッション
エックスサーバーでPHPファイルやフォルダに指定されているパーミッションは以下の通りです。
フォルダ・・・755, 705のいずれか
.htaccess、.php・・・644
このようになっていない場合は変更しなければいけませんが、FTPソフトなどでアップする際のパーミッションを指定できるので設定を変えてから行うのが確実です。
僕はしばらくWinSCPを使っていたのですが、なぜかパーミッションが変わらず久々にFFFTPを利用しました。
オプション>環境設定>転送3 「*.php」を644に設定です。
最上位の .htaccess
.htaccessをそのまま移行した場合、旧サーバーの記述が結構残っています。新サーバーの記述を確認し、必要な記述があれば追加や削除を行いましょう。
エックスサーバーのデフォルトのhtaccessを確認すると、以下の記述があります。
SetEnvIf Request_URI ".*" Ngx_Cache_NoCacheMode=off SetEnvIf Request_URI ".*" Ngx_Cache_StaticMode
また、旧サーバーからダウンロードしたhtaccessには以下のような記述がありました。これらは今回削除して動作を確認できました。
#####fastcgi##### AddHandler fcgid-script .php .phps FCGIWrapper "/home/【ドメイン】/【ドメイン】.net/php/php-cgi" .php FCGIWrapper "/home/【ドメイン】/【ドメイン】.net/php/php-cgi" .phps #####end:fastcgi#####
ほか、旧サーバーにはWordPress特有の記述や、キャッシュプラグイン、セキュリティプラグインの記述があるケースがあります。#のコメントアウトなどにWPが含まれるものは削除すると移行先でWordPressが動作しなくなる可能性があるので注意しましょう。
以下、コメントアウトの例です
# BEGIN WpFastestCache # BEGIN WordPress
ドメインを反映する前に動作確認。管理画面にアクセスするには?
さて、ドメインを反映する前の動作確認URLでは、管理画面にはアクセスできません。/wp-admin/ などにアクセスすると独自ドメイン、つまり旧サーバーにリダイレクトされてしまうからです。
WordPressの管理画面のURLはあくまで一般設定にあるURL。
DBを一時的に書き換える方法もあるのですが、wp-config.phpに記述を加える方が簡単なのでおすすめです。
define('WP_SITEURL','https://website-homepage.com/wp'); define('WP_HOME','https://website-homepage.com/');
WP_SITEURLがWordPressアドレス、WP_HOMEがサイトアドレスなのでちょっと紛らわしいです。
この方法は間違えてURLを変更してしまった場合にも有効な方法で、こちらの記事ではDBを書き換える方法についても言及しています。
WordPressのURL設定を変更したら404エラーになってしまった
もちろん/wp/の有無やフォルダ名は自分の動作確認URLに置き換えてお試しください。
参考にして頂ければ幸いです。
Root-013ではWordPressの無料質問対応を行っています。
レンタルサーバー情報やSEO対策の情報も公開しているのでこちらの記事も参考にしてくださいね!仕事柄サーバーはたくさん運用しているのでご相談頂ければ最適なサーバーを提案することも可能です!気軽にコメント、お問合せ下さい!
[server]
[seo]