WordPress を、別サーバに移行するにあたってサイト URL を変更したい時があります。
例えば、開発環境から本番環境に移行する時とか
そんな時は、以下の SQL 文を発行することで wp_posts 内のデータを一発で置換できます。
UPDATE `wp_posts` SET post_content=REPLACE(post_content, "{旧URL}", "{新URL}") where post_content like "%{旧URL}%";
ただ wp_options とか wp_postmeta とかにはシリアライズされたデータが入っていることもあるので、これらはそのまま置換するとまずいです。
(シリアライズデータの中には、文字列の長さとかも含まれてるので)
そこで、シリアライズされたデータは一度アンシリアライズしてから置換して、シリアライズした後に DB に書き戻してやる必要があります。
ただ、手作業でこれやってるとかったるいので、それらを自動で行う PHP スクリプトを作りました。
https://gist.github.com/3627972
上記の gist から download するなり raw データを取得するなりして、PHP スクリプトを取得してください。
以下、使い方
続きを読む