「Bluehost」から「エックスサーバー」に引っ越した時の、WordPressの移転方法についてです。今回は旧サーバーからデータベースやファイルをコピーして、新サーバーへ移行する手順について説明します。
ゆめぴょんです。こんちはっ(^^)/
「エックスサーバー」の申し込みから、新サーバーでのドメイン、データベース(MySQL)、WordPressのインストールなどについては、前回の記事を参考にしてください。順番的には今回の方が後編ですが、どちらからでも問題ありません。
作業は多いのですが、1つ1つは簡単です。時間も意外とかかりません。ただ待ち時間が発生しないように、画像フォルダコピーと、動作確認URL設定だけは先に行っておけばもっと時間短縮できますよ。
旧サーバーのバージョンをあわせる
旧サーバーと新サーバーで、PHP、MySQL、WordPressのバージョンを確認してください。そして旧サーバーの方が古ければバージョンアップしてください。
旧サーバーの方が新しいバージョンの場合は、可能なら新サーバーの方をバージョンアップしてください。それが難しければ、旧サーバーの方をバージョンダウンしてください。
旧サーバーの方でバージョン変更した場合、WordPressがこれまでどおり問題なく動作しているかを確認してください。挙動がおかしければ元に戻す必要があります。
WordPressのプラグインを整理
WordPressプラグインで、移転後は利用しないものと、再インストールしても問題ないものは有効化を解除してから削除してください。その他のプラグインもできるだけ有効化を解除してください。
私の場合は「Redirection」「Popular posts」「Yet Another Related Posts Plugin」だけは情報を引き継ぎたいため削除しませんでした。この選択は人や環境によって違ってくると思います。
ここではずしたプラグインは、旧サーバーからのエクスポート作業が終わったら「有効化」しておきましょう。まだしばらくは旧サーバーにアクセスすることになるため、読者のためにもそうした方がいいと思います。
無駄なプラグインもこの機会に整理するといいかもしれません。新たなプラグインの発見なども、下の記事も参考にしてみてください。
旧サーバーからエクスポート(ファイルとデータベース)
WordPress関連ファイルをコピー
旧サーバーを解約するのなら、WordPressフォルダのファイルはいったん全てローカルにコピーしましょう。中でも最も重要なのは「wp-content」の「plugins」「themes」「uploads」です。
ただし画像・写真ファイルの保存先フォルダを変更している場合は「uploads」は不要で、各自の画像保存フォルダをコピーすればいいです。移転後に画像保存フォルダを変更したい場合は、下の記事を参考にしてください。
他に「.htaccess」「robots.txt」「sitemap.xml」「sitemap.xml.gz」などもドメインとフォルダが変わらないのなら移転できます。ただし「.htaccess」は丸ごとコピーではなく必要な部分だけをコピーした方がいいです。
データベースの値をエクスポート
旧サーバーのphpMyAdminにログインしてください。この時のログインIDはデータベース(MySQL)のIDとパスワードです。サーバーやWordPressのIDとは違うので注意してください。
該当のデータベースを選んでください。複数のWordPressをインストールしている人は、中身を確認しながら間違えないように。そして次の10つのテーブルをエクスポートします。全てチェックしてから「エクスポート」をクリックです。
- wp_commentmeta
- wp_comments
- wp_links
- wp_postmeta
- wp_posts
- wp_terms
- wp_term_relationships
- wp_term_taxonomy
- wp_usermeta
- wp_users
エクスポートの設定は特に何も変更しなくていいけど、SQL形式で保存してください。チェックボックスがあれば「詳細」にもチェックしてください。あとは下の「実行」ボタンを押すだけでファイルが1つダウンロードできます。
ちなみに「WordPressをまるごと移管(クリーンインストールしない)する場合」や「プラグイン、ウィジェット、管理画面の設定を全て引き継ぎたい」場合は、「wp_options」や各プラグインのテーブルもエクスポートが必要なので忘れずに!
エクスポートの時、ダウンロードするファイル容量が大きすぎたり、データが多すぎるとエラーになるため、記事数が多い場合などは小分けにしてエクスポートするようにしてください。
新サーバーへインポート(ファイルとデータベース)
WordPress関連ファイルを新サーバーへコピー
まずは新サーバー側でFTPを使えるよう設定しておきましょう。cPanelなどのファイルマネージャーでもいいですが。
エックスサーバーの場合は、一番最初に届くメール「設定完了のお知らせ」の中の、「サーバーアカウント情報」にFTPの「ホスト」「ユーザー」「パスワード」が記載されているので、FTPソフトに登録すればすぐアクセスできますよ。
上で旧サーバーからコピーしたWordPress関連ファイルを、新サーバーへ移転してください。画像ファイルが多い場合には時間がかかるので、この作業だけ順番を無視して早めにやっておいてもいいかもしれません。
同じように「wp-contet」の「themes」「plugins」もコピーしてください。ただしテーマを新しくする人は「themes」が不要です。プラグインも全て再インストールしたい人は「plugins」も不要です。
データベースの値をインポート
新サーバーのphpMyAdminに、データベースのIDでログインしてください。まず該当するデータベースを選んでください。複数WordPressを管理している場合は絶対に間違えないように。
上で旧サーバーからエクスポートしたSQLファイルを、インポートしてください。特に設定の変更は必要ないと思います。
セキュリティ強化のためなどでテーブルの接頭辞「wp_」を変更している場合は、「wp_options」の項目から「user_roles」を検索して「wp_user_roles」の「wp_」を変更後の接頭辞に変更してください。テーブル名「wp_options」も同様です。
ウィジェットを移行したい人は、この時に旧サーバーの「wp_options」テーブルで「widget」を検索して関連データを移行しておくといいです。プラグインも同様ですが、2〜3つというレベルを超えるなら「wp_options」全体をエクスポートした方が安心です。
新サーバー側のphpMyAdminはまだ使うので、開けたままにしておいてくださいね。
新サーバー側での動作確認
この時点ではまだ、ブラウザで自分のブログを見ても旧サーバーのままです。一部のプラグインがはずされているのでいつもと見た目は少し変わってるかもしれません。
動作確認URLを作れないサーバーの場合
では新サーバーでの動作確認はどうやるのかというと。エックスサーバー、シックスコア、wpXの場合は動作確認URLを作ることが可能です。それ以外のサーバーへ移る場合は、次のような方法もあります。
◆サーバ移転時にHOSTSを書き換えて新旧サーバを参照する方法 – Windows7とXP | WP SEOブログ
◆MacOS で hosts を簡単に設定する方法 | ひとぅブログ
動作確認URLを作れるエックスサーバーの場合
エックスサーバーの場合は、サーバーパネルのトップで右上「DOMAIN」から「動作確認URL」というリンクをクリックしてください。「動作確認URL設定の追加」をクリックするとドメインを選択できます。
ドメインを選択して「動作確認URL設定の追加」ボタンを押してください。初めて設定すると動作するまで1時間くらいかかりました。もっと早い時点で設定してもいいかもしれません。URLはメモしておきましょう。
この動作確認URLで疑問なのは、Googleに拾われて重複コンテンツとみなされないかということ。noindexしているのか調べてませんが、あまり長い時間はこのURLを使わない方がいいと思います。使い終わったらすぐ削除するのも忘れずに!
データベースに動作確認URLを仮設定
この状態でもトップページくらいは確認できますが、個別記事なども確認したい場合は、データベースを書き換えた方が楽です。
まだ開いているphpMyAdminの「wp_options」テーブルで「siteurl」と「home」という項目を見つけて、動作確認URLに一時的に書き換えてください。例えば「https://wispyon.com/wp」→「http://wispyon.check.xserver.jp/wp」みたいに。
「siteurl」と「home」の値が違う場合
「siteurl」と「home」の違いは下の記事を参考にしてください。もし「siteurl」と「home」の値が違う場合は「siteurl」アドレス直下にある「index.php」を「home」直下にコピーしてください。
例えば「siteurl」(WordPressフォルダ)が「***.com/wp」で「home」が「***.com」なら、「***.com/wp/index.php」を「***.com/」(public_html)にコピーします。そして「***.com/」内の「index.html」「index.htm」「index.php」は全てリネームします。
元ファイルは触らずに、コピー先の「index.php」を開いて編集モードにしてください。一番下の「require(‘./wp-blog-header.php’);」を「require(‘./wp/wp-blog-header.php’);」など「siteurl」にあわせて修正してください。修正後に保存も忘れずに!
WordPress管理画面での設定
さてここまでくると新サーバー側のWordPress管理画面にもログインできます。「http://***.com/○○○/wp-login.php」(***はドメイン。○○○はwpやwordpressなど)にアクセスしてWordPressのIDでログインしてください。
旧サーバー側(というか今までのWordPress管理画面)と見比べながら、各種設定を合わせてください。必要なプラグインもこの時にインストールしておきましょう。有効化はまだです。URLが変わると支障ある場合があるためです。
「外観」→「テーマ」でテーマ選択も忘れずに。「外観」→「メニュー」「ウィジェット」や、「投稿」→「カテゴリー」「タグ」も確認しておきましょう。「wp_options」を移行してない場合はリセットされてるので再設定しましょう。
すべての設定が終わったら、動作確認URLで確認してください。それも終われば、WordPress管理画面「設定」→「一般」で「WordPressアドレス」「サイトアドレス」を元に戻してください。phpMyAdminでもいいけど「設定」の方が簡単です。
ネームサーバー(DNS)の変更
いよいよ旧サーバーから新サーバーへ切り替えます。新サーバー側のネームサーバー(DNS)アドレスを確認してメモしてください。
エックスサーバーの場合はサーバーパネルから「サーバー情報」をクリック。すると「ネームサーバー1〜5」を確認できます。
このネームサーバーを旧サーバー側に入力すれば完了です。サーバーにより違いますが、私の「Bluehost」ではcPanelの「Domain Manager」でできました。
CloudFlareを利用している場合
旧サーバーでCloudFlareを利用していた場合、ネームサーバーはCloudFlare(CF)に設定していると思います。その場合も最初は新サーバーのネームサーバーに変更してください。
CF側で新サーバーのネームサーバーを設定できますが、切り替えに時間がかかるのと、何か問題が発生した場合に「新サーバーの問題」と「CFの問題」とを切り分けしにくいため、CFは新サーバーで安定してから使う方がいいと思います。
まとめ:今日のゆめぴょんの知恵
2回に分けたのですが、いずれも長文になってしまいました。新サーバーへ移転してからまだ間もないので、効果検証はできてませんが、PV数は微増という感じです。
今のところCloudFlareも、高速化のキャッシュ系プラグインもあまり用いていないため、GTmetrixの計測値は旧サーバーより低いくらいです。ただアクセス増による遅延はなくなりました。
高速化も大切ですが、基本的なサイトマップ、Ping、スマホ・ガラケー対応なども忘れがちなので、今いちど下の記事で確認してみてください。
ゆめぴょんでした。ちゃおっ!