・WordPressコンテンツファイル構成について
・WordPressコンテンツの移行方法
【1】WordPressコンテンツの手動移行
【2】WordPressプラグイン「All-in-One WP Migration」を利用した移行
【3】サーバー管理ツール「Plesk」機能を利用
今回はWordPressの移行方法をご紹介いたします。
WordPressに限らず、慣れたサーバー環境で利用し続けたいと思うユーザーが多いと思いますが、どうしてもお引っ越しをしなければならない状況が発生することがあります。
移行の理由はさまざまですが、例えば新しいWordPressバージョンを利用するにあたり、利用中のサーバーが必要なPHPのバージョンに対応していないために新サーバーへ移行することになったなどが挙げられます。
では、具体的にWordPressサイトを別のサーバーへ移行するのにどのような作業が必要なのでしょうか?
まず、移行方法をご紹介する前に、どういったファイル類があるのか、WordPressコンテンツのファイル構成を整理してみましょう。
WordPressコンテンツファイル構成について
WordPressコンテンツのファイル構成は大きく2つ、「ファイル」「データベース」となっています。
「ファイル」には、WordPressのプログラム、ユーザーがWordPressにてアップロードした画像ファイル、プラグイン、テーマが含まれます。
データベースには記事やコメント・WordPressの設定情報が含まれています。
WordPressコンテンツの移行をするためには、この2種類のコンテンツファイル類を移行すればよいということになります。
注意として、データベースの移行を忘れないことです。WordPressの記事が格納されているのはデータベースです。
HTMLで作成したWebサイトのお引っ越しと同じ感覚で、データベースの移行を忘れてしまうと、まったく表示されなくなってしまうので注意が必要です。
手動で移行する場合、2種類のコンテンツファイルは移行方法が異なります。
移行方法については、主に下記となります。
■コンテンツファイル移行方法
・ファイル:FTPにて移行
・データベース:phpMyAdminなどのデータベース管理ツールにて移行
WordPressコンテンツの移行方法
では、具体的にWordPressコンテンツの移行方法をご紹介します。
移行方法は主に以下3つあります。
【1】WordPressコンテンツの手動移行(すべてページ内リンク)
【2】WordPressプラグイン「All-in-One WP Migration」を利用した移行
【3】サーバー管理ツール「Plesk」機能を利用
【1】WordPressコンテンツの手動移行
一番手間や時間はかかりますが、移動したいファイルの選択、どのファイルを移動したか把握しやすい方法となります。
基本の方法ですが、中級者以上向けとなります。
※初心者向けの方は【2】【3】の移行方法をおすすめします。
手動移行の手順は全部で8 STEPです。それでは、早速見ていきましょう。
(1)移行元からWordPressコンテンツファイルをダウンロード(コピー)
まずは、移行元サーバーからWordPressコンテンツファイルをご利用のPCへダウンロードします。
ダウンロードなどのファイル操作はFTPを利用します。
WordPressはファイル数が非常に多いので、FTPソフトFileZillaのような、エラーになった場合に自動で再試行が可能なFTPソフトを使うのがおすすめです。
Windows版FileZillaの自動再試行設定は、上部メニュー「編集」から「設定」を選択
※Macの場合は上部「FileZilla」から「設定」を選択します。
最大99回まで設定できます。
FTP接続は「ファイル」から「サイトマネージャー」を選択します。
「新しいサイト」ボタンをクリックし、任意の分かりやすい名前を付けて、下記3点を入力します。
ホスト:移行元サーバーのIPアドレスもしくはFTPサーバー名
ユーザー:移行元でのFTPアカウント
パスワード:上記パスワード
接続後のFileZilla画面です。
下から2段目の、左側にPC上、右側にサーバー上のファイルやフォルダが表示されます。
今回はダウンロード先として、あらかじめデスクトップに「WordPressダウンロード」という名称のフォルダを作っておいたので、左側でそのフォルダを開いています。
ダウンロード先のフォルダはデスクトップに作っておくと、FileZilla上で確認しやすくなります。
右側でWordPressを含めWEBコンテンツデータが入っている「httpdocs(ディレクトリの名称はご利用のサーバーによって異なります)」を選択して、左側にドラッグします。
あとは、100回以上のエラーを繰り返さない限りは待つだけです!
データの容量によっては、何時間もかかることもあるので、時間に余裕をもって作業を開始することをおすすめします。夜間にダウンロードさせるのも手ですね。
(2)移行元からphpMyAdminでデータベースをエクスポート
WordPressを利用可能なサーバーであれば、データベース管理ツールであるphpMyAdminが最初から用意されているかもしれません。
自分でインストールする必要がある場合は、事前にFTP接続でphpMyAdminをインストールの上、初期設定を行ってからエクスポート作業に入ってください。
phpMyAdminもファイル数が多いので、お引っ越しの期日が差し迫ってから慌てることのないよう、お早めにご確認ください。
まずは、phpMyAdminにログインします。
複数のデータベースがある場合は、左側でエクスポートしたいデータベースを1つクリックして選択します。
(参考画像の場合は、データベースは1つしかありません。下にぶら下がっているのはデータベース内のテーブルです。)
続いて上部「エクスポート」をクリックします。
次のページでは、何も変更・記入せず「実行」をクリックします。
自動的にファイルがダウンロードされました。
左下に出たファイル名の右、山なりのアイコンをクリックしてフォルダを開き、ダウンロードしたファイルをデスクトップなどの分かりやすい場所に移動しておきます。
※ダウンロードの表示は、ご利用のOSやブラウザにより異なります。画像はWindows10/Chrome88のものです。
(3)移行先にFTPソフトでデータベース「以外」のデータをアップロード
STEP(1)と同様にFTPソフト(FileZilla)に移行先FTP情報を設定して、今度は左から右にドラッグします。
今回は、移行元も移行先もWeb領域が同じディレクトリ(フォルダ)名なので、フォルダごと上書きします。
ここで、余計なフォルダを挟んだ状態でアップロードしてしまうなどの失敗をしてしまうことがありますので、ご注意ください。
失敗例1)右側サーバー上ではhttpdocsを開いているのに、その中に左側のhttpdocsフォルダをアップロードしてしまう。
(フォルダを開くのであれば、左側ローカルPC上のhttpdocsフォルダも開いて全選択→右側へドラッグします。)
失敗例2)移行先のWeb領域にWebデータをまとめた「ドメイン名」フォルダを丸ごとアップロードしてしまう。
例2の場合は、その他の問題がなければ一応Webサイトの表示はできるはずですが、
http(s)://ドメイン名 ではなく、
http(s)://ドメイン名/ドメイン名 という、おかしなURLになってしまいます。
ドラッグ1つでアップロードできるとはいえ、WordPressだとファイルがたくさんあって時間がかかる場合も多いですので、ケアレスミスでやり直しになってしまうのは避けたいですね。
Web領域の直下にWordPressのインデックスページ(index.php)が来るように、再確認してからアップロードを行いましょう。
(4)移行先で新しいデータベースを作成
サーバーごとの管理画面で、新しくまっさらなデータベースを作成します。
ご利用のサービスによって、管理画面は異なりますが、本記事では、一例として、弊社のクラウドサーバーALTUSやクラウドVPSで利用可能なサーバー管理パネル「Plesk」を使った場合の画面で紹介していきます。
Pleskの画面で「ウェブサイトとドメイン」で「データベース」をクリックします。
続けて「データベースを追加」をクリックします。
任意のデータベース名、ユーザー名、パスワードを入力します。
このとき、「データベース名、ユーザー名、パスワード」と「データベースサーバー(ホスト名)」はお手元に控えておいてください。
この後の設定で使います。また、先々WordPress管理上必要になることも考えられます。
入力が終わったら「OK」をクリックします。
(5)エクスポートしておいたデータベースをphpMyAdminでインポート
今度は、移行先サーバー上のphpMyAdminでの操作になります。
もし、移行先サーバーにphpMyAdminが用意されていない場合は、事前にインストール・設定が必要です。
先ほどの「(データベース名、)ユーザー名、パスワード」でphpMyAdminにログインし、画面左側STEP(4)で作成したデータベースを選択します。
続いて上部「インポート」をクリックします。
「ファイルを選択」ボタンをクリックし、あらかじめSTEP(2)でエクスポート(ダウンロード)しておいたファイルを選択します。
下へスクロールし「実行」をクリックします。
インポートが完了しました。
(6)「wp-config.php」のデータベースに関する記述を変更
記事の最初の方で「WordPressの記事が格納されているのはデータベースです」と書きました。
「wp-config.php」には「このデータベースに格納してある情報を取り出して表示させてください」という指示の記述があります。
STEP(5)までを終えた段階では、移行「先」のサーバーに存在するWordPressも、移行「元」のサーバー上のデータベースを指定する記述になっているので、実際にはデータベースにアクセスすることができず、Webサイトの表示はできない状態です。
移行先サーバーに「ファイルマネージャー」機能が備わっていれば、ファイルマネージャー上で「wp-config.php」を開いてください。
※ファイルマネージャーがない場合は、FTPソフトで「wp-config.php」ファイルをダウンロードし、サクラエディタ・秀丸エディター・Tera Padなどのテキストエディタ―(Windowsのメモ帳はNG)でファイルの内容を編集して、移行先サーバーにアップロードします。
拡張子.phpのままで扱えない場合は.txtで保存・アップロードした後、FTPソフト上でファイル名を変更してください。
データベース名、ユーザー名、パスワード、ホスト名をSTEP(4)で作成した新しいデータベース情報に書き換えます。
なお、WordPressにログインするときのユーザー名・パスワードは、これ以降も新しく移行先で作成したものを使用します。
(7)PCにhosts設定をして表示確認
hosts設定は、ドメインの名前解決の際、DNS設定よりも優先して参照される設定です。
実際にサーバーを切り替える前に、問題なく表示できるか確認しましょう。
[Windows10の場合]
1. 左下Windowsのアイコンを右クリック
2. 「ファイル名を指定して実行」を選択
3. 「drivers」と入力してOKをクリック
4. 「etc」フォルダを開く
5. 「hosts」ファイルをメモ帳などで開く
6. 末尾に以下内容を書き加える
------------------------------------------
移行先サーバーIPアドレス ドメイン名
移行先サーバーIPアドレス www.ドメイン名
------------------------------------------
7.ファイルを保存して閉じる
[macOS10.14 Mojaveの場合]
1. 左下「Finder」をクリック
2. 開いた画面左側「アプリケーション」をクリック
3. 右側で「ユーティリティ」をクリック
4. 「ユーティリティ」配下の「ターミナル」をダブルクリックして起動
5. 「sudo vim /etc/hosts」と入力してエンター
6. macにログイン時に使用しているアカウントのパスワードを入力してエンター
7. 何もメッセージが出ない場合は「i」、注意事項が表示される場合は
メッセージに従って「E」を入力。
「入力モード」でhostsファイルが開かれる。
8. hostsファイルの末尾に以下内容を書き加える
------------------------------------------
移行先サーバーIPアドレス ドメイン名
移行先サーバーIPアドレス www.ドメイン名
------------------------------------------
9. escキーを押下
10.「:wq」と3文字入力して終了
hosts設定をした状態で https://ドメイン名 などWordPressのURLにアクセスすると、hosts設定をしたPC限定で、移行先サーバー上のWordPressを参照することができます。
従来と同じWordPressが表示されていれば問題なしです!
hosts設定は元に戻して、DNS設定にすすみます。
もし、WordPressが表示されない場合は、エラーメッセージを手がかりに修正箇所を探っていく必要があります。
(8)ドメインのDNS設定を変更
「データ移行が終わってひと安心」「hosts設定をして自分にはWebサイトが表示されている」と、ここでうっかりDNS設定の変更を忘れたまま、移行元サーバーを解約してしまうと、自分以外の訪問者にはWebサイトが見えない、という大変なことになってしまいます。
最後まで気を抜かずにいきましょう!
DNS設定の変更はサーバー側での操作ではなく、ドメインの管理画面から行うことになります。サーバーの契約会社と異なる場合がありますので、確認しておくといいと思います。
なお、DNSの変更がインターネット全体に反映するには、数時間~数日程度かかります。
その間は、URLにアクセスしたときに、移行元/移行先サーバーのどちらが参照されるか不安定な状態になります。
つまり、その時点で移行元サーバーが解約済みであれば、Webサイトは表示されたりされなかったり、という症状を示します。
新旧サーバーどちらも利用可能な状態であれば、訪問者にはどちらかのWebサイトは表示され、ダウンタイムなしでの移行ができますので、解約日は余裕をみて少し先に設定した方が安全です。
【2】WordPressプラグインを利用
WordPressのプラグインを使えば、データベースもデータベース以外も一括で移行することができ、関連付けの変更も自動で行われますので、手動に比べて大幅に楽になります。
phpMyAdminのインストールが面倒、インストールできない契約だった、などの場合にも、プラグインを使えばWordPress移行が可能です!
今回は、比較的エラーが起きにくいと評判の「All-in-One WP Migration」を例に、操作方法を見ていきます。
[移行元での作業]
(1) WordPressダッシュボードの左側メニューで「プラグイン」をクリックし、遷移先(右側)で「新規追加」をクリックします。
(2) キーワード欄に「All-in-One WP Migration」と入力すると、下部に該当のプラグインが現れますので「今すぐインストール」をクリックします。
(3) 「有効化」をクリックします。
(4) 左側メニューに追加された「All-in-One WP Migration」をクリックします。
(5) 「エクスポート先」をクリックします。
(6) 選択肢が現れるので「ファイル」をクリックします。
(7) 「ドメイン名をダウンロード」の表示をクリックし、ダウンロードが終わったら「閉じる」をクリックします。
なお、無料版「All-in-One WP Migration」でダウンロードできるのは512MBまでです。
多少削れば512MB以下に収まりそうで、明確に移行不要なデータがある場合は、「エクスポート先」の上にある「高度なオプション」を開いて、エクスポートしないデータを選択することもできます。
また、有料エクステンション(有料版All-in-One WP Migration)であれば512MBでもダウンロードが可能です。
[移行先での作業]
(1) 移行先でWordPressをインストールし、移行元と同様にプラグイン「All-in-One WP Migration」をインストール・有効化します。
新しいWordPressのユーザー名・パスワードは忘れずに手元に控えておきます。
※要注意※
プラグインを導入するためには、移行先サーバー上のWordPressダッシュボードにアクセスする必要があるので、このタイミングでhosts設定を行います。
hosts設定について詳しくは「手動での移行」の(7)をご覧ください。
(2) 新しいWordPressのユーザー名・パスワードを使ってダッシュボードにログインします。
左側メニューで「All-in-One WP Migration」をクリックし、その下に出てくる「Import」をクリックします。
続けて、右側で「インポート元(IMPORT FROM)」をクリックします。
(3) 「ファイル」をクリックし、あらかじめ移行元から「All-in-One WP Migration」を使ってダウンロードしておいたファイルを選択します。
なお、「IMPORT FROM」の下に小さく「Maximun upload file size」が表示されますので、アップロードしようとしている容量よりも小さい場合は、事前に上限を変更しておきましょう。
設定方法はサーバーにより、管理画面上で変更できたり、php.iniというファイルを編集したりと異なります。
管理画面がPleskの場合は「ウェブサイトとドメイン」→対象ドメインの下の「PHP設定」にこのような設定画面があります。
(4) しばらく待つと注意書きが表示されます。
移行先のWebスペースに(1)で作成したまっさらなWordPress以外存在しなければ、そのまま「PROCEED」をクリックします。
何かアップロードしている場合は、このインポートで上書きされてしまうので、必要に応じてバックアップを取っておきましょう。
WordPress移行作業は以上で完了です。
これ以降、このWordPressにログインする際は、移行元で使っていたWordPressユーザー名・パスワードを使用します。
あとはhosts設定したPC上での表示確認と、ドメインのDNS設定変更を行えば、移行完了です!
【3】サーバー管理ツール「Plesk」機能を利用
移行先のサーバーでPleskをご利用の方にぜひお試しいただきたいのが、Plesk Migratorです!
WordPressのプラグインの場合は、手動でやるよりはるかに便利とはいえ、移行元・移行先それぞれで作業が必要でしたが、Plesk Migratorなら一度インターネットブラウザ上(移行先の管理画面Plesk)で作業するだけで済むので、移行方法の中では、一番便利です!
早速手順を見ていきましょう。
(1) Plesk左側メニューで「ツールと設定」をクリックし、遷移先(右側)で「移行・移管マネージャー」をクリックします。
(2) 「移行を新規開始」をクリックします。
(3) 画面に従って選択・入力します。
まずは、パネルタイプを選択します。
移行元サーバーのIPアドレス、rootログイン名、rootパスワードを入力します。
一般的なSSHポート「22」なら最初から入っているので入力不要ですが、移行元でハイポートに変更されている場合は、入力してください。
最後に「移行準備」ボタンをクリックしてしばらく待ちます。
(4) 画面に従って選択します。
「移行の単位」にチェックが入っていることを確認し、「show existing subscriotions」にチェックを入れます。
下にドメイン名が現れるので、移行したいものをクリックします。
クリックしたドメインは右側「選択済み」に移動します。
「移管する必要があるコンテンツ」はデフォルトですべてチェックが入っているので、あえて除外したいものがなければ変更不要です。
「移行」ボタンをクリックしてしばらく待ちます。
(5) 「移行を開始」ボタンをクリックしてしばらく待ちます。
進行中の画面です。
完了になりました!
このWordPressにログインするときは、移行元で使っていたユーザー名・パスワードを使用します。
hosts設定で表示確認をした後、ドメインのDNS設定変更を行えばお引っ越し完了です!
※hosts設定については「手動での移行」の(7)をご覧ください。
皆さまのWordPress移行がつつがなく完了し、満足のいく環境でご運用できますように!
「どれもうまくいかなかった」「忙しくて移行作業の時間を取れない」などの場合には、弊社では、GMOクラウドのサーバーへの移転作業の設定代行も承っていますので、こちらよりお気軽にご相談ください。