WordPressサイトの移行は、遅かれ早かれいつかは必要になる作業。別のサーバーへの切り替えを検討していたり、ローカル環境でサイトを作成したり、マルチサイトからシングルサイトへ移行したりなど、さまざまな状況が考えられます。
今回の記事では、WordPressサイトを自分で移行する方法をご紹介します。ちなみにKinstaへの移行であれば、全てお任せください。自分で設定をする必要はありません。
Kinstaでないサーバーを利用されている場合、自分でサイトを移行したい場合、またはローカル環境からオンラインにサイトを移行する場合などは、この記事が役に立つはずです。WordPressサイトを別のサーバーに移行する方法をご説明します。
どんな時にWordPressサイトを移行するのか
まずはWordPressサイトを移行する必要があるケースをいくつか見てみましょう。
- ローカル環境で開発したサイトをサーバーに(リモートでホスティングしているサイトに)アップロードする:ローカル環境で開発を行っている場合(ちなみにこれは安全な手法ですので推奨されます)、リモートサイトへ移行(公開)する作業が必要になります。ファイルだけを移行することもあれば、既存のデータをそのまま使って変更内容をテストできるようにデータベースもあわせて移行することもあります。
- サーバーの乗り換え:WordPressサイトを移行する最も一般的な理由の1つがこれです。通常、サイト移行は非常にシンプルです。KinstaのようなWordPressサーバーには、無料の移管代行サービスがあります。サイトの設定が複雑な場合、または自分で移行したい場合には、この記事の手順をご活用ください。
- WordPressマルチサイトからのサイトの移行:マルチサイトを運営していて、そこから個々のサイトを分離するケースがこれにあたります。対象となるサイトのみを分離して、新しくWordPressコアファイルを用意(インストール)する必要があります。これは、単純なシングルサイトを扱うよりも複雑ですが、実行は可能です。
- シングルサイトからマルチサイトへの移行:既存のシングルサイトをマルチサイトに加えることもできます。(繰り返しになりますが)1つのサイトから別のサイトに移行するよりも少し複雑になります。私個人のお話ですが、既存のサイトを別のマルチサイトに組み込みたいというご要望にお応えして、対応することがあります。個人的にはどのクライアントのサイトでも、マルチサイト化の検討を推奨しています。
WordPressサイトの移行となると、最も簡単な方法がプラグインの使用です。
WordPress Duplicatorプラグインを使ってWordPressサイトを移行する方法
Kinstaでは、移行に使えるプラグインとして、無料で使えるWordPress Duplicatorをおすすめしています。プラグイン画面からサイトにインストールできます。
Duplicatorを使って、別のサーバーにサイトを移行する方法を見ていきましょう。
この手順は、WordPressのバージョンにかかわらず、WordPressサイトをあるサーバーから別のサーバーに移動するのに有効です。マルチサイト全体の移行も可能です。マルチサイト化、またはマルチサイトからシングルサイトへの移行については、後ほどご説明します。
Duplicatorプラグインを使うことで、2つのファイルが生成できます。
- zipファイル(移行元サイトのファイルとデータベースを格納)
- installer.phpファイル
このファイルを新しいサイトにアップロードし、installer.phpファイルを実行します。 プラグインによりzipファイルが解凍され、データとファイルのインポートが始まります。
それでは、具体的な操作方法を見てみましょう。
Duplicatorで移行を開始する前に
移行を開始する前に、いくつかの手順を踏む必要があります。
元のサイトをクリーンアップする
まずは、元のサイトをクリーンアップしましょう。使用していないプラグインやテーマを削除してください。さらに、WordPress、テーマ、プラグインを最新バージョンに更新します。 不要なコードを排除した状態でサイトを移行するのが理に適っています。
キャッシュ系プラグインを無効化する
キャッシュ系プラグインは移行を妨げる可能性があるため、移行元サイトで該当するプラグインを使用している場合には無効化してください。Kinstaへのサイト移行の場合には、使用禁止プラグイン一覧(※これにはキャッシュプラグインが含まれます)があるため、ここにあるものを使用しないようにご注意ください。
元のサイトのバックアップを取る
WordPressサイトを別のサーバーに移行する際には、サーバー環境にかかわらず、必ずサイトのバックアップを作成しましょう。バックアッププラグインやホスティングサービス/サーバー会社の管理画面を使用して、元のサイトのバックアップを作成することができます。作成したファイルはサーバー以外の、安全な場所に保管しましょう。
新しいサイトを作成する
新しい空のサイト(WordPressがインストールされていないもの)を別の場所に作成する必要があります。
Kinstaに移行する際には、MyKinstaから新しいサイトをものの数分で作成できます。MyKinstaの「サイト」に移動して、右上隅にある「サイトを追加する」ボタンをクリックします。
その後、ファイルをそのサイトにインポートできますのでご安心ください。この例では、WordPressをインストールしないで進みます。
ローカルサイトに移行する場合には、WordPressを実行できるように、Desktop Serverなどのツールをインストールする必要があります。別のサーバーにインポートするには、「/public/」ディレクトリにSFTPでアクセスできる必要があります。WordPressをインストールする必要はありません。
マルチサイトネットを移行する
マルチサイトネットワークをKinstaに移行する時(サブディレクトリを利用している場合)には、 Kinstaカスタマーサポートにご連絡の上、Nginxの特別な設定についてご相談ください。
別のサーバーへの移行を行う場合は、それを実行する前に、必ず何が必要になるのか、事前に確認するようにしてください。
マルチサイトの移行に必要なさらなる手順については、 Duplicatorプラグインのガイドラインをご確認ください。ここでの説明は、別のサーバーやドメインを使用した移行にのみ適用されます。
元のWordPressサイトからファイルとデータのアーカイブを作成する
移行の最初のステップとして、元のサイトからファイルを作成し、新しいサイトにそれをインポートできるようにします。
まずはWordPress Duplicatorプラグインをインストール、有効化します。「プラグイン」>「新規追加」の順に進み、「WordPress Duplicator」を検索します。そして、プラグインの「インストール」ボタン、「有効化」ボタンの順にクリックします。
次に、サイトの移行に使用するアーカイブファイルを作成します。管理者メニューの「Duplicator」をクリックして、プラグインの設定画面に移動します。
この画面には、作成したすべてのパッケージ(つまりサイトのアーカイブ)が表示されます。今は空の状態です。
サイトのアーカイブを作成するには「Create New」ボタンをクリックします。
その後、次のようにパッケージの詳細情報を入力するセットアップ画面が表示されます。
- Name:自分にとってわかりやすいパッケージ名を入力します。
- Storage:パッケージファイルの保存場所を指定します。プラグインの無料版では、ウェブサーバーに保存できます。これを選んだ場合、後でダウンロードするか、プラグインにより送信されるメールからファイルを取得します。有料版ではDropboxやGoogle Driveなどのサードパーティのストレージサービスが使用できます。これを使用するには、連携のためにアカウントへのサインインが求められます。
- Archive:データベースのみをアーカイブするか、データベースとファイルの両方をアーカイブするかを指定します。サイトを移行する際には、どちらも必要になります。チェックボックスにはチェックを入れないままにしておきましょう。
- Installer:このセクションでは、パスワードを追加してパッケージのパスワード保護を有効にできます。サイトのすべての情報を含むファイルを作成するため、セキュリティは重要です。
次に「Next」ボタンをクリックして続行します。
プラグインがシステムをスキャンし、問題ないかどうかを知らせてくれます。
何かしらの問題があれば、プラグインにより提供される指示に従ってください。開始前にサイトをクリーンアップする手順を踏んでいるので、問題はないはずです。
次に「Build」ボタンをクリックしてアーカイブの準備をします。処理が完了するまで待ちましょう。この時に別の画面に移動したり、閉じたりしないでください。
完了すると、パッケージファイルをダウンロードする選択肢が表示されます。
「One-Click Download」ボタンをクリックして、両方のファイルをパソコンにダウンロードします。安全な場所に保存するようにしてください。
これでアーカイブが取得できました。
新しいサイトにアーカイブをインポートする
次のステップで、ファイルを新しいサイトにインポートします。
SFTPを使用して、2つのファイルを新しいサイトの「/public/」ディレクトリにアップロードします。これには、FTPクライアントが必要になります(FTPとSFTPの違いについてはこちら)。
ここまで完了したら、ブラウザでURLを開いてインストーラーを実行します。ドメインの移行はまだ完了していないので、新しいサイトの一時的なURLを使用してこれを行います。
一時的なURLが「http://temp.kinsta.com」だとすると、ブラウザで「http://temp.kinsta.com/installer.php」にアクセスします。
これにより、Duplicatorの画面が開きます。
Duplicatorファイルのセットアップ時にパスワードを設定した場合には、それを入力して「Submit」ボタンをクリックします。
その後、インポートの確認作業が始まります。次の画面で、下部にあるチェックボックスをクリックしてから、「Next」ボタンを押します。
すると、プラグインによりアーカイブファイルの解凍が始まります。これには、サイトのサイズによっては時間がかかる場合があります。次に、新しいデータベースをインストールします。これには以下の情報が必要になります。
- ホスト名
- パスワード
- ユーザー名
上記の情報を使用し、サイトが設定されます。
この情報はすべて、MyKinstaであれば、該当するサイトの「情報」画面から確認することができます。
別のサーバーに移行する場合には、カスタマーサポートに質問するか、登録時に送られてきたメールを確認してみてください。
ボタンをクリックして、データベースが正しく機能しているか確認し、必要に応じて修正を加えます。システムに問題がなければ「Next」ボタンをクリックします。
次に、Dupplicatorプラグインの「ステップ3」に進みます。このステップでは、一時的なURLを使用することで、新しいサイトのデータベースが稼働します。「Next」ボタンをクリックして「ステップ4」に進むと、サイトにログインできます。
サイトにアクセスすると、元のサイトの完全な複製が作成されているはずです。ここでの唯一の違いはドメインだけです。
ドメインのリダイレクト
新しいサイトをチェックし、正常に機能していることを確認したら、旧ドメインから新しいドメインにリダイレクトを設定します。
サーバーの切り替え時には、ドメインのDNS情報を変更し、移行先である新しいサイトに紐付ける必要があります。
ご利用中のドメインレジストラの設定画面にて、移行先を反映するようにネームサーバー、AレコードまたはCNAMEレコードを編集します。どれを使用するかは、サイトのセットアップにより異なります。
メールなどにもドメインを使用する必要がある場合は、(新しいサーバーにドメイン名のすべてのバージョンが紐付けられることになるため)ネームサーバーの変更は避けるべきでしょう。
これが完了したら、サーバーの管理者画面(KinstaであればMyKinsta)でドメインを追加します。MyKinstaであれば、サイトの「ドメイン」ページに移動し、ドメインを追加することができます。
別のサーバーであれば、そこで採用されている方法でドメインを追加し、新しいサイトにリダイレクトするよう設定します。各種サービスのドキュメントやサポートをご利用ください。
ここまで終えたら、もう少しだけやることがあります。
最後に、WordPress管理画面でドメインを編集します。サイトで「設定」>「一般」に移動して、URLフィールドを見つけます。ちなみにこれは、DNSが伝搬し、ドメイン側での新しいサイトへの紐付けが完了した後にのみ行うようにしてください。
これには最大48時間かかることがありますが、多くの場合、それよりも早く完了します。
調整するのは以下の2つのフィールドです。
- WordPressアドレス:これはサイト自体のアドレスなので、サイトで使用しているプライマリドメインをここに入力します。
- サイトアドレス:サイト訪問者に対して、実際のサイトアドレスとは別のアドレスを表示する場合には、このフィールドで指定します。両方が同じ(それが普通です)で問題なければ、両方のフィールドに同じ最新のアドレスを入力します。
入力が終わったら「変更を保存」ボタンをクリックして、URLを保存します。
これで、移行先でサイトが動作するようになりました。元のサイトとサーバーが不要であれば、過去のサイトを削除し、以前のホスティングアカウントを削除(契約解除)してしまいましょう。
プラグインを使用してWordPressマルチサイト内外へサイトを移行する
あるサイトをWordPressマルチサイトに移行する、またはWordPressマルチサイトからサイトを分離する場合、プラグインが使えます。しかし、この目的にWordPress Duplicatorプラグインは使用しません。というのも、データベースとファイル全体を移行する代わりに、必要なサイトのファイルのみを移行する必要があるからです。
プラグインを使用してマルチサイト内外への移行を行うには、3つのプラグインを使用する必要があります。
- コンテンツを移行するためのプラグイン
- ウィジェット設定を移行するためのプラグイン
- ユーザーを移行するためのプラグイン
設定によっては、このすべてを使用することは必須ではありません。詳しくは、順番に見ていきましょう。
WordPressマルチサイト内外へファイルを移行する
コンテンツや設定を移行する前に、テーマとプラグインのファイルを移行する必要があります。これは、次の2つの方法のいずれかで実行できます。
- テーマまたはプラグイン画面を使用して、新しいサイトに同じプラグインとテーマをインストールする(サードパーティから購入した場合には、そこから再び入手してアップロード)
- SFTPを使用して元のサイトからテーマとプラグインのファイルをダウンロードして、新しいサイトにアップロードする
どちらでも問題ありませんが、テーマやプラグインがサイト専用に開発されている場合には、元のサイトからダウンロードして新しいサイトにアップロードする必要があります。ファイルのバックアップをローカル環境に保管している場合、またはGithubなどのバージョン管理システムを使用している場合(※後者を推奨)には、そこからアップロードできます。
(関連記事: GitのGithub違い&それぞれの利用方法)
テーマやプラグインをWordPressマルチサイトにある個々のサイトにアップロード、インストールするには、まずネットワーク全体にインストールしてから、個々のサイトで有効化の判断をします。これの詳細は、WordPressマルチサイト解説記事をご覧ください。
新しいサイトでテーマを有効化し、プラグインも全て有効化します。この際の注意点は以下の通りです。
- 新しいサイトがマルチサイトネット内にある場合は「ネットワーク」から「サイト」に移動して、作業中のサイトの下にある「編集」ボタンをクリックし、「テーマ」タブを選択すると、そこからテーマをONにすることができます。次に、新しいサイトの「外観」>「テーマ」に移動し、テーマを有効化します。
- 個々のサイトのプラグインを有効化する必要はありません。代わりに、インストールを終えたら、サイトの「プラグイン」画面に移動し、そこから有効化することができます。
- ネットワーク内のサイトからシングルサイトへの移行の場合には、通常のサイトの場合と同様に、テーマとプラグインをインストール、有効化するだけでOKです。
これで、すべてのファイルが新しいサイトで用意できました。テーマとプラグインの設定を忘れずに行ってください。というのもプラグインを使用しての移行では、設定をそのまま反映することはできず、一つ一つ調整していく必要があります。
ウィジェットについては設定不要です。以下で扱いますが、これにはプラグインが使用できます。
マルチサイト内外へユーザーの情報を移動する
移行するサイトに自分以外のユーザーがいる場合は、ユーザーを元のサイトから新しいサイトにエクスポートする必要があります。自分が唯一のユーザーであれば、新しいサイトの作成時にユーザーとして自分自身のアカウントを作成するため、この手順はスキップできます。
WordPressのマルチサイトでは各サイトごとにユーザーが保存されないため、ユーザーのインポートとエクスポートは複雑です。個別に保存することなく、「wp_users」という、ネットワーク全体を網羅した1つのデータベーステーブルにすべての情報が保存されます。
ネットワーク内のあるサイトからユーザーの情報を取得する場合は、ネットワーク上の他のサイトに登録されているユーザーではなく、その特定のサイトのユーザーのみをエクスポートする必要があります。一方で、ネットワーク内のサイトにインポートする場合は、ネットワーク上の他のサイトではなく、そのサイトでのみユーザーを有効化します。
サイトに複数のユーザーがいる場合には、コンテンツをインポートする前に、この手順を済ませてください。そうすることで、新しいサイトにインポートしたときに正しいユーザー(記事の作者)をそれぞれのコンテンツに割り当てることができます。
Import Export WordPress Usersプラグインを使用して、サイト間でユーザーを移行できます。
元のサイトと新しいサイトの両方でプラグインをインストールして有効化することから始めましょう。次に、移行元のサイトで「ユーザー」>「User Import Export」に移動します。
上部の「User/Customer Export」タブを選択します。エクスポートするユーザー権限を選択(デフォルトのままにすると、すべてのユーザー権限がエクスポートの対象になります)し、下にスクロールして「Export Users」ボタンをクリックします。
これでCSVファイルがパソコンにダウンロードされるので、分かりやすい場所に保存しておきましょう。インポートに利用するのですぐに見つけられるようにしておきます。
新しいサイトで「ユーザー」>「User Import Export」に進み「User/Customer Import」タブを選択します。
作成したCSVファイルをアップロードし「Upload file and import」ボタンをクリックします。ユーザーが新しいサイトにインポートされます。
マルチサイト内の特定のサイトを扱う場合には、ネットワーク管理者画面ではなく、個別のサイトでインポートとエクスポートを行います。インポートしたユーザーは、ネットワーク全体のデータベースに追加されますが、1つのサイトでのみ有効化されます。
WordPressマルチサイト内外へコンテンツを移行する
まずはコンテンツをエクスポートします。「ツール」>「エクスポート」に移動します。「すべてのコンテンツ」を選択し「エクスポートファイルをダウンロード」ボタンをクリックします。
ダウンロードファイルは、すぐに見つけやすい場所に保存してください。フォーマットはXML形式になります。
元のサイトにカスタム投稿タイプやカスタムタクソノミーがあった場合は、新しいサイトにコンテンツをインポートする前に、これを設定しておくことが重要です。まだの場合には、前のステップに戻って、元のサイトと同じようにテーマとプラグインが新しいサイトにインストールされ、有効になっているか確認してください。
新しいサイトを開き「ツール」>「インポート」に移動します。「WordPress」セクションまでスクロールします。プラグインが既にインストールされている場合は、「インポーターの実行」をクリックします。インストールがまだの場合には、先にインストールを済ませてから、有効化をして、実行してください。
インポートするファイルを指定する画面が表示されます。「ファイルを選択」をクリックし、元のサイトからエクスポートしたファイルを見つけ「ファイルをアップロードしてインポート」ボタンをクリックします。
続いて、新しいサイトでユーザーにコンテンツを割り当てるよう求められます。そのため、コンテンツをインポートする前にユーザーをインポートしておくことが重要です。まだこれを行っていない場合は、コンテンツのインポートを一時停止し、前の手順に戻りましょう。
該当するユーザーを選択し「添付ファイルをダウンロードしてインポートする」チェックボックスにチェックを入れます。元のサイトから添付ファイルを見つけ、可能であればそれを取得した上で、新しいサイトにインポートされます。セキュリティやアクセスの問題でこれが機能しないこともありますが、オンラインの(ローカル環境ではない)サイトから別のオンラインのサイトに移行する場合、通常、問題なく機能します。
「実行」ボタンをクリックすると、ファイルのアップロードとコンテンツの作成が始まります。処理が完了した際には、通知が届きます。投稿に移動すると(管理メニューの「投稿」をクリック)、インポートした投稿が新しいサイトに反映されているはずです。
サイト移行は順調に進んでいます。残すところは、ウィジェットの設定の移行だけです。
マルチサイト内外へウィジェットを移行する
最後のステップは、ウィジェットの移行です。手作業で一つ一つ設定する必要はありません。Widget Importer & Exporterプラグインが使えます。
まずは元のサイトと新しいサイトの両方にプラグインをインストールして両方を有効化します。
元のサイトで、「ツール」>「Widget Importer / Exporter」に移動します。すると「Widget import/export」画面が表示されます。
「Export Widgets」ボタンをクリックすると、ウィジェットの設定が含まれたファイルをパソコンにダウンロードできます。
次に、新しいサイトを開きます。元のサイトと同じテーマとプラグインがインストールされ、有効になっていることを確認してください。というのも、その内のいずれかがウィジェットの機能を担っている可能性があるからです。
このウィジェットのインポート作業により、ウィジェット自体はインポートされません。代わりに、ウィジェットの設定をインポートすることになります。ウィジェットエリアを統一するために、同じテーマを有効化するようにしましょう。
「ツール」>「Widget Importer/Exporter」に移動します。今回は、「ファイルを選択」ボタンをクリックして、元のサイトからダウンロードしたばかりのファイルをアップロードします。.WIE拡張子になっています。
「ウィジェットのインポート」ボタンをクリックします。インポートが始まり、その後、ステータスが確認できるインポート結果画面が表示されます。
もし何かしらのウィジェットエリアが不足していれば、元のサイトのウィジェットがインポートされても、ウィジェット管理画面の「使用停止中のウィジェット」エリアに追加されることになります。
また、(おそらく有効化していないために)新しいサイトで利用できないウィジェットをインポートしようとすると、エラーメッセージが表示されます。そのような場合には、プラグインをインストールして有効化し、インポートを再度実行してください。プラグインにより既にインポートしたウィジェットは複製されないのでご心配なく。
これで、新しいサイトと元のサイトの両方が、全く同じ状態になっているはずです。新しいサイトのすべての設定と構成を確認し、元のサイトと一致するようにしましょう(または、変更が必要であれば微調整してください)。
次に、元のサイトがマルチサイト上にあった場合には、ネットワーク管理者にアーカイブまたは削除を依頼しておきましょう。元のサイトがシングルサイトであった場合、不要であれば削除してしまってOKです。
WordPressサイトをプラグインを使わず移行する
SFTPとMySQLの扱いに慣れているならば、こちらの方法もあります。プラグインを使用することなく、サイトを素早く移行可能です。
ここでは、1つのWordPressシングルサイトを別のサイトへ移行することに焦点を当てます。次のセクションでは、これがWordPressマルチサイトでどのように異なるかを扱います。
新しくWordPressをインストールする
まずは、真っさらな状態のWordPressコアファイルを使って新しいサイトを作成しましょう。
MyKinstaで、管理メニューの「サイト」をクリックし、画面右上の「サイトを追加する」ボタンをクリックします。すると、作成するサイトの種類を尋ねるダイアログボックスが表示されます。
サイトのデータセンターを選択し、サイト情報を入力して「WordPressをインストールしない」を選択します。
これは、元のサイトからWordPressファイルを移行するためです。新しいサイトを立ち上げ設定する間、ドメインは元のサイトに残しておきたいので、今のところは独自ドメインは空白のままにします。
「サイトを追加する」ボタンをクリックすると、新しいサイトが作成されます。
Kinstaを使用していない場合には、任意のサーバーの管理画面を使用して新しいサイトを作成してください。ここで必要となるのは、サイト移動先のフォルダの作成です。対象となるサーバーで他のサイトを所有していない場合には、この手順をスキップして、次の手順へ進みファイルを「/public/」フォルダにアップロードしてください。
SFTPを使用してファイルをエクスポートする
次のステップでは、元のサイトから新しいサイトにファイルを移行します。これには、テーマファイル、プラグイン、アップロード、そして、プラグインにより「wp-content」ディレクトリに追加したその他のファイルが含まれます。
SFTP経由で元のサイトにログインし、WordPressファイルをダウンロードします。サイトがサーバーのルートドメインにある場合、すべてのファイルをダウンロードしてください。WordPressをサブディレクトリにインストールしている場合には、そのディレクトリのコンテンツをダウンロードします。
サイトにアクセスするには、SFTP情報が必要です。MyKinstaでは「サイト」をクリックしてから該当するサイトの名前をクリックし「情報」タブへ移動すると、これを確認できます。
以下に、無料のFileZilla FTPクライアントで表示したサイトのファイルを示します。
元のサイトからデータベースをエクスポートする
新しいWordPressサイトには、ファイルだけでなく、元のサイトのデータベースの複製も必要になります。これを行うにはMySQLツール(通常、phpMyAdmin)を使用します。
移行元サイトのサーバー管理画面で、phpMyAdminにアクセスします。
MyKinstaであれば「サイト」をクリックして特定のサイトを選択し「情報」画面に移動します。「データベースへのアクセス」セクションで「phpMyAdminを開く」ボタンをクリックします。
データベースのユーザー名とパスワードの入力を求められます。これは、サーバーのアカウントのパスワードとは異なりますのでご注意ください。
MyKinstaでは、「情報」画面の「データベースへのアクセス」セクションでデータベースのユーザー名とパスワードを確認できます。別のサーバーに移行する場合には、アカウント登録に際して通知されるか、または管理画面で確認できるはずです。
phpMyAdminで、「データベース」タブをクリックします。これにより、ホスティングアカウントで作成したすべてのデータベースが表示されます。
コピーするサイトに対応するデータベースの名前をクリックしてください。すると、データベース内のすべてのテーブルが表示されます。
テーブル一覧の下にある「すべてチェックする」のチェックボックスをクリックし、その横にあるドロップダウンメニューから「エクスポート」を選択します。
PhpMyAdminの新しい画面が表示されます。次に、画面の右下にある「実行」ボタンをクリックします。
SQLファイルのエクスポートとダウンロードが始まります。後から見つけやすい場所に保存してください。
新しいWordPressサイトにファイルをインポートする
次のステップでは、用意したファイルをすべて新しいサイトにアップロードします。
新しいサイトの運営にKinstaを利用する場合には、MyKinstaにアクセスして、SFTP経由で接続するための認証情報を確認できます。管理メニューの「サイト」をクリックしてから、サイトの名前をクリックします。「情報」画面にSFTPの情報が表示されます。
FTPクライアントで、次の情報を指定して接続します。
- 接続タイプ:SFTP
- ホスト名、アドレス、サーバー、URL:あなたのIPv4アドレス
- ユーザー名:あなたのSFTPユーザー名
- パスワード:あなたのSFTPパスワード
- ポート:あなたのSFTPポート
元のサイトと同じディレクトリ(通常は「/public/」ディレクトリ)にファイルをアップロードします。
アップロードには時間がかかるかもしれません。コーヒーでも飲んで気長に待ちましょう。
データベーステーブルを新しいサイトにインポートする
最後の手順は、データベーステーブルのインポートです。
新しいサイトのホスティングインターフェースで、phpMyAdminにアクセスします。MyKinstaでは、サイトの「情報」画面から利用できます。
誤って先にWordPressをインストールしてしまった場合、または既存のWordPressサイトを上書きする必要がある場合は、既存のデータベーステーブルを削除します。元のサイトからエクスポートするときと同じ方法で、すべてのテーブルを選択し、ドロップダウンメニューから「削除」をクリックします。
テーブル削除を確認するプロンプトが表示され、データベース内のすべての情報が削除されます。これの実行に自信がない場合には、まずテーブルをエクスポートして、データベースのバックアップを作成することをおすすめします。
データベーステーブルを削除したら(または最初からデータベースがない状態で)、元のサイトから新しいサイトにテーブルをインポートします。
phpMyAdminで、「インポート」タブをクリックします。「インポートするファイル」セクションで「ファイルを選択」ボタンをクリックし、ダウンロード済みの、パソコン上のSQLファイルを選択します。
ページの一番下に移動して「実行」ボタンをクリックします。SQLファイルがアップロードされ、これを使用して、新しいサイトのデータベーステーブルが作成されます。この中身は、元のサイトのデータベーステーブルと同じになります。
サイトをローカル環境またはKinsta以外のサーバーに移行する場合には、テーブルをインポートする前に空のデータベースを作成する必要がある場合があります。phpMyAdminでは、「データベース」画面に移動し「データベースを作成する」ボタンをクリックしてこれを行います。データベースに名前を付け、そこにテーブルをインポートしてください。
wp-config.phpファイルを編集する
データベースをアップロードしたら、新しいサイトでwp-config.phpファイルを編集して、作成したばかりのデータベースを反映するようにします。
FTPクライアントに戻り、新しいサイトのwp-config.phpファイルを見つけます。(万が一に備えて)バックアップとして、コピーを作成します。次に、ファイルを右クリックして「編集」を選んで開きます。次にデータベースの詳細情報のあるセクションを見つけます。
MyKinstaの「情報」画面にあるデータベースの認証情報を使って、該当する複数行を編集します。サイトがローカルマシン上にある場合は、次の認証情報を使用してください。
- 名前:データベース作成時に指定した名前
- ユーザー名:root
- パスワード:root
サイトを別のサーバーに移行する場合には、そのホスティング管理画面で上の認証情報を見つける必要があります。
サイトをテストしてドメインを更新する
これで、新しいWordPressサイトがセットアップできました。正常に機能しているかテストしてみてください。データベースをテストする時は、元のサイトではなく新しいサイトに向けたリンクのみテストしましょう。データベース内の一部のリンクには元のドメイン名が残っていることがわかります。
サイトをテストしたら、ドメインの変更作業を行うため、これは特に問題ありません。
元のサイトと新しいサイトを比較し、中身が一致しているか確認しましょう。
ドメインを新しいサイトにリダイレクトする
新しいサイトの準備ができたので、元のサイトを停止し、 ドメインを新しいサイトへリダイレクトします。
この手順は、Duplicatorプラグインを使用する場合と同じですので、この記事の該当するセクションに戻ってご確認ください。
これで、新しいサイトが無事に稼働するはずです。元のサイトが不要になったら削除して、必要に応じてホスティングアカウントも閉鎖します。これで完了です。
WordPressマルチサイトをプラグインを使わずに移行する
マルチサイトをプラグイン無しで移行することも可能です。プラグインを使用したくない時には、こちらの方法があります。
特定のデータベーステーブルとファイルのみを移行するので、作業は複雑になります。
手順を全て説明する代わりに、上記のプラグインを使わない移行を基にしながら実行できるように、違いを概説します。
ネットワーク全体を移行する場合、インストールデータ全てを移動するため、手順はシングルサイトの場合と同じになります。ここでは、マルチサイト内外への特定のサイト(1つまたは複数)の移行に焦点を当てます。
新しいサイトを作成する
ネットワーク全体を移行することはない(ここでは対象外)ため、まずはWordPressをインストールする必要があります。既存のネットワークに移行する場合には、既に存在するため、これを行う必要はありません。
ファイルを移行するとき、WordPressファイルをインポートするのではなく、wp-contentディレクトリのコンテンツのみをインポートします。
ファイルをエクスポートする
独立したサイトをネットワークにエクスポートするとき、ファイルのエクスポートの手順は上と同じです。
既にマルチサイトネットにある特定のサイトをエクスポートするには、その特定のサイトのファイルだけを見つける必要があります。
プラグインとテーマから始めましょう。ダウンロードする必要があるのは、ネットワークにインストールされているすべてのプラグインとテーマではなく、その特定のサイトで使用されているプラグインとテーマのファイルのみです。サイトの管理画面で必要なプラグインとテーマを確認してから、それを「wp-content/themes」と「wp-content/plugins」ディレクトリからダウンロードします。
マルチサイトでは、アップロードはサイトごとに個別に保存されるので、エクスポートするサイトのそれのみをダウンロードしましょう。
サイトのIDを見つけましょう。これは数字になります。ネットワークの「ネットワーク管理」>「サイト」画面から確認できます。次に「wp-content」ディレクトリで「uploads/sites」フォルダを開き、サイトID(番号)が名前になっているフォルダを見つけます。そのフォルダの中身をダウンロードしてください。
データベーステーブルをエクスポートする
ネットワーク内のサイトからエクスポートする場合、そのサイトに関連するテーブルのみをエクスポートします。phpMyAdminで、「wp-id-name」という名前のテーブルを見つけます。実際には「id」はサイトのIDで「name」は各テーブル固有の名前です。該当するものすべてを選択し「エクスポート」をクリックします。
以下の例をご覧ください。ネットワーク内に位置するあるサイトのもので、ここでは、プラグインにより各サイトに追加のデータベーステーブルが作成されています。これについてもエクスポートする必要があります。
これを行ったら、次は、シングルサイトにインポートする前に、テーブル名を編集します。SQLファイルのバックアップを作成し、元のファイルを開きます。(たとえば)wp-3-のすべてのインスタンスを検索します。ここでの「3」はサイトのIDです。これをwp-に置き換えます。ファイルを保存し、編集したばかりのファイルを新しいサイトへのインポートに使用します。
ファイルをインポートする
マルチサイトネットワーク内に位置するサイトにインポートする場合は、wp-content/uploads/sitesにある正しい番号のフォルダにアップロードする必要があります。
つまり、WordPressがこのフォルダを作成できるように、最初にネットワークに新しいサイトを作成することになります。これのやり方については、WordPressマルチサイト解説記事をご覧ください。
テーマファイルとプラグインファイルをインポートしたら、通常のWordPressサイトの場合と同じように、それぞれ「wp-content/themes」と「wp-content/plugins」フォルダにアップロードします。
データベーステーブルをインポートする
マルチサイトネットワーク内のサイトにインポートする場合は、それを実行する前に、SQLファイルのテーブルに正しいプレフィックスがあることを確認してください。
移行するネットワークに新しい空のサイトを作成したら、そのサイトのIDをメモします。元のサイトからダウンロードしたSQLファイルのバックアップを作成して、元のサイトを開きます。そのファイルで、wp-のすべてのインスタンスを(たとえば)wp-3-に置き換えます。実際には「3」の部分を新しいサイトのIDに変えてください。そしてファイルを保存します。
次に、phpMyAdminで、ネットワーク内の新しいサイトに作成されたファイル(プレフィックスにそのサイトのIDがあるすべてのファイル)を選択し、削除します。完了したら、新しいファイルをインポートして、そのテーブルの新しいバージョンを作成します。
間違ったファイルを削除したり、SQLファイルの編集をミスしたりすると、マルチサイト全体が破損する可能性があります。phpMyAdminでの作業に慣れている場合にのみ、これを行ってください。何れにしても、先にネットワークのバックアップを作成してください。
ユーザーをインポートする
ユーザーはネットワーク内の個々のサイト別ではなくネットワーク全体として保存されるため、WordPressマルチサイト内外へユーザーをプラグインを使わずエクスポートする方法はありません。
唯一の方法は、先に触れたプラグインを使用することです。その他すべてのファイルとテーブルをインポートした後に、これを行なってください。
この方法でインポートすると、ユーザーは、投稿と作者の紐付けに関して、同一のものと認識されませんのでご注意ください。すべての投稿/ページを移動して、それぞれを適切な作者に手作業で割り当てていく必要があります。
サイトをプレビューする
マルチサイトのサブサイトまたはマルチサイトの移行が完了したら、パソコンのhostsファイルを編集して、移行したサイトを簡単にプレビューすることができます。また、ローカルDNSを、サイト移行先のサーバーに紐付けることも可能です。hostsファイルの詳しい編集方法については、こちらの解説記事をご覧ください。
まとめ
ホスト間またはローカル・リモート間のWordPressサイトの移行は、多くのWordPressユーザーがいつか直面することになる作業です。これには、いくつかの方法がありますが、主な違いは、プラグインを使用するかしないかです。
Kinstaへの移行の場合には、私たちがサイトの移行作業をこなしますのでご安心ください。
または、WordPressサイトを自分で移行するとなれば、上記の手順を、元のサイトと同一の新しいサイト作りにご活用ください。
コメントを残す