【備忘録】「All-in-One WP Migration」プラグインを使って同一ドメインで別サーバーへのサイト移転を行う方法

ダウンロード数を見ただけでどれほど信頼されているプラグインかが一目瞭然の「All-in-One WP Migration」プラグイン。

これを使うと

  1. サイトのファイルだけでなくデータベース情報まで1クリックでバックアップ&エクスポートできる
  2. 別のWordpressサイトへバックアップデータを簡単に復元できる

夢のようなプラグインですね。しかも普通は英語で説明がいっぱい書かれていてなんじゃこりゃ・・となりそうですが、最初から日本語だし、画面も一発ボタンだけなので本当にありがたいプラグインだと実感します。

画面サンプル(公式サイトからリンク挿入しているため表示は英語です)
エクスポート(バックアップ)画面
all-in-one-wp-migration

インポート(復元)画面
all-in-one-wp-migration

少し余談になりますが、これを使わない場合、通常Wordpressでサイトを移転するには

  1. ファイル類をFTPなどでバックアップ
  2. データベース内のテーブル類をSQL Myadminなどのツールでバックアップ
  3. バックアップしたファイルの中のwp-config.phpを移転先サイト向けに書き換え
  4. 2のデータベース情報を新サーバーへインポート
  5. 移転先サイトへ1(3を行ったもの)と2をアップロード
  6. ドメインが変わる場合には旧サイトへのリンク部分をすべて変換

がセオリー。でもこれだとすごく時間がかかりますし、たいていの場合はデータベースのバックアップデータをインポートするときにエラーが出たり、1つのデータベースに複数のWordpressをインストールしているような環境では現在動いているサイトの情報を誤って書き換えることでサイトが壊れてしまったりして大変なことになります。

データベースの移行については「All-in-One WP Migration」の公式ページでも書かれている位トラブルが多い事柄で、これを回避できずに断念する場合も多いと思います。

まあ、ダメなら手動で新サイトへWordpressをインストールし、旧サイトから記事のエクスポートをして移転先でインポート、画像などのURLを編集したりして何とか移転はできるのですが、相当な時間と根気が必要になります。

それを簡単にできそうなのが「All-in-One WP Migration」プラグイン。でも・・・本当にそうなの?実際に移転するとどうなの?という記事はあまりないのでちょっと心配ですね。

そこで今回はこのプラグインを使って実際にサイトの移転を行った過程をできるだけ細かく紹介できたらと思います。

しかも今回は同一ドメインで別サーバーへの移転ですから

  1. 旧サーバーでデータのバックアップ
  2. 新サーバーへドメインの向き先を変更
  3. 新サーバーでWordpressのインストール
  4. 新サーバーへバックアップデータを復元

とネームサーバーの変更が1つ加わるということになり、ちょっと間違うと旧サーバー上へデータの上書きをしてしまった挙句エラーですべてが・・・なんて事態にもなりかねない作業です。

※※容量制限に注意※※
「All-in-One WP Migration」の無料版は512MBのインポート容量制限があります。

公式ページには

すべてのクラウドストレージとマルチサイトエクステンションは、プレミアムサポートと無制限のエクステンションが含まれています

の中にさらっと「無制限」という項目が書かれており、リンクをクリックして作者のサイトを見て初めて容量制限に気づく場合もあります(インポートメニューの中にも小さい文字で書かれていますが、移転前に気づく方はいないでしょう)

従って、無料で移転を!!とお考えの方はあらかじめ不要ファイルを極限まで減らしてからエクスポートしてみて制限サイズに収まるかどうかをテストしてください。

※エクスポートには制限がない!というところが・・・・・ですよねぇ。仕方なく有料版を購入なんてことにならないようにしてくださいね。

ちなみに有料版は69ドル(現在のドル円レートでで7,000+α円位)です。1サイトのみの移転であれば、手動で移転させる方法に切り替える、この程度の金額を出せばココナラなどで慣れた方に依頼した方が安価に済むと思います。

前置きが長くてすみません。毎度のごとく作業しながらこの記事を書いていますので、途中で端折ったり抜けたりすることがありますがご容赦くださいね。

スポンサーリンク



移転の際の注意

まあそんな方はいないと思いますが、サイトの移転は完全に移行が完了してチェックが済むまでは完了したとは言えません。

今回の方法で移行できたと思っても何等かのトラブルが出たり、ネームサーバーの不具合などによって表示されなくなったりすることもあります。

トラブルが発生してなかなか修復ができない場合には一旦元のサーバーに戻すなんてケースもありますから、エクスポートできたんだから旧サーバーのファイル類は不要!!とすぐにデータを削除しないようにしましょう。

旧サイトからのバックアップ

「All-in-One WP Migration」を使ったバックアップは本当に簡単

「All-in-One WP Migration」をインストールして有効化したらダッシュボードに「All-in-One WP Migration」というメニューが追加されます。

ここから「エクスポート」を選択して出てきた画面で「ファイル」を選択すればいきなりデータの作成が開始され、終わるとダウンロード画面が出てきます。なんて簡単なんだ~~。

all-in-one-wp-migration

※無料版には容量制限があります。詳しくは前項の枠内を参照ください。

※エクスポートするファイルはプラグインやテーマフォルダ内のファイル、メディアにアップロードしたファイル、データベース内のデータなどが含まれます。また、サーバー内に自動バックアップを取るようなプラグインではそのバックアップファイルも容量に含まれますから極限まで削減しないと512MBの制限内には全く収まりません。

・・・でめでたくダウンロードボタン発生!!でクリックしたらいきなりトラブルが・・・は次で回避方法を紹介しますね。

問題がなければ保存先を指定するダイアログボックスが出てくるので指定してダウンロードします。完了すると【〇〇.wpress】というファイルが出来上がります。

※バックアップファイルは結構大きいので、容量の小さいサーバーの場合はダウンロード後にファイルを削除した方がいいと思います(ファイルの場所は次項の中に書いています)

作成したファイルをダウンロードしようとしたら500エラー発生

予想していた通り何かが起こりますね。ファイルの作成ができていよいよエクスポート・・・で500エラーです。

500エラーはファイルの所有権がないとかサーバーに制限があって処理が実行できないとか理由はいろいろですからこうなるとお手上げ!!ではありませーーーん。

バックアップデータは一旦サーバー内の「wp-content」→「ai1wm-backups」に保存されていますからそれをFTPで引っ張り出せばOK!!無事完了しました。

※サイト移転の場合は【〇〇.wpress】ファイルのみ使用します

ドメインの向きを変える

難しい専門用語をできるだけ使わないようにしたいので「向きを変える」という単語にしてます。

要するに「〇〇.com」というドメインは今までAというサーバーの中のデータを表示するようにしていたものをBというサーバーの中のデータを表示するようにしなさいという設定をするわけです。

これは取得したドメイン管理会社(ムームーとかお名前なんとかとか・・・)へログインしてネームサーバーというやつを変更します。

ちなみに最悪元に戻したいときのために今向いている情報は必ずメモ帳などに残す、画像として残すなど控えをとっておきましょう。

どこへ向けたら??は新サーバーのヘルプなどを見て確認してくださいね

大抵は新サーバーで「ドメイン追加」などをクリックすると、ネームサーバーにこれをいれとくれ!!と指示があるので、それを現在のネームサーバー設定に上書きします。

※ここはサーバーによっていろいろですのでさらっと書いておきます

ドメインの向き先を変更してもすぐには反映されませんので、しばらく経過して同じドメインにアクセスしてみて、今までと違うものが表示されれば向き先変更は終わっていると判断していいでしょう。

※確実に向き先が変わったのを確認してから次に進まないと、今あるサイトを壊してしまう場合がありますから、ここはできる限り最大限慎重に行う必要があります!!

新サーバーへWordpressをインストール

今回は「All-in-One WP Migration」というWordpressサイトでのみ動作するプラグインを使用しますから、当然Wordpressが動いてないとどうしようもありません。

新しいサーバーでさくっとインストールしてしまいましょう(自動でも手動でもOK)

インストールできたら

バックアップの復元

いよいよ新サーバーへ旧サーバーのデータをまるっと復元します。

新サーバーのWordpressサイト(インストールしたてでまっさらなはず・・・)へ「All-in-One WP Migration」プラグインをインストールして有効化しましょう。

そしたら今度は「インポート」を選択します

容量制限に引っかからないサイズであれば、移転時のいろいろ面倒な障害を見事に回避して簡単にデータと環境の移行が完了します。

移転後アクセスしたら500エラーが出るときは

今回初めてこの方法でやってみていきなりエラーに遭遇(うまくいかないことがあるのは逆にうれしいことかも・・)しました。サイトへアクセスしたらいきなり500エラー発生!!

500エラーは結構範囲が広くて原因を見つけるのが大変。「500エラー」って検索してみるとそのエラー内容の多さにびっくりする、対処できなさそうな気がする・・・などで断念される方も多いでしょう。

でもちょっと待った!!エラーが出てるんだから対処すればいいんです。焦る必要もないんです。今回の原因と改善方法を紹介しておきますね(基本は一緒)。

まずはサーバーのエラーログを見ます。サーバーのコントロールパネルなどにログインするとどこかにログなどという項目があるはずです。そこからエラーログを表示します(サーバーによってはダウンロードしてから見るものもあります)。

そこに書かれているエラー内容を見ると、書かれている文字の内容は分からなくても「http://~/wp-content/plugins/~②」なんていうエラーが出ているファイルと行数が出てくると思います。

つまりはこれがエラーとなって表示できない(処理を進められない)だけなんです。上の例だと何等かのプラグイン(②の部分)の何かに支障があってエラーになってるということですから、サーバーの中にある同じフォルダの先頭に「xx」などをつけて強制停止してやればそのプラグインは機能しませんからエラーが回避できます。

同様にテーマだったらテーマフォルダに「xx」を付けてそのテーマが動かないようにすれば大丈夫です(もしもそれ以外にテーマがはいってなければWordpress公式サイトから適当なテーマを入手してアップロードすればいいでしょう)。

WordPressのプログラムだったら(バージョンが大幅に違うと出ることがあります)旧サーバーからそのファイルだけ移植して見れば大抵は解決します。

結論としては意味不明なコードをごちゃごちゃやるよりも、該当のプラグインやテーマ、ファイルを停止したり移植したりすれば大抵は解決するということなんですね。

プラグインやテーマの設定ファイルはデータベースの中にあるので、再インストールして有効化すると大抵の場合はまたエラーとなってしまいますから、

Wordpressのようにデータベースを使うCMSはプラグインや下書きが残していったゴミファイルがたくさん蓄積されていきます。「プラグインが残していったゴミ」を掃除できるのが「Plugins Garbage Collector」プラグインです。

を使ってデータの削除をしてみるなどするといいかと思います(ただし、このプラグインではwp-optionsというテーブルのデータは削除してくれませんから手動で削除するか、そのテーマやプラグインの使用をあきらめるかのいずれかになります)。

おまけ 不安なときは

一撃でうまくいけば大丈夫ですが、やはり100%ではないというのも確かなこと。そんなときに一生懸命書いた記事がなくなってしまうことのないよう最低でも投稿や固定ページのバックアップ(エクスポート)はしておきましょう。

バックアップするのは
Wordpressサイト内(index.phpがある場所)にあるすべてのファイルやフォルダーをパソコンに保存する
Wordpress標準のエクスポート機能を使って投稿・固定ページ・メディアなどできる限りのデータをパソコンに保存する

最悪の場合これらがあればWordpressを新規インストールしてWordpress標準のインポート機能を使えば記事の内容や画像は守れます。インポート後にいろいろ調整する必要はありますが、何日も何十日も何年もかけて作ってきた投稿や固定ページの中の内容が失われるよりはよっぽどいいですよね。

転ばぬ先の杖ということで、今回私はこちらのバックアップも一応しておきました。

おまけ SSL化したサイトを移転する場合は

サーバーの移転を考える場合、元サイトが常時SSL通信のサイトの場合もありますね。SSLの証明書の割り当ては、サイトの所有者情報とともにどこのサーバーのサイトなのかも情報として登録されますので、移転前のサイトを一旦非SSLへ戻す必要があります。

※SSL化するときにSSL証明書の割り当てはサイトのあるサーバーで行い、ドメインの向き先が違うと証明書の割り当てができないことから想像がつくと思います。

常時SSL化したサイトを非SSLサイトに戻すにはSSL化の手順をそっくり逆に行う必要があります。逆手順とは・・・

  1. ドメインのグレードアップタグを挿入している場合には削除する
  2. 内部リンクや内部参照している画像などのURLを非SSL(http)に戻す
  3. .htaccessファイルから301転送用のコードを削除する
  4. サイトアドレス・WordPress アドレスを非SSLに戻す
  5. SSL証明書の割り当てを解除する

※1について??な場合はタグ挿入をしていないことが考えられますので無視して大丈夫です。

※2について移転先のサイトで常時SSL化する場合には行う必要はありません

この段取りで非SSLに戻した上でサーバー移転し、移転完了後に改めて新しいサーバーでSSL化を行えば完成です。

つまり、現在非SSLのサイトで運営している場合は現在のサーバーでSSL化して将来的にもこのサーバーで運用するかを考えてから行った方が手順を大幅に減らすことができるということなんですね。


以上が同一ドメインでのサーバー移転手順になります。

サイト移転(サーバー移転)をお考えの方の参考になれば幸いです。

トップへ戻る