WordPressの移行時にデータベースの内容を安全に置換できるツール「DATABASE SEARCH AND REPLACE」

WordPressサイトを別ドメインや別ディレクトリに移行する際、データベース内でドメインやパスの置換が必要になりますよね。簡単にphpmyadminを使って、SQLで直接一括置換してみたのですがうまく動作しませんでした。

調べたところ、使用しているプラグインによってはデータベースにURLをシリアライズして保存する為、移行前と移行後のURLの文字数が違う場合にうまくいかなくなるようです。

文字列を置換してくれるプラグインもあるようですが、今回は
DATABASE SEARCH AND REPLACE SCRIPT IN PHP
という置換ツールを使って問題なく移行する事ができましたので、備忘メモとして残しておきます。

DATABASE SEARCH AND REPLACE の使い方

まず作業前にデータベースのバックアップを取っておく事をおすすめします。

上記のリンクから最新の v3.1.0 (2019/11/22現在)をダウンロードしてください。

移行先の wp-congfig.php と同じ階層に、ダウンロード&解凍した Search-Replace-DB-master フォルダごとアップロードして、ブラウザからそのフォルダにアクセスします。

http://[ドメイン名]/Search-Replace-DB-master/

下記画面の通り、移行前の旧URLと、移行後の新URLを入力し、「dry run」をクリックすると、実際にはデータベースを書き換えずに結果をプレビューで確認する事ができます。その後、問題なければ「live run」をクリックして、実際に置換します。

自分の場合はドメイン名が変わっただけなのでこのツールで文字列置換をするだけであっさりうまくいきました。ディレクトリ名が変更になる場合は、.htaccess内の記述も変更する必要があると思います。

最後は悪用されないよう、このフォルダごと削除しておくのを忘れないようにしましょう!

[AD_server]