読者です 読者をやめる 読者になる 読者になる

@Satoh_D no blog

大分にUターンしたので記念に。調べたこととか作ったこととか食べたこととか

WordPressでサーバ移行時、ドメインの置換にスクリプトを使ったら簡単にできた話

regular WordPress

WordPressでサーバ移行時や本番環境に反映する時、データベース内のドメインを変更しなければいけません。
ドメインの変更方法は

と色々あるのですが、失敗することもあったりととても慎重にならざるを得ません。。
ですが今回紹介する方法は簡単に、かつコマンドとかを考えずに行うことができます。

ざっくり言うと

これだけ。とても簡単。ストレスフリー。 では、詳しいやり方を説明します。

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で行います。

画像01

ダウンロードしたファイルを解凍すると、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」ボタンをクリックして下さい。

画像02

次にwp-congif.phpに書かれている情報が表示されます。
内容に間違いが無ければ「Submit DB details」をクリックしてください。

画像03

どのテーブルの中身を置換するかを選びます。
今回は全てのテーブルの中身を置換するので、全て選択されていることを確認し、「Continue」をクリックしてください。

画像04

置換する文言と置換後の文言を入力される画面が表示されます。
「Search for (case sensitive string):」に旧ドメインを、
「Replace with:」に新ドメインを入力し、「Submit Search string」をクリックします。

画像05

「Completed」と書かれた画面が表示されれば置換は終了です。
最後に、このファイルを削除して作業完了です。

画像06

基本的に画面に従ってボタンを押すだけなので失敗もほぼないと思います。
今後、WordPress移設作業の際は試してみてください!

今回参考にしたページ