CMS構築を目的にPHPをベースとしたWordPress、CakePHPやPEARなどオープンソースを中心に解説しています

WordPress移行手順のメモです。前提条件としては

  • WordPressのバージョンは3.0.0
  • 別サーバで別ドメイン、例えば「http://xxx.jp/」から「http://yyy.jp/」へ移行することを想定
  • DB環境の変更に伴いテーブルプレフィックス「wp_」を「wp2_」に変更(例えば移行先に既に別のWordPressがインストールされているなどの場合)

です。

旧サーバのバックアップ

旧サーバよりFTPなどでWordPress関連のソースを全てダウンロードします。また、旧サーバDBよりWordPress関連のテーブルを全てエクスポートします。デフォルトでテーブルのプレフィックスは「wp_」となっています。エクスポートにはphpMyAdminなどを利用して、テキスト形式でSQLを取得します。

SQLの置換

取得したSQLをテキストエディタで開いて、プレフィックスを新テーブル名に置換します。テーブル名の一覧はphpMyAdminで確認できますね。例えば検索する文字列は「wp_commentmeta」、置換する文字列は「wp2_commentmeta」などとして、テーブル名を一つ一つ注意しながら置換します。

新DBにテーブルをインポート

新サーバでphpMyAdminを利用して、先ほど編集したテキスト形式のSQLをインポートします。
インポートが完了したら、WordPressの管理画面のURLも変更となるので、テーブル「wp2_options」のカラム「option_name」が「siteurl」のレコードの「option_value」を「http://xxx.jp/wordpress」などから「http://yyy.jp/wordpress」に変更します。
さらに
「wp2_options」のカラム「option_name」が「wp_user_roles」のところを「wp2_user_roles」へ
「wp2_usermeta」のカラム「meta_key」が「wp_capabilities」のところを「wp2_capabilities」へ
「wp2_usermeta」のカラム「meta_key」が「wp_user_level」のところを「wp2_user_level」へ
それぞれ変更します。

新サーバにWordPressソースをアップロード

先ほど旧サーバよりダウンロードしたソースを新サーバに全てアップロードします。この時必要に応じて「wp-config.php」を編集します。
まず、DBへの接続設定が変更となるはずなので、以下の項目を編集します。

define('DB_NAME', 'xxxxx');
define('DB_USER', 'xxxxx');
define('DB_PASSWORD', 'xxxxx');
define('DB_HOST', 'xxxxx');
define('DB_CHARSET', 'utf8');

また、テーブルのプレフィックス名を変更したので、以下の項目も編修します。

$table_prefix  = 'wp2_';

管理画面より設定変更

上記まで行えば「http://yyy.jp/wordpress/wp-admin」などから管理画面にアクセスできるはずです。
最後に管理画面から「設定」⇒「一般」⇒「サイトのアドレス」を「http://yyy.jp」に変更します。

その他処理

ドメインを変えるとGoogle Analyticsの解析スクリプトや各種APIのキーを再取得しなければなりません。
ケースによりますが、ついつい忘れがちになるので注意しましょう!

このエントリーをはてなブックマークに追加

Comment

Monthly Archives

Search