WPのサイトを最小の手間で引っ越しする

WPでサイトを開設したものの、様々な理由でサイトを別のサーバーに移したいという状況が良くあります。例えば、

  • 現在のサーバが重たい、表示速度が遅い
  • 現在のサーバの容量がいっぱいになりそう
  • より高機能なサーバへ移行したい
  • より安価なサーバへ移行したい

などなど。

ただ、何だか手続きが面倒そうで後回しにしてしまっている、という人も少なくないと思います。

実際、それほど時間のかかる作業ではないのですが、頻繁に行う作業ではないため手順を忘れてしまいがちです。

そこで、自分のメモも兼ねてWPの「引っ越し」の手順を解説したいと思います、

一般的な「引っ越し」の方法

WPのサイトを、URLなどを変えずに移行する方法は大きく分けて3つあります。

  1. WPの「インポート/エクスポート」機能を使う
  2. ファイルとデータベースを移行する
  3. 移行プラグインを利用する

それぞれ解説します。

WPの「インポート/エクスポート」機能を使う

旧サイトから新サイトへ、テーマフォルダをそのまま移した上で、「ツール」メニューの「エクスポート」および「インポート」を使って記事データを移行する方法です。

この方法の場合、以下のデータは移行されません

  • ユーザー情報
  • プラグインやウィジェットの設定情報
  • その他ダッシュボード内の設定情報

なので、この方法は、単純なブログサイトなどでは有効な方法ですが、カスタマイズを施したオリジナルなサイトの場合、簡単にはサイトを再現できない場合もあります

たとえば、投稿のIDが変わってしまう可能性もありますので、IDを使った設定やカスタマイズをした場合、その部分を修正しないと正しく動かないはずです。

それに加えダッシュボード内の設定を1からやりなおす必要があり、却って時間がかかってしまう可能性があるため、あまりお勧めできません

ファイルとデータベースを移行する

データベースのデータ、およびWPのファイル一式を新しいサーバに移行します。

再現性は上手く行くとほぼ100%*再現でき、最も確実な方法と言えますが、データベース管理画面の取り扱いなど専門的な知識が必要になります。

また、ドメインを変更したり、ディレクトリを変更する場合はデータベース内の置換作業が必要になり、注意が必要です。

複雑な構成のサイトの場合にふさわしい方法と思われます。

*WEBサーバ・PHP環境などが一致していない場合思わぬエラーが発生する場合があります。また、特殊なプラグインを利用する場合でも再現できない可能性があります。このケースは実際に遭遇しているので、後述します。

移行プラグインを利用する

上記の「ファイルとデータベースを移行する」の手順をプラグインに任せるという方法です。

プラグインによって作業手順が大きく変わります。

例えば、あるプラグインは新旧それぞれのサーバにWPとプラグインのインストールを必要としますが、別のプラグインは新サーバにはWPのセットアップが不要で、実行ファイルを起動して移行するという手順になっています。

私が色々使ってきた中では「All in one WP Migration」が使いやすく、日本語化されているのでお勧めです(しかも無料)

サイト移行のタイムラグについて

運用中のサイト、たとえば

http://mysite.com

があったとして、これを「タイムラグなしで」新しいサーバに移行するのは簡単なことではありません。

なぜなら、ドメイン->サーバの紐付けが浸透されていない状態では、すべての環境を新サーバに移し替えたとしても、新しいサイトが確認できないからです。

ドメインの浸透は、全世界のDNS(ドメイン・ネーム・サーバー)に紐付けの情報が行き渡るのを待たないと完了しません。その時間は最大72時間などと言われていますが、経験的には24時間以内に終わることが多いです。ただし、全世界からアクセスして見るわけには行かないので、正確な浸透時間は分かりません。

もし固定IPのサーバを利用した場合であれば、閲覧するPCのhostsファイルなどを編集して、なかば強制的に新しいサイトを見るという手法も考えられますが、レンタルサーバーの場合、多くの場合は共有のIPを使いますので、その手は使えません。

やはり一番無難なのは、最低限のメンテナンス期間を設けて、ドメインの浸透を確認してから移行を行う、という方法です。閲覧が出来ない期間が発生しますが、ほとんどの場合24時間以内に切り替えが完了しますので、アクセスの少ない時期を狙って速やかに移行をすれば影響を最小限に抑えることができます。

この辺り、リアルな事務所や店舗の引っ越しと実情が似ていますね。営業しながらの引っ越しは本当に大変です。

All In One WP Migrationを使って最速で移行しよう!

基本的な手順は以下のようになります。

1. 旧サイトにAll In One WP Migrationをインストール・有効化
2. 旧サイト上でプラグインを利用してエクスポートファイルを作る
All in one WP migration > エクスポート
出力先は「ファイル」
これでエクスポートファイルを作成、ダウンロード
※ドメイン変更の場合は置き換えルールを作成
3. ドメインの移行作業:ドメイン管理会社でネームサーバーを変更
具体的なネームサーバー名は新サーバのドキュメントを参照
4. ドメインの移行作業:新サーバ管理画面でドメインを追加
※SSLサイトの場合はこれも合わせて設定しておく
※ここはサーバの種類により手続きが異なる
※「コアサーバー」の場合は「バリュードメイン」管理画面での手続きも必要

(ドメインの浸透を待つ-最大24時間程度)

5. 新サーバ上で空のDBを用意
通常のmySQLデータベースを用意
6. 新サーバでWPをクリーンインストール
※移行元が「さくらインターネット」で、専用のSSLプラグインを利用していた場合はこれを削除する。
その他リダイレクト系のプラグインも極力外しておく。
7. 新サーバでプラグインをインストール・有効化
8. 新サーバでデータをインポート
All in one WP migration > インポート
でエクスポートファイルを選択

移行完了!

トラブルシューティング

サイトが表示されない、管理画面に入れない、などの場合以下を試してみましょう

  • プラグインをすべて外してみる(FTPなどで別の場所にバックアップしておく)
  • 要注意はSSL系、セキュリティ系、リダイレクト系プラグイン
  • .htaccessを元サイトから持ってきてみる
  • PHPのバージョンなどが合っているかどうか確認(5系、7系など)

[6]の段階で新規のWPが既に動いていることを確認済みなので、それほど深刻なトラブルもなく、スムーズに移行できるはずです。ちなみに、ユーザー情報(IDやパスワード)もすべて元サイトと同じになっていますので、そのままログインできます。

私も色々なパターンの移行を経験してきましたが、やはりこの方法が一番楽です!是非お試しください。