別ドメインへの引っ越しや、テスト環境から本番環境への移行作業。
頻繁に行う作業ではありませんが、今後もスムーズに行えるようにまとめてみました。
移行前のサーバのデータバックアップ
- FTPソフトなどでデータを全てダウンロードする。
- phpMyAdminで、MySQLデータベースのデータをエクスポートする。
- ダウンロードしたいデータベースを選択
- 「エクスポート」メニューを選択
- 「詳細設定」で、「DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT コマンドを追加する」にチェック ※インポートする際、既存のデータがあれば削除してインポートされます。
設定ファイル(wp-config.php)の書き換え
必要に応じて、新サーバの情報に書き換える。
define('DB_NAME', '****'); define('DB_USER', '****'); define('DB_PASSWORD', '****'); define('DB_HOST', '****');
移行後のサーバへデータアップ
移行前のサーバからダウンロードしたデータを、移行後のサーバに全てアップする。
書き換えた設定ファイル(wp-config.php)も含める。
データベースの書き換え(URLの変更がある場合)
ディレクトリを変更したりドメイン名を変更したりする場合、データベースも書き換える必要があります。
※※注意!!※※
データベース内にはシリアライズされたデータも入っています。テキストエディタやSQLでURLの一括置換すると整合性が合わなくなってしまい、プラグインやウィジェットが動かなくなるなど、不具合が生じる可能性があります。
そこで、WordPress Codexでも推奨されている「DATABASE SEARCH AND REPLACE SCRIPT IN PHP」というツールを使います。
- 「DATABASE SEARCH AND REPLACE SCRIPT IN PHP」を開き、スクリプト(V.3.1.0)をダウンロードする。
- zipフォルダを解凍し、wp-config.phpと同階層に「Search-Replace-DB-master」フォルダアップロードする。
- ブラウザでアクセスし、管理画面を開く。
http://●●●(←hostname)/Search-Replace-DB-master/
- 置き換えたい文字列を入力する。
「replace」に移行前のドメイン名、「with」に移行後のドメイン名を入力。
※http(s)や/(スラッシュ)は入力しないでください。
- 「update details」でアップロード、「dry run」でテスト、「live run」で実行。
- 正しく置換されている事を確認したら(サイトを表示し、リンク先や画像のURLが書き換わっているかなどを確認)
「delete me」でこのツールを削除。
※※注意!!※※ ツールを削除しないと外部からアクセスされ、置換される危険性があるので、必ず削除してください。
パーマリンク設定の更新
パーマリンク設定をデフォルトから変更している場合、変更した設定が効いていない場合があります。
その場合は、WordPressの管理画面でパーマリンク設定画面を開き、設定を変えずに更新ボタンを押してください。