WordPressサイトをサーバー移転して引っ越す方法

先日、エックスサーバーからmixhostにWordPressサイトをサーバー移転しました。

その時、自分が行ったWordPress移転作業をメモがてら紹介したいと思います。

スポンサーリンク
レクタングル(大)広告

主な手順

WordPressサイトを他サーバーからmixhostに移転するのに必要な手順は以下になります。

  1. WordPressのデータファイルを移転元サーバーからダウンロード
  2. WordPressのデータベースを移転元サーバーからダウンロード
  3. mixhostでドメインの設定
  4. mixhostでデータベースの作成
  5. WordPress設定ファイルの編集
  6. mixhostでデータベースのインポート
  7. WordPressデータファイルのアップロード
  8. 動作確認
  9. ネームサーバーの変更

簡単に説明すると、WordPressの以下のデータを「古いサーバーから新しいサーバーに移す」ということをするだけです。

  • WordPressデータファイル(WordPress、プラグイン、テーマ、画像等のファイル)
  • WordPressのMySQLデータベース(文章、設定データなど)

あとは、mixhost側で動作確認をしてネームサーバーを変更するだけです。

WPデータファイルを移転元サーバーからダウンロード

まずは、移転元となるサーバーからWordPressデータをダウンロードする必要があります。

今回は、エックスサーバーを例に説明したいと思います。

サーバーから、WordPressデータをダウンロードするには、FTPでの接続が必要になります。

FTPソフトの使い方がわからない場合は、以下の設定方法を参照してください。

レンタルサーバー「エックスサーバー」のご利用マニュアル|「FFFTP」を用いてご契約中のサーバーアカウントへFTP接続をするための設定手順について記載しています。
セキュリティーは、低いよりは高くしておくに越した事はありません。今回は、SFTPという接続方法を利用して、FTPよりは安全に...
先日、FileZillaでエックスサーバーにSFTP接続する方法を書きました。「なぜFTPがあるのに、SFTP接続す...

ダウンロードするファイル(エックスサーバーの場合)

エックスサーバーの場合は、以下のような階層にある「public_html」フォルダの中身をすべてローカルパソコンにダウンロードします。

/home/サーバーID/ドメイン/public_html

エックスサーバーのWordpressデータをすべてダウンロード

以下のように、全てを選択してローカルにダウンロードしてしまってください。

すべてのファイルを選択してローカルにダウンロード

僕の場合は、全ファイルサイズが大きすぎたせいか、ダウンロードに10時間以上はかかりました。

全てのファイルをダウンロードする前に、不要な過去のバックアップファイルや不要なキャッシュファイル等を削除しておくと、ダウンロード時間の短縮にはなるかもしれません。ただ、「どのファイルを消して良いかわからない」なんて場合は、全てのファイルをダウンロードしてしまうことをおすすめします。

WPデータベースを移転元サーバーからダウンロード

WordPressファイルをダウンロードしている間にも、次はデータベースのダウンロードを行います。

phpMyAdminにログインする

エックスサーバーの場合は、サーバーパネルにログインして「データベース」から現在使用しているMySQLバージョンのphpMyAdminを選択してください。

使用中のMySQLのphpMyAdminを選択

使用中のMySQLのバージョンがわからない場合は、どちらともクリックして、初期設定時にサーバーから送られてきたアカウント情報でログインできる方のphpMyAdminを利用すればOKです。

phpMyAdminからデータベースのエクスポート

phpMyAdminにログインできたら、データベースを選択します。

phpMyAdminでデータベースを選択

データベースを選択したら、右ペインにある「エクスポート」タブを選択し「実行」ボタンを押してください。

phpMyAdminからエクスポートタブを選択して実行ボタンを押す

データベースのデータサイズが大きすぎなければ、特に設定を変更することなく実行ボタンを押すだけで、SQLファイルをダウンロードすることができます。

エックスサーバーの制約上、512MBを超えるデータサイズがある場合は、404エラーが発生します。その場合は、テーブルごとに何個かのSQLファイルに分けてエクスポートする必要があります。
うまくエクスポートできない場合は、BackWPupプラグインをインストールして「ダッシュボード」から「データベースのバックアップをダウンロード」ボタンを押すと、うまくいくこともあります。BackWPupのワンクリックバックアップ もしくはジョブを設定して実行するとか。

データベースが512MBを超えている場合

データベースのエクスポートを一括でできない場合は、まず「構造」タブを選択します。

phpMyAdminの構造タブからテーブルのサイズを確認

すると、以下のような表が表示されるので、それぞれのテーブルのサイズを確認して大きなサイズのテーブルがないかチェックしてください。

phpMyAdminの構造タブでそれぞれのテーブルサイズを確認

あとは、「エクスポート」タブから「エクスポート方法:詳細」オプションを選択して、出力するテーブルサイズが512MB以上にならないよう何回かに分けてエクスポートを実行してください。

エクスポートサイズが512MBより多くならないように出力

データベース出力がよくわからない場合は、無駄に時間を浪費するより、mixhostには「WordPress移転代行サービス」もあります。

先日、長年利用してきたサーバーでアクセス集中によるアクセス規制を受けました。それで、旧サーバーの方から「CPU負荷対策をして...

mixhostでドメインの設定


pthoto by Darwin Bell

移転元のサーバーで、WordPress関連データのダウンロードが終わったら、次はmixhost側で設定を行います。

mixhostでドメイン設定の前に

ただ、移設をするには当然ながら、mixhostにアカウントを開設してある必要があります。

mixhostは最長の30日間返金保証があるため存分に試した後、気に入らなかったら返金を要求することもできます。

サーバーを試用する方法は以下を参照してください。

先日、サーバー移転をしてに引っ越してきました。僕が初めてレンタルサーバーを借りたのは2001年なので、もう以上はサイト運営を...

ドメインを設定する

mixhostでは、まずドメインの登録を行います。

ドメイン登録を行うには、サーバーの管理パネル(cPanel)にログインして「ドメイン」項目の「アドオンドメイン」を選択してください。

mixhostのcPanelにあるアドオンドメインを選択

すると、「アドオンドメインの作成」画面が表示されるので、以下のように入力して「ドメインの追加」ボタンを押してください(以下は当サイトのドメイン登録時のサンプル)。

アドオンドメインの作成(cPanel)

  • 新しいドメイン名
    利用したい独自ドメイン名を入力(wwwは不要)
  • サブドメイン
    希望するサブドメイン(新しいドメイン名を入力したら自動的に入力されたのを利用)
  • ドキュメントルート
    サイトデータをアップロードするフォルダの入力(新しいドメイン名を入力したら自動的入力されたのを利用)。
  •  このアドオンドメインに関連付けるFTPアカウントを作成します。
    WEBサイトごとに別のFTPアカウントでサイトデータをアップロードしたい場合に有効にします(僕の場合は不要だったので無効のまま)。WEBサイトごとに管理者が違う場合などに利用。

アドオンドメインが正しく設定されると以下のように表示されます。

アドオンドメインの設定完了

参考 WordPressの他サーバーからの移行方法(プラグイン不使用) – mixhostサポートサイト

データベースの作成

次は、データベースの作成です。

cPanelの「データベース」項目から「MySQLデータベースウィザード」を選択してください。

データベース項目からMySQLデータベースウィザードを選択

「データベースウィザード」が表示されたら、「新しいデータベース」にデータベース名を入力して「次の手順」ボタンを押してください。

cPanel - MySQL® データベース ウィザード

次に、データベース用の「ユーザー名」と「パスワード」を入力し「ユーザーの作成」ボタンを押します。

データベースユーザーの作成(cPanel)

すると、ユーザーにデータベースの権限を与える画面が表示されるので「全ての権限」にチェック入れて「次の手順」ボタンを押してください。

データベースユーザーに全ての権限を与える

データベースの作成に成功すると、以下のように表示されます。

データベースウィザードからデータベースの作成が完了

WordPress設定ファイルの編集

次に、先程移転元サーバーからダウンロードしたWordPressの設定ファイル「wp-config.php」を編集します。

wp-config.phpファイルを開く

ダウンロードフォルダにある「wp-config.php」をエディターで開いて以下のような設定情報部分を探してください。

wp-config.phpのデータベース設定情報

この部分を、以下のように編集します。

/** WordPress のためのデータベース名 */
define('DB_NAME', 'データベース名');
 
/** MySQL データベースのユーザー名 */
define('DB_USER', 'データベースユーザー名');
 
/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'パスワード');
 
/** MySQL のホスト名 */
define('DB_HOST', 'localhost');

入力例は以下になります。

/** WordPress のためのデータベース名 */
define('DB_NAME', 'USERID_database_name');

/** MySQL データベースのユーザー名 */
define('DB_USER', 'USERID_user_name');

/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'YOUR_PASSWORD');

/** MySQL のホスト名 */
define('DB_HOST', 'localhost');

USERID部分には、mixhostで割り当てられた「ユーザーID」が入ります。

YOUR_PASSWORD部分には、登録したパスワードを入力してください。

mixhostでは、「MySQLのホスト名」は「localhost」となります。

データベースのインポート

次に、「mixhost側のデータベース」に「移転元データベースからエクスポートしたSQLファイル」をインポートします。

mixhostのcPanelを開いて「データベース」項目にある「phpMyAdmin」を選択します。

mixhostのデータです項目にあるphpMyAdminを選択

phpMyAdminが開いたら、先程作成したデータベースを選択します。

mixhost側のphpMyAdminでデータベースを選択

データベースを選択したら「インポート」タブを選択してください。

mixhostのphpMyAdminでインポートタブを選択

ここで、先程移転元のサーバーからエクスポートしたSQLファイルを準備します。

移設元サーバーからエクスポートしたSQLファイル

アップロードファイルの「参照」ボタンを押してSQLファイルを選択します。

2017-02-02_17h02_32

SQLファイルを選択したら、「実行」ボタンを押してください。

SQLファイルを選択して実行ボタンを押す

SQLファイルのインポートに成功すると、以下のような画面が表示され、データベースにはテーブルが作成されます。

mixhostでSQLインポートが成功した状態

SQLファイルのインポートがうまくいかない場合

mixhostのphpMyAdminにも制限があり、インポート最大サイズが512MBより大きなSQLはインポートできません。

僕の場合は、テーブルを小分けにして2個のSQLファイルを作成し、インポートしました。

ただ、僕の場合SQLファイルを分けてインポートしたんですが、wp_postsテーブル(WordPressのコンテンツが入ったテーブル)をどうしてもphpMyAdminからはインポートできませんでした(wp_postsテーブルのサイズ的には、350MBくらいだったんですが)。

そういう時は、FTPでSQLファイルをサーバー上にアップロードしSSHのコマンド操作でSQLをインポートする必要があります。

SSHでのコマンド操作は以下になります。

$ mysql -h localhost -u ユーザ名 -p データベース名 < blogdb.sql

参考 SSHのご利用方法 – mixhostサポートサイト

僕はここで面倒くさくなる

ただ僕はこの時点で、「ここでさらに、サーバーでSSH設定をし、鍵を生成して公開鍵を登録する必要があるのか…。面倒くせぇ!」となってしまいました。

このときちょうど、mixhostサポートに「WordPressテーブルにインポートできない問題」の問い合わせをしていました。その答えのついでにサポートの方が「WordPress移転代行サービスもやっていますよ」と教えていただきました。

そこで、初めてその存在を知り「お世話になるレンタルサーバーの中の人(言わばプロ)が、こんな格安で移転を代行してくれるのか!」と、飛びつくように、すぐさまお願いした次第です。

んー、商売上手。

結果的には、最初から頼んでおけば良かったです。楽すぎました。餅は餅屋です。

詳しい「WordPress移転代行手順」は以下。

先日、長年利用してきたサーバーでアクセス集中によるアクセス規制を受けました。それで、旧サーバーの方から「CPU負荷対策をして...

WordPressデータファイルのアップロード

データベースにSQLのインポートが完了すると、次はWordPressファイルのアップロードです。

先程、移転元サーバーからダウンロードしたファイルを、mixhostにFTPでアップロードします。

FTPでmixhostに接続

あとは、FTPでmixhostのWordPressフォルダにWordPressデータファイルをアップロードします。

mixhost用のFTPの設定方法は以下を参照してください。

先日、サーバーをに移転しました。mixhostも、他のレンタルサーバー同様に、FTP通信をすることができます。加えて...
当サイトは先日サーバー移転して、現在にて運営しています。mixhostも、他のレンタルサーバー同様に、FTP通信をすることが...

FFFTPを使用した設定方法は以下。

参考 FTPソフトの設定方法 – mixhostサポートサイト

FTPでアップロード

WordPressデータファイルをアップロードする場所は、ルートディレクトリの下の「public_html」の下にある「アドオンドメインで作成したドメイン名」フォルダの場所になります。

Wordpressファイルをアップロードする場所

上の画像はあくまでサンプルです。「アドオンドメイン」の設定で「ドキュメントルート」を変更した場合は、ドキュメントルートで設定したフォルダ名になります。「cgi-bin」フォルダは、利用しないのであれば、削除してもOKです。

アップロードフォルダを確認したら、FTPソフトで「移転元サーバーからダウンロードしたWordPressデータファイル」をすべてアップロードしてください。

移設元のサーバーからダウンロードしたWordpressファイル全て

FTPソフトで全てのファイルがアップロードされるまでお待ちください。

全てのファイルをアップロードし終えたら、全WordPressデータの移動は終了です。

htaccessの中身は編集して、前サーバー用の設定は削除しても良いかもしれません。

もし.htaccessファイルを誤って削除した場合は、作成して以下の記述が必要です。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

動作確認

最後に、WordPressデータ全てが適切にmixhostサーバーに移動されているかを確認します。

mixhostでは、動作確認用のURLも用意してくれています。

ただ、「動作確認用URL」ではWordPress管理画面に入れなかったり、ドメイン名が変わるので、以下のようにクロスドメイン制約によるFont Awesomeの表示不具合が出たりします。

クロスドメイン制約によるFont Awesome表示不具合

ちなみにこちらは正常に表示された場合。

クロスドメイン制約のないFont Awesome表示

ですので、動作確認をする際は、必ずhostsファイルを編集して動作確認することをおすすめします。

hostsファイル編集による動作確認方法は以下を参照してください。

先日、サーバーをに移転しました。このとき、サイトデータを「移転元サーバー」から「mixhost」に全て移動しました。...

WordPressの場合、以下の点をしっかりと動作確認してください。

  • テーマはきちんと反映されているか
  • インデックスページは表示されるか?
  • 投稿ページは表示されるか?
  • 固定ページは表示されるか?
  • WordPress管理画面にログイン出来るか?
  • WordPress管理画面の設定画面は動作するか?
  • WordPress管理画面の設定が引き継がれているか?
  • プラグインの動作に問題はないか?

僕の場合は、だいたいこんなところを動作確認しました。

参考 hostsファイルの設定方法 – mixhostサポートサイト

ネームサーバーの変更

    諸々の動作確認を終えて、問題がなければ、最後にネームサーバーを変更します。

    尚、ネームサーバーを変更さえしなければ、移設元のWordPressが一般の訪問者には表示されるので、しっかりと動作確認を行ってください。

    ネームサーバーの変更

    ちなみに、mixhostのネームサーバーは以下のようになっています。

    1. ネームサーバー 1: ns1.mixhost.jp
    2. ネームサーバー 2: ns2.mixhost.jp
    3. ネームサーバー 3: ns3.mixhost.jp
    4. ネームサーバー 4: ns4.mixhost.jp
    5. ネームサーバー 5: ns5.mixhost.jp

    これらのネームサーバー情報を利用しておられるドメインサービスで変更すれば、数時間~72時間程度で徐々にmixhostサーバーにアクセスが流れてきます。

    アクセス解析を見るに、僕の場合は全てのアクセスが流れてくるまで、72時間近くはかかりました。なので、ネームサーバーを変更すると、元に戻すとまた反映まで時間がかかるので、hostsファイルを使った念入りな動作確認は重要です。

    ムームードメインでの設定例

    僕の独自ドメインは、ムームードメインで設定しているので一応設定の紹介です。

    それぞれのドメインサービスの設定項目に置き換えて設定してみてください。

    まずは、ムームードメインの管理画面に入ります。

    ムームードメインにログインしたら、「ドメイン操作」の「ネームサーバー設定変更」から、対象ドメインの「ネームサーバー設定変更」ボタンを押してください。

    ムームードメインのネームサーバー設定変更

    「ネームサーバー設定変更」画面が表示されたら、「GMOペパボ以外 のネームサーバを使用する」のネームサーバを以下のように変更してください。

    GMOペパボ以外 のネームサーバを使用する設定項目(ムームードメイン)

    ネームサーバーの設定を終えたら「ネームサーバー設定変更」ボタン押して変更確定させてください。

    ネームサーバー設定変更ボタンを押してネームサーバ変更を確定する

    あとは、ネームサーバーの変更が浸透するまでただ待つだけです。

    まとめ

    こんな感じで、WordPressデータをmixhostサーバーに移行することができます。

    大まかな手順としてはこんな感じ。

    1. 移転元サーバーでWordPressデータを出力(ファイルとデータベース)
    2. mixhostでWordPressデータを入力(ファイルとデータベース)
    3. hostsファイルを編集して動作確認
    4. 動作に問題なければネームサーバー設定の変更

    単純に言ってしまえば、これだけの作業です。ですがこれを、自分でやろうと思うと、思いのほかトラブルになります。

    実際に僕が困ったのは、以下のようなトラブル。

    • phpMyAdminデータベースエクスポートの容量制限で出力できない
    • データベースをエクスポートしてもphpMyAdminでインポートできないテーブルがある
    • データベースを正常に出力したつもりでも正常に出力されていない

    こういったトラブルを回避するには、SSHを使ってコマンド操作でデータベース操作をしなければいけないようです。

    なので「どうしてもmixhostへのサーバー移転がうまくいかない」といった場合には、WordPress移転代行サービスにサクッと依頼した方が、余計な時間を浪費することはなさそうです。

    先日、長年利用してきたサーバーでアクセス集中によるアクセス規制を受けました。それで、旧サーバーの方から「CPU負荷対策をして...

    というわけで、「ちょっとぐらい大変でも自前でサーバー移転をやってみたい」なんて方は、今回の手法で、サーバー移転を行ってみてください。

    mixhostに依頼する場合はこちら。

    サイト WordPress移転代行サービス

    スポンサーリンク
    レクタングル(大)広告
    レクタングル(大)広告

    スポンサーリンク

    『WordPressサイトをサーバー移転して引っ越す方法』へのコメント

    1. 名前:高倉 投稿日:2017/06/08(木) 14:31:06 ID:822df1b37

      初めまして、高倉と申します。
      いつも、わいひらさんの寝ログ楽しみに拝見させて頂いております。

      ご質問ですが、【WordPressをサーバー移転して引っ越す方法(XSERVER→mixhostの例)】にて、サーバー移転を自身で行ったんですが、

      何度やってもサイトが500エラーが出て、移転が上手くいかない状態です。

      60記事ほどの小さなブログで、データファイルやMySQLデータベースは問題なくダウンロード→アップロード出来ました。

      また、自分なりに色々と調べてて.htaccessやwp-config.phpの見直しも行ったんですがダメです。

      しかもサーバー移転に使用した作業用のメインPCでは500エラーが出る上にログインすら出来ない状態にもかかわらず、

      サブのモバイルPCやiPad、スマホでは普通に表示されて、サイトにログインも出来ます。ちなみにIPアドレスは前のサーバー(FUTOKA)です。

      とりあえず、サーバー移転は無理せず、移転代行を検討しているですが、後者のメインPCでは表示されず、他の端末では普通に表示されログイン出来るのが理解出来ずに困っています。

      色々と調べて、Googlechromeの閲覧履歴やキャッシュを削除したり、ルーターやPCの再起動などをやってみたんですが変化ありません。

      たいへんお忙しいと思いますが、もし良ければご教示頂けると幸いです。
      長文、たいへん失礼致しました。

    2. アバター画像 名前:わいひら 投稿日:2017/06/09(金) 19:48:12 ID:1ab2dbe68

      申し訳ないですが、こちらからは(たとえURLを教えていただいたとしても)サーバーのエラーメッセージを僕が見ることもできないので、ちょっと原因はわからないです。
      そういった場合は、サーバーのサポートに問い合わせてみることをおすすめします。

    3. 名前:高倉 投稿日:2017/06/15(木) 21:31:22 ID:56b8cb062

      お世話になっております。

      お忙しい中のご回答、ありがとうございます。
      とりあえず、サーバーのサポートに問い合わせてみます。

      この度は、お手数をおかけしました。

    4. 名前:にゃー 投稿日:2017/08/01(火) 15:49:16 ID:77e51aadd

      いつも有難うございます!
      大変移行にあたり助かりました。

      絶対に僕一人ではできませんでした。

    5. アバター画像 名前:わいひら 投稿日:2017/08/02(水) 19:18:01 ID:83488e7ef

      記事がお役に立てたようで良かったです!