phpMyAdminのログイン画面
連載:WordPressのサーバーとかドメイン移行

WordPressでサーバーとドメインを移行する方法

最近は、ssl等のためにサーバーを移転したり、ドメインを変更する作業が増えてきています。
ですので今回は、下記のテーマで連載を書いていこうと思います。

  1. WordPressで同一ドメインでサーバーを変える方法
  2. WordPressでサーバーとドメインを移行する方法

ググれば沢山出てくる情報ではありますが、同じ情報書いたらいけないってルールなんて無いしー・・・
今回は自信を持って書いていこうと思います。

連載第二回目の今回は、
WordPressでサーバーとドメインを変更する方法を書いていきます。
前提として、レンタルサーバーを利用していて、phpMyAdminが付いていることとしています。
また、WordPress初心者の方にもわかるように細かくかいております。長いので注意報。

これは多少複雑です。以下に大まかな流れを記載いいたします。

と、以上な感じです。
こうやって書くとなんだかやること多そうですけど、なれれば簡単にできますのでご安心下さい。

では、1から順に解説をしていきましょう。

1.FTPで古いサーバーからWPルートのファイル・ディレクトリを全てダウンロードする。

これは説明する迄もないかもしれませんが、まず古いサーバーのWPルールディレクトリにアクセスして、ディレクトリとファイルをそのまま全てダウンロードしましょう。
古いサーバーからFTPで全てのデータをダウンロード

2.FTPで新しいサーバーのルートディレクトリに、ダウンローロしたファイルとディレクトリをアップロードする。

これも説明するまでも無いですね。今古いサーバーのWPルートからダウンロードしたファイルとディレクトリを、新しいサーバーのWPルートに全てアップロードして下さい。
新しいサーバーに古いサーバーからダウンロードしたファイル一式をアップロード

3.新しいレンタルサーバーの管理画面からデータベースを作成する(必要であればユーザーも作成して紐付ける)。

レンタルサーバーのデータベースの作成の仕方は、レンタルサーバーによって違います。Xサーバーなんかはユーザーを作成したりとかDBと紐付けたりも必要です。
私はサクラインターネットを主に使っているので割りと簡単なんですが、悩んだ末に、今回はワードプレスのサーバー・ドメイン移行が目的なので、データベースの作成・ユーザーの作成に関してはココでは割愛させて頂きます!ほんとすまん。他のサイトにDBの作成方法書いてあるんで、ググって下さい。。。。それ言っちゃお終いか・・・

等、「レンタルサーバー名 データベース作成方法」とかで調べましょう。。。すまん。。

4.古いサーバーのphpMyAdminから、全データをエクスポート

ここからは、やったことがない人にとってはプレッシャーかもしれませんが、やることは単純です。ただ、くれぐれも操作を間違えないように・・・。
まず、レンタルサーバーから、phpMyAdminに入ります。phpMyAdminへの入り方はレンタルサーバー毎に違うので、ココでは割愛しますのでググって見て下さい。
ココから、下記の流れでDBの情報をエクスポート(吸い出し)します。

phpMyAdminのログイン画面
これがphpMyAdminのログイン画面、phpMyAdminとはDBを簡単に扱いやすくするソフトのようなものです。
ログインのユーザー名とパスワードとサーバー名は、WPルートにあるwp-config.phpに書いているからそれを見てログインしてね。おぼっちゃまくん風に言うとログインしてクリ。

ログインするとこんな感じの画面、サイドカラムにWPで使っているDBの名前が出ている(赤丸の部分)ので、それをクリック。
先程も書いたとおり、関係のないデータベース名が並んでたりすることもあるので、気をつけてちゃんとWordPressで使ってるデータベースを選択してくださいね。

phpMyAdminにアクセスしてテーブルを選択

データベースのテーブルの数は、使っているプラグインの数によって多少違いがありますが、とりあえずここでは気にしないでいいです。
※因みにですが知らない人のために、データベースってのはデータが入っているタンスのようなもので、データベースはタンス自体、テーブルは引き出しに当たります。
ではここから実際にエクスポートしてみましょう。
まず、赤丸の部分の「すべてチェックする」をクリック。すると、全てのテーブルにチェックが入りますので、そのテーブルを対象として、今度はその横にある「チェックしたものを:」と書いているセレクトボックスで「エクスポート」を選択します。
全てのテーブルを選択してエクスポート

構造とデータにチェックを入れてSQLファイルに保存
phpMuAdminのバージョンによって、画面が多少違いが有るので注意して下さい。上記の画面と違い、「エクスポート方法」とか書いてあるシンプルな画面だったら、「詳細」にチェックを入れて「実行」をクリックして下さい。
で、これがエクスポートの画面です。デフォルトのまま「実行する」をクリックしてもらえればそれでいいんですが、念のため、赤丸に囲まれている「構造」と「データ」にチェック入っていること。更に「ファイルに保存する」にもチェックが入っていることを確認して下さい。
もし、データベースの容量が大きい場合は、「ファイルに保存する」の下にある「圧縮」で、zipかgzip形式に圧縮するようにチェックを入れてもいいでしょう。
で、全部OKなら下記のようにエクスポートファイルがダウンロードされる事でしょう。
このエクスポートファイルは、後でインポートする時に使うので、わかりやすいとこに大切にとっておきましょうね。
SQLファイルをダウンロード
※因みに先程チェックした「構造」とは、データベースのテーブル(引き出し)を作るSQLファイルをダウンロードすることで、「データ」とはテーブルの中に入っているデータ自体(引き出しの中身)の事です。このテーブル(引き出し)とデータ(引き出しの中身)を、次の工程で先程作った新しいデータベース(たんす)に入れ込んでいきます。。。。余計わかりづらいかなっ

5.新しいサーバーのPHPMyAdminに、エクスポートしたファイルをインポート。

今回は【4.古いサーバーのphpMyAdminから、全データをエクスポート】と逆をやります。さっき古いサーバーから取ってきたSQLファイルを、今度は新しいDBにインポート(入れ込み)します。
まずは、さっきと同じ方法で新しいサーバーのPHPMyAdminに入ります。データベースを作っただけなので、テーブルはまだ存在しません。ここに、先程新しく作ったデータベースを選択します。下記の画像のように、今度はインポートをクリックして下さい。
phpMyAdminからSQLファイルをインポートする方法

クリックすると、以下のような画面になりますので、アップロードファイルに先程古いデータベースからダウンロードしたSQLファイルを選択して、他はそのままで実行をクリック。
インポートファイルを選択して、インポートファイルを実行

6.SQL文を書いて、古いドメインを新しいドメインに一括で置き換え。

ここまでで古いデータベースと同じデータベースが新しいサーバーに出来上がりました。後もう少しです。この記事を書くのも後もう少し(結構大変っっ汗)
ただ、ココが一番大変というか難しいところで、新しいサーバーは新しいドメインに切り替えないといけないのですが、今のままではデータベースの中身は古いドメインだらけです。
これを、SQL文を自分で書いて、一括置き換えしないといけません。
まっさらな状態のWPであれば、これから書くSQL文をコピーしてペーストして実行するだけでOK なんですが、プラグインがたくさん入っている場合や、プレフィックスがデフォルトと違う場合はやり方が変わってきますので、それぞれの場合を想定してドメインの一括置き換えの方法を解説していきます。

プレフィックスがwp_で置き換えの必要のあるプラグインを使っていない場合

ます、プレフィックスがwp_で置き換えの必要のあるプラグインを使っていない場合ですが、その前にプレフィックスってなに?って人のためにプレフィックスの説明をしましょう

プレフィックスとは

wp_config.phpに書いてあるコレですコレ。
wp-config.phpプレフィックス
これは、データベースが1つしかない場合にも、複数のWPをインストールすることが出来るように、データベースのテーブルの先頭に一意の文字を追加する機能です。このwp_config.phpの場合は、データベースのテーブルは下記のようになりますね。
プレフィックスがwp_の場合のphpMyAdmin
このテーブルの先頭に付いているwp_がプレフィックスです。プレフィックスがwp_じゃない場合はsql文も変わりますので覚えておいてくださいね。

それではついに、ってかやっとSQL文を書いて古いドメインを新しいドメインに一括置き換えをしていきましょう。
phpMyAdminを使ってSQL文を書くのは簡単です。以下の
phpMyAdminでSQLファイルを書く
をクリックすると、以下のような画面が表示されますので、ココにSQL文を書いていきます。
phpMyAdminでSQL文を書くところ
では、今回のプレフィックスがwp_で置き換えの必要のあるプラグインを使っていない場合のSQL文を発表いたします。

	UPDATE `wp_options` SET option_value = REPLACE(option_value, "http://test.com", "http://opyopyo.com");
	UPDATE `wp_postmeta` SET meta_value = REPLACE(meta_value, "http://test.com", "http://opyopyo.com");
	UPDATE `wp_posts` SET post_content = REPLACE(post_content, "http://test.com", "http://opyopyo.com");
	UPDATE `wp_posts` SET guid = REPLACE(guid, "http://test.com", "http://opyopyo.com");
	

※http://test.comから、http://opyopyo.comに置き換える場合。(この時、ドメインの最後のスラッシュは入力しないようにして下さい)
このSQL文をひろーいフィールドに入力して実行をクリックするだけでOK!
多少時間がかかっても慌てず待ちましょう。

プレフィックスがwp_以外で置き換えの必要のあるプラグインを使っていない場合

プレフィックスがwp_以外で置き換えの必要のあるプラグインを使っていない場合は、【プレフィックスがwp_で置き換えの必要のあるプラグインを使っていない場合】を見て頂ければ理解できると思うのですが、例えばプレフィックスが、

	$table_prefix = 'dgko0k8_';
	

となっていた場合に書くSQL文は

	UPDATE `dgko0k8_options` SET option_value = REPLACE(option_value, "http://test.com", "http://opyopyo.com");
	UPDATE `dgko0k8_postmeta` SET meta_value = REPLACE(meta_value, "http://test.com", "http://opyopyo.com");
	UPDATE `dgko0k8_posts` SET post_content = REPLACE(post_content, "http://test.com", "http://opyopyo.com");
	UPDATE `dgko0k8_posts` SET guid = REPLACE(guid, "http://test.com", "http://opyopyo.com");
	

となります。後のやり方は全部【プレフィックスがwp_で置き換えの必要のあるプラグインを使っていない場合】と同じですね。

置き換えの必要のあるプラグインを使っている場合

問題なのが、プラグインなどを多く利用していて、上記だけではまだ古いドメインがプラグイン用のテーブルなどに残ってしまう場合です。その場合は、phpMyAdminの検索の機能を使って、古いドメインを全部探し出し、そのテーブルのカラムを一括で置き換えする必要があります。
まず、phpMyAdminでドメインを検索する方法を下記にご説明します。
phpMyAdminでドメインを検索する
まず上記の「検索」をクリック。
すると、下記のような画面になりますので、「検索する単語」にドメインを入力。(この時、ドメインの最後のスラッシュは入力しないようにして下さい)「全選択」をクリックして「実行」。
phpMyAdminでドメインを検索するゾーン

そうすると、下記のようにドメイン名画含まれているテーブルが検索されて出てきますので、以下の流れで一つ一つ先程書いたSQL文の様なものを一つ一つ手作りして変更していってください・
ここでは試しに、1つ変更してみましょう。

まず、このoptionテーブルから調べてみましょう。「表示」をクリックして下さい。すると、下にズラッとテーブルの中身が表示されます。
見つかったら該当のテーブルを表示
見つかったテーブルの中から該当のフィールドを検索
すると見つけました。今回の場合は、optionテーブルのoption_valueというフィールドの中に含まれているようです。
ですので、プレフィックスが下記のようになっていた場合、SQL文は下記のようになります。

	$table_prefix = 'dgko0k8_';
	

となっていた場合

	UPDATE `dgko0k8_options` SET option_value = REPLACE(option_value, "http://test.com", "http://opyopyo.com");
	

とまあコレを繰り返すことになります。プラグインが多いときなどはコレが結構手間ですが、丁寧に間違えないようにやって下さい。

また、【置き換えの必要のあるプラグインを使っている場合。】は自分では多分わからないので、どの場合でも、一度古いドメインを検索することをおすすめいたします。ってかして下さい

7.wp-config.phpを新しい環境に書き換える。

はい次です。(;´Д`)ハァハァ
ここは今まで見いてきてくれた方なら簡単です。
wp-config.php
の中にある

  • DB_NAME
  • DB_USER
  • DB_PASSWORD
  • DB_HOST
  • $table_prefix

を全て新しいデータベース環境に変更して下さい。
全てを変更して、サイトが表示されて管理画面にログインできた場合は、一度「設定」の「パーマリンク」から何も変更せずに「変更を保存」をクリックして下さい。
コレをやらないとサブページが表示されない減少が起こります。

これで基本的には全部終わり!!!!基本的には!!!!

8.必要であればDevas.exeを使って、新しいWPのテーマディレクトリの中にある古いドメインを新しいドメインに一括置き換え。

はい、ここは本当は正しくWPを書いている人にとっては必要ないんですが、たまにテーマファイルの中に直接絶対URLで内部リンクを書いている人がいるので、その人達には必要な項目です。
先に行っておきますが絶対URLで内部リンクを書くのは絶対にやめてくださいね!!!
ちゃんと

	<?php bloginfo('template_directory');?>
	

とか

	<?php echo esc_url( home_url( '/' ) ); ?>
	

を使ってくださいね。使っていない場合は、
http://www.vector.co.jp/soft/dl/win95/util/se162621.html
というようなファイルから一括で置き換えが出来るソフトを使って、古いドメインを新しいドメインに一括で置き換えて下さい。

以上!!!!

9.まとめ

いやー疲れたっ!まとめってか感想ですw文章書くのはそりゃ大変ですけど、phpMyAdminとかいじってキャプチャー取って加工してってもう!大変!簡単に知りたいよーって方には不向きな記事になっちゃいましたね。あまりWPの知識の無い方を対象に書いたつもりです。
役に立ってくれることを切に願います。

連載INDEX

WordPressのサーバー移行とかドメイン移行とかを丁寧に説明してみる

phpMyAdminのログイン画面今回は、SSLとかドメインのペナルティとか、最近多くなってきているWordPressのドメイン移行とかサーバー移行とかに関して説明していきます。初心者の方にもわかるように丁寧に書いたので、ちょっと長くなっていますがあしからず^^;

著者