WordPressでサーバ移行時、ドメインの置換にスクリプトを使ったら簡単にできた話
WordPressでサーバ移行時や本番環境に反映する時、データベース内のドメインを変更しなければいけません。
ドメインの変更方法は
- phpMyAdmin上でSQL文を打って変更したり
- エクスポートしたsqlファイルをテキストエディタで一括置換したり
と色々あるのですが、失敗することもあったりととても慎重にならざるを得ません。。
ですが今回紹介する方法は簡単に、かつコマンドとかを考えずに行うことができます。
ざっくり言うと
これだけ。とても簡単。ストレスフリー。 では、詳しいやり方を説明します。
DBのデータを移行する
phpMyAdmin等からDBの内容をエクスポートし、新サーバのDBにそのままインポートします。
参考URL
- データベースのバックアップ - WordPress Codex 日本語版
- データベースの復元 - WordPress Codex 日本語版ータベースの復元
WordPressのファイルを移行する
開発環境(もしくは旧サーバ)からWordPressのファイルをローカルにダウンロードします。
WordPressのディレクトリ直下にwp-config.phpというファイルがあるので、テキストエディタ等で下記の部分を新サーバのものに書き換えます。
define('DB_NAME', '旧サーバのDB名'); / 新サーバのDB名に変更 /
define('DB_USER', '旧サーバのDBのユーザ名'); / 新サーバのDBのユーザ名に変更 /
define('DB_PASSWORD', '旧サーバのDBのパスワード'); / 新サーバのDBのパスワードに変更 /
define('DB_HOST', '旧サーバのDBのホスト名'); / 新サーバのDBのホスト名に変更 /
wp-congif.phpの編集が完了したら、WordPressのディレクトリを新サーバにアップロードします。
「SEARCH REPLACE DB」をダウンロードし、WordPressのディレクトリにアップロードする
WordPress Serialized PHP Search Replace Toolにアクセスし、
「PROBLEMS? TRY V 2.1.0」をクリックし、ファイルをダウンロードします。
※この記事を書いてある間にver3.0が出ていたようです...。まだ試していないので今回はver2.1.0で行います。
ダウンロードしたファイルを解凍すると、searchreplacedb21というディレクトリができます。
中にある「searchreplacedb2.php」というファイルを、WordPressのディレクトリにアップロードします。
ファイルを実行する
ファイルのアップロードが完了したら、そのファイルのURLを入力してアクセスしてください。
下記の様な画面が表示されます。
「Pre-populate the DB values form with the ones used in wp-config? It is possible to edit them later.」にチェックが付いていることを確認し、「Submit」ボタンをクリックして下さい。
次にwp-congif.phpに書かれている情報が表示されます。
内容に間違いが無ければ「Submit DB details」をクリックしてください。
どのテーブルの中身を置換するかを選びます。
今回は全てのテーブルの中身を置換するので、全て選択されていることを確認し、「Continue」をクリックしてください。
置換する文言と置換後の文言を入力される画面が表示されます。
「Search for (case sensitive string):」に旧ドメインを、
「Replace with:」に新ドメインを入力し、「Submit Search string」をクリックします。
「Completed」と書かれた画面が表示されれば置換は終了です。
最後に、このファイルを削除して作業完了です。
基本的に画面に従ってボタンを押すだけなので失敗もほぼないと思います。
今後、WordPress移設作業の際は試してみてください!