最近はサイト内にワードプレスが設置されている、またはサイト自体がワードプレスでできている、ということが多くなってきました。
それに伴って、当然のことながらサイトを設置しているサーバーの移転にはワードプレスの移転も含まれることになりますが、従来どおりのサイト(ホームページ)の移転がサーバー内のファイルをすべてコピーしてアップロードするだけなのとは違い、ワードプレスの場合にはデータベースを使用しているため「ワードプレスの移転」と聞いて若干の不安を覚える方も多いのではないでしょうか。
ワードプレスには移転に関する作業を簡単に行えるプラグイン等が多くありますが、プラグインには相性問題や想定外のことが起きた場合に対処できないというデメリットがあるため、やはりプラグインを使用せずに行ったほうがいいと思われるので自力でひととおりできるようにしておきましょう。
全体の工程は次のようになります。
移転元サーバー(前のサーバー)で、
① 全ファイルをダウンロード
② sqlファイルをエクスポート
移転先サーバー(新しいサーバー)で、
③ 新しいデータベースを作成し、②でエクスポートした.sqlファイルをインポート
④ ①でダウンロードしたファイル内のwp-config.phpの一部を新しいデータベースに合わせて書き換え、全ファイルをアップロード
それではワードプレス移転作業の工程を見ていきましょう。
工程①
html、css、js、php、画像、.htaccessファイルなど、移転元サーバーのroot以下のものをとにかくすべてダウンロードしてください
工程②
上記画像右側は移転元(前のサーバー)のphpmyadmin(MySQLサーバーをウェブブラウザで管理するためのデータベース管理ツール)からエクスポートしたsqlファイルです。
※ワードプレスの投稿の本文などのテキストはsqlに保存されています。
移転元(前のサーバー)のphpmyadminにログインしたら、左側のデータベースの中から移転元のワードプレスで使用していたデータベースを選択し、エクスポートタグから任意の場所にsqlファイルでエクスポートしておきます。
基本的に初期設定のままエクスポートで問題ないと思われますが、サーバーによって設定が異なる場合があるので、移転先(新しいサーバー)のsql読み込み設定等を確認しておきましょう。
工程③
移転先サーバー(新しいサーバー)のphpmyadminにログインしたら、新しいデータベースを作成します。
※データベース名は「任意の名前」で、照合順序は「utf8_general_ci」で作成します。
次に「インポート」タグから②でエクスポートしたファイルを選択してインポートします。
(※サーバーによっては新しいデータベースの作成をサーバーの管理画面から行う必要があります。)
移転元と移転先でドメインが変わる場合には、②でエクスポートした.sqlファイルをテキストエディタ等で開き、旧ドメイン箇所を新ドメインに書き換える必要があります。
例:aaa.comからbbb.comに変わる場合にはaaa.comで検索してすべてbbb.comに置換してからインポートを行います。
工程④
①でダウンロードしたファイル内のwp-config.phpをテキストエディタ等で開き、以下のようにデータベース名、データベースユーザー名、データベースパスワード、サーバーのホスト名、を書き換えて上書きします。
// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define('DB_NAME', '③で作成したデータベースのデータベース名');
/** MySQL データベースのユーザー名 */
define('DB_USER', '新しいサーバーのデータベースユーザー名');
/** MySQL データベースのパスワード */
define('DB_PASSWORD', '新しいサーバーのデータベースパスワード');
/** MySQL のホスト名 */
define('DB_HOST', '新しいサーバーのホスト名');
移転元と移転先でドメインが変わる場合には、②でエクスポートした.sqlファイルをテキストエディタ等で開き、旧ドメイン箇所を新ドメインに書き換える必要があります。
例:aaa.comからbbb.comに変わる場合にはaaa.comで検索してすべてbbb.comに置換してからインポートを行います。
また、ワードプレスのテーマファイル内で旧ドメインを絶対指定している箇所がある場合には当該箇所をすべて新ドメインに書き換える必要があります。
書き換えが終了したら、①のファイルをすべて新しいサーバーへアップロードし完了ですが、最後にワードプレス移転に伴うよくあるエラーおよび対処法を記載しますのでもし何かあった場合にご覧ください。
エラーや注意事項、対処法
※効果を保証するものではありません。
※ワードプレスのパスワードがわからないときは、phpmyadminでデータベースを選択したら、テーブルの中からwp-usersを選択して「編集」をクリックし、wp-usersの関数の箇所をMD5にして新しいパスワードを入力する。
すべて完了後ワードプレスのログイン画面で「user.php on line 41」や「user.php on line 56」に関するエラーが出た場合はphpのバージョン変更によるエラーと思われるので、「wp-login.php」の以下の箇所を
$user = wp_signon( ”, $secure_cookie );
以下のように書き換えて上書きします。
$user = wp_signon( array(), $secure_cookie );
WordPressの引越し時にmysqlのインポートで:#1044 Access denied エラーが出たら、.sqlファイルをテキストエディタ等で開き、以下の表記部分の旧データベース名を新しいデータベース名に書き換える、または以下の表記部分をまるごと削除してからインポートするとエラーが出なくなる場合があります。
–
– Database: 旧データベース名
–
CREATE DATABASE ~
USE 旧データベース名;
移転元サーバー(前のサーバー)からダウンロードしたファイルの中に.htaccessファイルがあった場合には、移転先サーバー(新しいサーバー)に合わせてphpバージョン記述の変更が必要な場合があります。