WordPressを別のサーバーへ移行する方法

WordPressのサイトを長期運用していると、アクセス数やコンテンツの増加でより高性能なサーバーへ移行することがあります。WordPressを別のサーバーへ移行するにはいくつかの方法があるので、初めて移行をされる方向けに移行の選択肢としてご紹介します。

大きく分けると3つの方法があり、それぞれ適したケースが異なります。

 

1. エクスポート・インポート機能を使う方法 :初心者向け・小規模サイト

WordPress標準のエクスポートとインポートを使う方法です。最も簡単で初心者向けですが、記事とアップロードファイルのみエクスポートし、WordPressの設定、テーマのファイルと設定、プラグインのファイルと設定を移行できません。

ブログとして運用しており、記事とアップロードしたファイルのみ移行できればテーマは変わっても良いという場合におすすめです。

2. プラグインを使う方法 :初心者〜中級者向け・サイト規模問わず

プラグインを使って全ての記事・ファイル・設定を移行する方法です。テーマやプラグインのファイル、データベースの情報も丸ごとコピーするため、テーマカスタマイズされたWordPressサイトに利用できます。

WordPressが管理していないファイルは移行されないため、外部ファイルの参照など高度なカスタマイズをされている場合は移行しきれず手作業が必要な場合があります。
移行プラグインは高機能で利便性が高いため、無料版では機能制限があるプラグインもあります。

3. 手動でコピーする方法 :上級者向け・サイト規模問わず

WordPressの機能に頼らずサーバー操作で移行する方法です。ファイルとデータベースを手動でコピーするため、高度なカスタマイズをしていても全く同じ状態で移し替えられます。

第三者の作ったプラグインに頼るのはちょっと…という場合などに実施されますが、サーバー操作の知識が必要で一般的にはエンジニアが行う作業になります。

 

以上3つの手順と、共通する移行後の動作確認と公開についても紹介します。

紹介する環境はWordPress4.9.4で操作しています。
説明を分かりやすくするため移行元を「旧サーバー」、移行先を「新サーバー」と呼びます。


エクスポート・インポート機能を使う方法

旧サーバーのWordPressで、管理画面のメニューより「ツール」→「エクスポート」を開きます。

エクスポート画面で「すべてのコンテンツ」にチェックを付け、「エクスポートファイルをダウンロード」をクリックします。この操作で xml ファイルがダウンロードされます。

新サーバーのWordPressで、管理画面のメニューより「ツール」→「インポート」を開きます。

インポートの種類にWordPressがありますが、インポートツールはプラグインとして提供されているため「今すぐインストール」をクリックし、有効化された後に「インポーターの実行」をクリックします。

「WordPressのインポート」画面に移動したら、「ファイルを選択」をクリックし、先程ダウンロードしたxmlファイルを指定し、「ファイルをアップロードしてインポート」をクリックします。

インポート前に、インポートする記事の設定を変更できます。

投稿者の割り当て」は、何も変更しなければ旧サーバーと同じユーザー名でユーザーが作成されます。複数人で運用されていない場合は「あるいは投稿を既存のユーザーに割り当てる」より管理者ユーザーに割り当てることをおすすめします。

添付ファイルのインポート」はチェックを付け、「実行」をクリックします。

以上の操作でインポートが実行されて完了です。


プラグインを使う方法

移行のできるプラグインはいくつかありますが、今回は「All-in-One WP Migration」を使って移行します。100万件以上のインストール数、多くの高評価、更新頻度の高さから選びました。

以下より方法です。

旧サーバー、新サーバーの両方に All-in-One WP Migration をインストール・有効化します。

旧サーバーの管理画面のメニューより「All-in-One WP Migration」→「エクスポート」を開きます。

「サイトをエクスポート」の画面が開いたら、今回は「エクスポート先」→「ファイル」をクリックします。

以下のウィンドウが開くのでファイルをダウンロードします。

新サーバーの管理画面メニューより「All-in-One WP Migration」→「インポート」を開きます。

先ほどダウンロードしたエクスポートファイルをドラッグ&ドロップしてアップロードします。

アップロードをしばらく待つと以下の画面になり、インポート完了です。

インポート後はユーザー情報も旧サーバーの内容にすべて書き変わっているので、再ログインが必要になります。

All-in-One WP Migration の注意点

無料版ではインポート時のファイル容量が512MBの制限があります。512MBを越えてしまう場合は旧サーバーの記事や画像を整理して容量を減らすか、有償版プラグインの購入が必要です。


手動でコピーする方法

WordPressの機能に頼らずに移行する確実性の高い移行方法です。エンジニア向けの内容のため手順のみで紹介します。非エンジニアの方にも作業の流れの参考になればと思います。

1. 旧サーバーのファイルをすべて新サーバーへコピーする

旧サーバーにSFTPなどで接続し、サイト公開に必要なファイルをすべてダウンロードしてから新サーバーへ接続しアップロードしてコピーします。もしくはターミナルからのコマンド操作で旧サーバーから新サーバーへ直接コピーする方法もあります。

2. 旧サーバーのデータベースからダンプファイルを取得する

ターミナルからのSQL操作、もしくはphpMyAdminなどで、旧サーバーのWordPressのデータベースからダンプファイル(バックアップ)を取得します。

3. ダンプファイルを新サーバーのデータベースへインポート

2で取得したダンプファイルを新サーバーのデータベースへインポートします。

4. 新サーバーで動作確認するための設定

3までの作業が終わった時点で新サーバーのWordPressを確認することができますが、設定は旧サーバーのままなのでこのままでは正常にアクセスできません。エンジニア側のPCローカルでhostsファイルを編集し、サイトのドメインと新サーバーのIPを結びつけ、ドメインで新サーバーのWordPressにアクセスできるようにします。

以上でファイルとデータの手動コピーは完了です。


移行後の動作確認と公開

移行後はWordPressの動作やサイト表示の確認をしてから公開します。

新サーバーのWordPressの動作確認

主に以下の内容を確認します。

  • WordPress本体の動作確認
    • 設定の確認
    • 記事の作成・削除
    • システムメールの送信確認
  • サイトの表示確認
    • トップページ、カテゴリアーカイブ、投稿ページ、固定ページ等
    • リンク切れの有無
  • プラグインの動作確認
公開設定

公開に問題ない状態を確認できたら、ドメインの管理サイトでドメインの参照先を新サーバーに変更します。ドメインの反映が済み次第サイトが公開されます。

WordPress移行の共通ポイント

手順さえ分かれば移行作業自体は意外と簡単なのですが、いずれの方法も共通して関係者への事前周知が重要です。

移行するためのダンプファイルを取った後にWordPressでサイト更新をされても、移行後は更新前に戻ってしまうのでサイト更新を一旦止める必要があります。 更新を止めない場合は移行作業中の更新内容を移す必要があります。

どのようなケースでも移行にかかる手順やスケジュールをしっかり共有して実施したいですね。