![Favorite Favorite](https://i0.wp.com/onocom.net/bookmark/wp-content/plugins/wp-favorite-posts/img/heart.png?w=790)
![Loading Loading](https://i0.wp.com/onocom.net/bookmark/wp-content/plugins/wp-favorite-posts/img/loading.gif?w=790)
WordPressを利用してstaging.example.comで構築していたサイトを、www.example.netとして公開する場合、データベース内のURLを書き換える必要があります。
単純にSQLをダンプしてURLを書き換えた後、再度流し込んであげれば動く場合もありますが、そういった操作は非常に危険です。
なぜなら、DBにはシリアライズされて保存されているデータもあり、そういったデータが壊れる可能性があるからです。
例えばDB上に以下の保存データがあったとすると、単純なURLの検索・置換では、データが壊れます。これは、シリアライズデータは保持している文字列とその長さを対にして保存しているためです。
以下の書き換え後のデータでは、長さに26文字とあるのに、保持している文字列は22文字しかありません。
書き換え前:s:26:"http://staging.example.com";
書き換え後:s:26:"http://www.example.net"; ← 単純にURLを書き換えるだけだとデータが壊れる
この部分を書き換えるのは結構骨が折れます。
そういった処理を全てやってくれるのが「Database Search and Replace Script」というツールになります。
「Database Search and Replace Script」ツールを使うと、先ほどのシリアライズされて保存してあったデータも以下のようにしっかりと書き換えてくれます。
書き換え後:s:22:"http://www.example.net";
使い方も非常に簡単なのでおすすめです。
サイトURL:https://interconnectit.com/products/search-and-replace-for-wordpress-databases/