WordPress
投稿日:

【決定版】WordPressの引っ越し!サーバー移行・移転手順

【決定版】WordPressの引っ越し!サーバー移行・移転手順

はじめに

 ファストコーディングのシステムディレクター、Mr.Kです。

 今回はWordPressサイトを別サーバーに設置する手順、及び設置先サーバーの確認事項について説明したいと思います。基本的にサーバーの知識、バックエンドの知識について明るくない初心者の方でも作業できるような説明となります。


WordPressの引っ越し前に確認しておくこと

動作環境について

 まずは設置先サーバーについて、WordPressが動作する環境かどうかを確認しましょう。

 サーバーによって確認方法は異なります。

 一般的なレンタルサーバーには、Webブラウザ上でサーバーの設定を行うサーバー管理ページなるものがあるはずです。そこにログインした上で確認してください。

推奨動作環境
 推奨動作環境はWordPress公式で推奨される環境です。
 ・PHP バージョン 7 以上
 ・MySQL バージョン 5.6 以上 または MariaDB バージョン 10.0 以上

必須動作環境
 最低でも必要な環境です。この環境でも動作しますが、セキュリティ面で問題が発生する可能性があります。
 ・PHP バージョン 5.2.4 以上
 ・MySQL バージョン 5 以上

データベースについて

 WordPressは実行ファイルとデータベースにより動作します。

 データベースへアクセスするための情報を調べておきましょう。これは一般的にサーバー管理画面で確認することができます。

 後述で説明しますが、このデータベースを操作するためのツールが必要です。一般的なレンタルサーバーではphpmyadminというツールが最も多く使われています。
 このツールにアクセスする方法を調べておきましょう。


作業手順

1. WordPressの実行ファイルとデータベースダンプを取得する

 以降元のサーバーからWordPressの実行ファイルを、FTPクライアントを用いてダウンロードしてください。wp-config.php、wp-adminディレクトリなどのファイル群です。

 その後、サーバーの管理ツールからデータベースダンプを取得してください。データベースダンプとはデータベースのデータをエクスポートしたファイルをさします。

 移行しようとするWordPressが使用しているデータベースの、すべてのテーブルをエクスポートしましょう。

phpMyAdminを使ってMySQLのデータをバックアップ・復元する方法

2. WordPressの設定ファイル(wp-config.php)を書き換える

 wp-config.phpは設定ファイルです。これにデータベースへの接続情報を書き込みましょう。テキストエディタでこれを開き、下記コードの箇所に適切に情報を入力してください。

// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define('DB_NAME', 'database_name_here');

/** MySQL データベースのユーザー名 */
define('DB_USER', 'username_here');

/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'password_here');

/** MySQL のホスト名 */
define('DB_HOST', 'localhost');

/** データベースのテーブルを作成する際のデータベースの文字セット */
define('DB_CHARSET', 'utf8');

/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */
define('DB_COLLATE', '');

3. WordPressの実行ファイルを新しいサーバーに設置する

 取得したWordPressの実行ファイルをFTPクライアントを用いてアップロードしましょう。今回の場合、アップロードする先はWordPressが稼働予定のルートディレクトリです。

4. データベースダンプをインポートする

 phpmyadminなどのデータベース管理ツールで、取得したデータベースダンプをインポートしましょう。

 もしデータベースが作成されていなければ作成し、そのデータベースにインポートしてください。データベースの作成はphpmyadminではできない場合がありますので、その際はサーバー管理ページから追加できる場合があるので、方法を確認してください。

WordPress用のデータベース作成方法

5. データベースの中身を新しいサイトURLに置換する

 データベースのデータにはWordPressが稼働するURLの情報が含まれています。データベースダンプのインポート直後はこのURLが移行前のものになっていますので、これを新しいURLに一括置換しましょう。

 今回は一括置換作業を簡単に行えるツールを使用します。以下のサイトからsearchreplacedb2というツールをダウンロードし、wp-config.phpを設置しているディレクトリにアップロードしてください。

[ searchreplacedb2 ]のダウンロードはこちらから

 以降は実際の画面を見ながら説明します。

 [↓] 最初の画面では特に何も変更せず、submitを押してください。

最初の画面では特に何も変更せず、submitを押してください

 [↓] 次の画面ではデータベースへ接続するための情報を入力します。
 しかしwp-config.phpを自動的に読み込んでくれるため、何も入力せず次の画面に進みましょう。

データベースへ接続するための情報を入力します

 [↓] この画面では置換を行うテーブルを選択します。
 基本的にはここも全てのテーブルを対象に置換すれば良いので、そのまま次の画面へ行きましょう。

置換を行うテーブルを選択します

 [↓] この画面では実際に置換するURLの情報を入力します。
 Search for の入力には置換対象のURLを、Replace with の入力には置換後のURLを入力してください。

 なお、URLの最後には『 / 』がつかないようにしましょう。
 確認した後、Submitボタンを押すことで置換が完了します。

実際に置換するURLの情報を入力します

 ※データベースの置換が終わったら、必ずこのsearchreplacedb2は削除しましょう。
  これはアクセスするだけでデータベースを操作できてしまうので、セキュリティホールになります。

6. WordPress管理画面での作業

 データベースの置換作業を行なった後は、WordPress管理画面にログインします。

 [↓] 管理画面メニューの[ 設定 > パーマリンク設定 ]を開いてください。
 そこで何も入力をしないまま、パーマリンクを更新ボタンを押してください。これにより.htaccessファイルが更新され、WordPressの移行作業が完了となります。

WordPress管理画面での作業


サイトURLとホームURLを分ける場合

 WordPressのインストールディレクトリと、トップページのURLを分けたい場合があります。例えば次のようなケースです。

[ FTP側のディレクトリ ] wp-config.phpなどの実行ファイルを設置したいところ
http://example.jp/wp/

[ ブラウザ側のディレクトリ ] トップページにしたいところ
http://example.jp/

 この場合は先ほど説明した工程とは別に変更を加える必要があります。
 まずは上述の手順を使って、wpディレクトリにWordPressを設置しておいてください。

index.phpを書き換える

 今回のケースではルートディレクトリにindex.phpを設置します。

 このindex.phpには少し変更を加える必要があります。
 次の記述を後述ように置き換えてください。

require( dirname( __FILE__ ) . '/wp-blog-header.php' );

 ↓

require( dirname( __FILE__ ) . '/wp/wp-blog-header.php' );

ホームURLを書き換える

 WordPressの管理画面にログインし、設定画面を開きます。
 以下の画像にある入力欄があるので見てください。

ホームURLを書き換える

 設置直後は二つの入力欄がWordPressアドレスのものと同じになっているはずです。
 これをサイトアドレスの部分だけを、トップページのURLに書き換えてください。

パーマリンクを更新する

 .htaccessファイルをindex.phpと同じディレクトリにコピーしてください。

 その後、設置手順[ 6.管理画面での作業 ]のとおりにパーマリンクを更新しましょう。
 これでディレクトリが別れた形でWordPressが動くようになります。


最後に

 WordPress移行作業の解説は以上となります。

 サーバーの設定によっては上記のやり方でもうまくいかない場合があります。その場合は状況を把握し、問題点を検索するなどして探し出していくしかありません。

 このWordPress移行作業を代行することもできますので、万が一の際は弊社でも対応ができます。是非ご相談ください。

FASTCODING見積もりフォーム