WordPressで運用しているサイトのサーバーを移転(ドメイン変更有り)する際の手順をメモします。
1. 現サーバーからサイトデータ全てをローカルマシンにダウンロード
2. 現サーバーのデータベースからデータをエクスポート
phpMyAdminが使用できる環境なら簡単ですね。
3. wp-config.phpの内容を新サーバーに合わせる
ダウンロードしたwp-confing.phpの内容を新サーバーの設定に変更します。
/** WordPress のためのデータベース名 */
define(‘DB_NAME’, ‘**********’);
/** MySQL データベースのユーザー名 */
define(‘DB_USER’, ‘**********’);
/** MySQL データベースのパスワード */
define(‘DB_PASSWORD’, ‘**********’);
/** MySQL のホスト名 */
define(‘DB_HOST’, ‘**********’);
4. 新サーバーにサイトデータをアップロード
5. 新サーバーのデータベースにデータをインポート
問題なければ新ドメインでトップページくらいは表示されるはずです。
これで移行完了と思いたいのですがリンクが正しく飛びません。これはデータベースに登録されているドメインが旧ドメインのままになっているからです。これを新ドメインに書き換える必要があるのですが、SQL文を使ってドメイン名を置換するだけだと不具合が生じることがあります。
6. データベース情報の書き換え(移行PHPダウンロード)
Interconnect ITよりWORDPRESS (AND OTHERS) SEARCH AND REPLACE TOOL(http://interconnectit.com/products/search-and-replace-for-wordpress-databases/)をダウンロード。ダウンロードしたsearchreplacedb2.phpを新サーバーのWordPressディレクトリにアップ。
7. 6でアップしたsearchreplacedb2.phpにアクセス
6でアップしたsearchreplacedb2.phpにブラウザでアクセスします。
例:http://www.example.com/searchreplacedb2.php
- 最初の画面では[Submit]をクリック
- wp-config.phpのサーバー設定情報が表示されるので内容を確認。問題なければ [Submit DB details]をクリック
- 書き換え対象とするテーブルを選びます。
全て選択して問題ないかと。テーブルを選択したら[Continue]をクリックして次へ
※「Leave GUID column unchanged? 」にはチェックを付けない方がいいそうです。 - Search forには旧ドメイン(検索対象)を、Replace wihtには新ドメイン(置換内容)を入力し、[Submit Search string]をクリック。
- データベースのドメイン情報の書き換え完了
8. 7でアップしたsearchreplacedb2.phpを削除します。
これでサーバーの移行は完了です。