Search Replace DBでWordPressのドメイン変更
WordPressのドメイン変更と移転を行う機会があったために、Search Replace DBというPHPアプリを使用してみました。
WordPressの以降を行う場合、
1.旧サーバーからWordpressフォルダをダウンロードする
2.Wordpressフォルダで旧サイトURLのテキストを検索して新サイトURLに置き換える
3.置き換えたものを新サーバーにアップロードする
4.旧サーバーのデータをMySQLからダンプしてダウンロードする
5.ダンプ内にある旧サイトURLを新サイトURLに置き換える
6.ダンプファイルを新サーバーのMySQLに読み込ませる
7.DB接続情報やWordpress設置フォルダの設定を変更する
といった手順が必要です。
2は簡単な検索置換の機能があるテキストエディタで可能ですが、5のDBダンプファイルのテキスト置換はちょっとややこしい部分が含まれています。
シリアライズされたURLをそのままテキスト置換した場合、データの文字列長も変更する必要があり、これはいちいち手作業でやる必要があります。
これを解決してくれるSearch Replace DBを利用してみました。
https://interconnectit.com/products/search-and-replace-for-wordpress-databases/
こちらのURLからダウンロードできます。
こちらをWEB公開領域で行うのはセキュリティホールになりうるので一度自分のPCに仮想マシンを作ってそちらで実行することにしました。
ちょうど社内のPHP案件で仮想マシンを使っていて、その仮想マシンをもらうことができたので環境構築には時間がかかりませんでした。
WordPressの設置しているフォルダ内にこのSearch Replace DBのフォルダを設置する必要があります。
仮想マシンのMySQLにWordpressのダンプを読み込ませ、Search Replace DBを実行します。
インターフェースはものすごく簡単です。
変更するURLとDB接続情報を入力します。
dry runボタンを押すとテスト実行し、どの部分がどう変更されるかがわかりやすく一覧表示されます。
この結果を見てみると確かにシリアライズされた文字列部分もきちんと変更されていることがわかります。
問題なければlive runを実行し、DB内のデータを書き換えます。
その後もう一度mysqldumpでダンプを出力し、新サーバーのMySQLにダンプを読み込ませます。
あとは7の作業を行えば無事Wordpressの移転が完了しました。
WordPressの以降手順をシンプルにしてくれるよいアプリケーションだと思います。
他のWordpress以降にもこれを使っていこうと思います。