今回はプラグインを使わずにWordPressのWEBサイトを今のサーバーから別のサーバーへ移転する方法をご紹介します。
参考までに「All-in-One WP Migration」というプラグインを使うサーバー移転のやり方も以下にてご紹介しています。良ければご覧ください。
移転先サーバーの環境構築
移転作業を始める前に移転先サーバーの環境構築を行います。
移転元サーバーと同じバージョンのPHPとデータベースを準備する
WordPressを動かすにはPHPとデータベースが必要なのでそれを移転先サーバーに用意します。
移転元サーバーと同じバージョンのPHPとデータベースでサーバーを準備しておくと移転対象のWordPressを動かしたときにバージョン違いによるエラーを防ぐことができます。
移転元のバージョンなど詳しいことがわからないときはそのとき最新のWordPressが推奨している環境を用意してエラーは適宜対応します。
WEBサイトのドメインを移転先サーバーに設定する
移転するWEBサイトのドメインを移転先サーバーに設定してpublic_htmlのような公開ディレクトリを作成しておきます。
データ移行
移転するWEBサイトのWordPress本体とそのデータベースを移転先サーバーへ移します。
WordPressの移行
移転元サーバーからWordPressをダウンロード
WordPress本体は次のディレクトリやファイルで構成されています。
public_html/
├ wp-admin
├ wp-content
├ wp-includes
├ index.php
├ license.txt
├ readme.html
├ wp-activate.php
├ wp-blog-header.php
├ wp-comments-post.php
├ wp-config.php
├ wp-cron.php
├ wp-links-opml.php
├ wp-load.php
├ wp-login.php
├ wp-mail.php
├ wp-settings.php
├ wp-signup.php
├ wp-trackback.php
└ xmlrpc.php
大体はpublic_htmlのような公開ディレクトリの直下に保存されていることが多いと思うのでそれらをすべてFTPでローカルにダウンロードします。
FTPとはサーバーと自身のパソコンとでファイルをやり取りする通信方法で、パソコンにFTPソフトをインストールして行います。
WordPressは多くのファイルから構成されているのでダウンロードするのに時間がかかることがあります。
あまりにも時間がかかるときはWordPressを構成するディレクトリやファイルを1ファイルに圧縮してそれをダウンロードすることで時間が短縮できます。
移転先サーバーへWordPressをアップロード
ダウンロードしたWordPressを同じくFTPで移転先サーバーの公開ディレクトリへアップロードします。
WordPressのデータベース接続情報を修正
WordPress構成ファイルの「wp-config.php」を修正して移転先サーバーのデータベースに接続するように設定します。
「wp-config.php」にある次の記述がデータベースの接続情報です。
/** WordPress のためのデータベース名 */
define( 'DB_NAME', 'relocation_db' );
/** MySQL データベースのユーザー名 */
define( 'DB_USER', 'relocation_user' );
/** MySQL データベースのパスワード */
define( 'DB_PASSWORD', 'relocation_password' );
/** MySQL のホスト名 */
define( 'DB_HOST', 'relocation_host' );

これを移転先サーバーの情報に修正して保存します。
データベースの移行
移転元サーバーからデータベースをダウンロード
WEBブラウザで移転元サーバーのphpMyAdminにアクセスしてその管理画面からデータベースを「.sql」ファイルでダウンロードします。

phpMyAdminはWordPressのデータベースであるMySQLをWEBブラウザから管理するのに使うツールです。
移転先サーバーへデータベースをアップロード
ダウンロードしたデータベースファイルを同じくphpMyAdminで移転先サーバーのデータベースへアップロードします。
WEBサイトの表示確認
hostsを移転先サーバーへ向ける
移転対象のWEBサイトへブラウザでアクセスしたとき通常なら移転元サーバーへアクセスしてそこの内容が表示されます。
それを自身のパソコンのみ一時的に移転先サーバーへアクセスしてそちらの内容で表示されるよう設定します。
そうすることでサーバー移転を公に反映する前に表示崩れやエラーの対処を行うことができます。
ドメインとIPアドレスの組み合わせを管理しているhostsというファイルがMacだと「/private/etc/hosts」にあるのでそれを「vi」コマンドで編集します。
$ vi /private/etc/hosts

移転先サーバーのIPアドレスとWEBサイトのドメインをタブもしくは半角スペース区切りでhostsに記述することでアクセス先サーバーをその間だけ指定のIPアドレスへ向けることができます。
111.222.333.444 kaname-gh.co.jp

hostsに移転先サーバーのIPアドレスを記入したらhostsのキャッシュをクリアします。
$ sudo killall -HUP mDNSResponder
WEBサイトの表示を確認する
移転対象のWEBサイトにブラウザでアクセスして次の確認を行います。
- WordPress管理画面へログインできるか
- 表示崩れやエラーはないか
- 移転先サーバーのWEBサイトである目印を付ける
WEBサイトのURLが同じであればほとんどの表示崩れやエラーはWordPressやブラウザのキャッシュクリアやパーマリンクの再設定で直ることが多いです。
切り替えが反映されたかわかりやすくするため目立たない位置に移転元WEBサイトとは異なる目印を付けておくと良いです。
その他、サーバー移転に伴ってWEBサイトのURLが変わる場合はデータベースの置換やリダイレクトなどが必要になります。
問題なく表示されるようになったらhostsに記載した部分を削除して設定を戻しておきます。
DNS切り替え
DNSとはWEBサイトの表示崩れやエラーの対処のために一時的に設定をしたhostsのグローバル版のようなものです。
この設定を変更してWEBサイトにブラウザでアクセスしたときのアクセス先を移転先サーバーへ完全に切り替えます。
通常はドメインを管理しているサービスにDNS編集の機能も備わっておりそこから設定を変更します。
DNSはいくつかのレコードから構成されますがWEBサーバーを移転するときはAレコードを編集します。

同じドメインでメールを利用しているAレコード以外も編集が必要なことがあるため注意が必要です。
切り替え後作業
DNSの切り替えを行いサーバーの移転が完了したら新サーバーでSSL化(https化)を設定します。
また、移転元サーバーが不要な場合はその解約も行います。
まとめ
以上がプラグインを使わずにWordPressのWEBサイトを今のサーバーから別のサーバーへ移転する方法です。
WEBサイトのサーバー移転は弊社で承ることも可能です。
お気軽にご雑談ください。