こんにちは、三田です。

本日は、wordpressのサーバー移行をプラグインで行う方法についてご紹介いたします。

僕が使用しているのはエックスサーバーですが、基本的な動きはロリポップなどの他サーバーであっても同じだと思います。

僕も初めてするまではデータが飛んでしまわないかと不安に思っていたのですが、取り組んでみるとかなり簡単でした。データ移行などでトータル時間は1時間以上かかると思いますが、実作業ベースでいうと15分ぐらいになると思います。

サーバー移行の手順

僕が行ったのは、エックスサーバーからエックスサーバーへの移行です。そのため、エックスサーバーから他サーバーへの移行だと微妙に違いますが、基本は以下のステップになります。

移行手順

  1. 旧wordpressにプラグイン「All-in-One WP Migration」をインストールする
  2. 旧wordpressの更新をすべて完了させる
  3. プラグインで、旧wordpressのデータをエクスポートする
  4. 旧サーバーパネルから、ドメインを削除する
  5. 新サーバーパネルに、ドメインを追加する
  6. 新サーバーパネルで、wordpressをインストールする
  7. 新wordpressに、プラグイン「All-in-One WP Migration」をインストールする
  8. 新wordpressに、データをインポートする
  9. 新wordpressを、SSL化する

時間がかかるのは、6〜7にかけてです。wordpressを新規にインストールするため、設定が反映されるまでの間は404エラーが表示されることになります。

状況によるため一概に言えませんが、30分〜数時間ほどあれば新wordpressは使えるようになると思います。

では、より詳細にご紹介していこうと思います。

1.旧wordpressに「All-in-One WP Migration」をインストール

プラグインの新規追加から「All-in-One WP Migration」を検索します。コピペで貼り付けていただければ、出てきますので、インストールを行います。インストール完了後、有効化をします。

また、新規追加の画面に戻ってきて、次は「Classic Editor」をインストールします。新規追加のトップにいると思いますが、いなければコピペで探してください。インストール完了後、有効化をします。

Classic Editorは入れなくても大丈夫な可能性もあるのですが、入れておいた方が安全だと思います。

wordpressはこれまでの投稿エディターから「Gutenberg」エディターへと移行されました。これにより、今までwordのようにつらつらと書いていたものがボックス形式へと変わりました。

過去のクラシックエディターで書いていた記事も、自動でGutenbergに置き換わってしまいます。その結果、一部表示崩れなどが現状では起こってしまいます。

そのため、あえてwordpressのバージョンを上げていない方もいると思いますが、新サーバーでwordpressを入れると、自動的に最新バージョンとなり、Gutenbergが初期セットされてしまいます。

それに伴う表示崩れを回避するためにも、Classic Editorプラグインを入れておいた方が安全だと言えます。

2.旧wordpressの更新をすべて完了させる

次に、未更新のものは更新させておきます。

wordpressは新サーバーでは自動で最新バージョンになるため、合わせて、最新バージョンに更新します。プラグインも合わせて、最新バージョンに更新します。

これは万が一に備えてです。違うバージョンのものを復元しようとすると、何らかのエラーが起こってしまう可能性が怖いです。起こらない可能性もありますが、サーバーを移行すると、旧データを消すということなので、作業の後戻りができません。

更新をしたくないという強いこだわりがないようであれば、更新をしておいた方が安全だと思います。

3.プラグインで、旧wordpressのデータをエクスポートする

ツールの下に、All-in-One WP Migrationがありますので、クリックします。

サイトのエクスポートで「ファイル」を選びます。ファイル以外のメニューは有料です。

ファイルを押すと、裏で処理が進み、このようなダウンロードボタンが表示されるので、ダウンロードボタンを押します。

ダウンロードフォルダに、以下のファイル名でバックアップデータがダウンロードされました。このファイルをインポートすることになりますので、大切に取っておきます。
「ドメイン-日付-数字.wpress」

4.旧サーバーパネルから、ドメインを削除する

データのエクスポートが完了しましたら、旧サーバーからいよいよデータを削除します。

ドメイン設定を押し、

削除ボタンを押します。

これで削除されました。

5.新サーバーパネルに、ドメインを追加する

次に、新しいサーバーにドメインを追加します。

新しいサーバーのドメイン設定を押し、

ドメインの追加を行います。

同じサーバー同士でのドメイン移行の場合、旧サーバーからドメインを消さないと、新しい方にはドメイン追加ができないかと思います。

6.新サーバーパネルで、wordpressをインストールする

ドメイン追加後は、wordpressのインストールを行います。

ここは特に気にせず、通常通りのインストール作業です。ユーザー名、パスワードなどはデータを復元したタイミングで、旧wordpressのものに置き換わりますので、新規インストールは任意のもので構いません。

設定が反映されるまでは404状態が続きます。30分〜数時間ほど待ちます。サイトへアクセスできない時間となりますので、アクセス数が気になる方は、アクセスが少ない時間を狙うと良いと思います。体感としては、朝だと30分ぐらい、夜だと数時間ぐらいかかるように思います。夜に作業するのは時間がかかるので、あまりおすすめしません。

7.新wordpressに「All-in-One WP Migration」をインストールする

wordpressのインストールが完了すると、ログインできるようになります。ログインをすると、まっさらな状態のwordpressが出来上がりました。

プラグイン「All-in-One WP Migration」のみを追加します。他にいろいろ入れても、旧データを復元すると消えるため、これだけでOKです。

8.新wordpressに、データをインポートする

ツールの下に、All-in-One WP Migrationがありますので、クリックします。

インポートを行うのですが、このままでは「Maximum upload file size: 30 MB.」と書かれていて、ほぼインストールできる方はいないと思います。(30MBまでしかファイルをアップロードできないという意味です)

「無料版の購入」ボタンを押し、ページを開きます。

こういったページが開きますので、Basicの方のDownloadボタンを押します。
all-in-one-wp-migration-file-extension.zip というプラグインの拡張機能を入手できました。

次に、プラグインの新規追加>プラグインのアップロード から先程ダウンロードをした「all-in-one-wp-migration-file-extension.zip」をインストールします。

プラグインを有効化します。

この拡張機能により、インストール上限が「512MB」まで増えました

ファイルから旧wordpressのデータをインポートします。

インポート中。ファイルの読み込みに時間が少しかかりますが、開始ボタンを押すとさくっと完了まで進みます。

インポートが完了すると、このようなウインドウが出ます。パーマリンク構造を2回保存する必要がありますとのことですので、パーマリンクの設定をクリックします。(何故か2回と出ていますが、1回の保存でOKです

ログイン画面が表示されますので、ログインをします。旧wordpressの方のログインIDとパスワードでログインします。新wordpressの方ではありません。新旧で同じIDとパスワードを使用している場合は特に気にしなくて構いません。

パーマリンクの設定ページに飛びますので、ページ最下部にある「変更を保存」を押します。2回保存と行っていますが、ここの保存ボタンは1回でOKです。

9.新wordpressを、SSL化する

以下の内容は、SSL化対応ができているサイトにおける話です。SSL化していない方がするとサイトにエラーが起きるのでご注意ください。

サイトをSSL化されている方が多いと思いますが、旧wordpressを復元すると、このSSL化が解除されてしまっています。そのため、最後にこのSSL化の設定を行います。

chromeで見ると、このように「保護されていない通信」と表示されてしまっています。

まず、設定>一般の中のURLを「http://」となっているところを、「https://」に修正します。非常に簡単ですが、絶対に間違えないようにしてください。間違えた場合は、データベースにアクセスをしてデータを直さないといけないため、けっこう面倒なことになってしまいます。

この設定を行うことで、サイトの基本の状態がSSL化されました。

次に、プラグイン「Search Regex」をインストール・有効化をします。このプラグインはキーワードの置換を簡単にできるので、「http://」となってしまっているURLを「https://」に一括置換するのに使います。

ツールの中にSearch Regexがインストールされていますので、クリックをします。

Search pattern(検索キーワード)には、「http://(あなたのドメイン).com」
Replace pattern(置換キーワード)には、「https://(あなたのドメイン).com」

を入力して、「Search」ボタンを押すと、該当のデータを検索します。

検索結果を見て、問題がなさそうでしたら、「Replace & Save」を押して、該当のデータを置換します。記事内にhttp://で始まるリンクがあると、完全なSSL化ができないためです。

ここまで対応しても「保護されていない通信」と出てしまっている場合は、まだどこかにhttp://で始まるリンクがあります。

多くが、ウィジェットやメニューにてhttpリンクを使っていることによると思います。そちらを修正してください。

これで、サイトのURLが鍵マークに切り替わり、元のようにSSL化されました。

以上で、旧wordpressのデータをすべて新wordpressの方で復元ができました。