WordPress:ローカルから公開サーバへの手動での移行について

公式サイトにあるWorpressの引っ越しに関する解説に沿った、手動での移行手順です。 要は、移行元のサイトで、siteurlとhomeを移行先に合わせて変更し、移行先に対応した設定にしてから、WorpdPressファイルやDBのデータをエクスポートし、移行先でインポートするということです。 移行元のサイトを継続して利用するためには、元の設定を予めバックアップしておいて、それを復元する必要があるので、その点は留意が必要です。

ドメイン名またはURLを変更するとき

(1)元サイトのバックアップ
まず、移行元のサイトで、予め、WordPressのファイルとDBデータをバックアップしておきます。これは、移行元サイトを復元する為のものなので、上書きされたりしない様、退避しておきます。
  • WordPressのファイルは、インストールしたフォルダーごと、別の場所にコピー
  • DBデータは、phpMyAdminなどで、全テーブルのデータをエクスポート
(2)移行先に合わせ設定変更
次に、元サイトの「管理画面」の「設定」「一般」で、siteurlとhomeを移行先に合わせて変更します。 このとき、エラーが発生して、元サイトは動作しなくなりますが、ここでは、これでOKです。  
(3)移行用データのエクスポート
この状態で、改めて、WordPressのファイルを、(1)とは別の場所にコピーし、DBデータ(sqlファイル)をエクスポートします。 これが、移行のためのデータとなります。

(4)sqlファイルの編集

sqlファイルの中のドメインに関する情報は、移行先に合わせて修正しなければなりません。テキストエディタ―などでの、検索と置換での変更になりますが、私の場合は、一括置換でも問題を生じませんでした。 もし、テーブル接頭辞が変わる場合は、接頭辞を含むテーブル名を変える必要があります。それだけではなく、接頭辞+「options」テーブル、接頭辞+「usermeta」のデータも修正する必要があります。(下記の「wp_」の部分が接頭辞で、これを修正します)
  • (1)wp_optionsテーブル
    • ①option_nameフィールドの「wp_user_role」
  • (2)wp_usermetaテーブル
    • ①wp_capabilities
    • ②wp_user_level
    • ③wp_dashboard_quick_press_last_post_id
    • ④wp_user-settings
    • ⑤wp_user-settings-time
これは面倒な作業なので、可能ならAll-in-one wp Migrationを利用するのが無難です。少なくとも、ローカルサイト側でこれを使って、接頭辞だけでも公開サーバ側の制約条件に合わせてあらかじめ変更したほうが良いでしょう。
(5)移行先で、データインポート
DBデータは、phpMyAdminでインポートします。WordPressのファイルは、移行先の所定のフォルダーにコピーするだけです。インストールの必要はありません。
(6)wp-config.phpの編集
データベースに関する情報が変わる場合は、wp-config.phpを修正します。ただし、テーブルの接頭辞が変わる場合は、wp-config.phpの変更の他、テーブル名や、「接頭辞options」テーブルや、「接頭辞usermeta」テーブルのデータの修正が必要です。
(7)画像パスの修正
公式サイトの説明では、画像/メディアへのリンクが、古いままなので、 Velvet Blues Update URLsというプラグインで修正するか、データベースを手動で修正し、新しい場所への参照に変えなければならないということです。 私の場合、(3)でエクスポートしたDBデータ(SQL)を検索、置換したのですが、特に問題は生じませんでした。  
(8)テーマの設定
私の場合はCocoonでしたが、cocoonのバックアップ機能で、設定条件の移行ができます。ただし、ヘッダー画像は古いパスのままでした。

まとめ

ローカルから公開サーバ側への移行は、プラグインの利用が無難です。そのために条件を合わせることがポイントです。 手作業の場合は、Codexの解説のように、移行先の設定に合わせてから、WordPressファイルとDBデータを移行する方法が確実です。設定変更せずに移行した場合でも、wp_optionsテーブルのsiteurl、homeを修正すれば、管理画面にログイン可能になるようです。

コメント

タイトルとURLをコピーしました