WordPressでドメイン関連の設定を一気に変えたいときのSQL

システム部の鈴木です。

5月に入ってますます暑くなってきましたね。
こういう時こそ、普段なかなか動かせない身体を動かしたいもの。
ということで家から地元の駅までの短い距離ですが、自転車通勤を再開しました。

距離は短いですが、キツめの坂を上って下って、また上って下って上って・・・
の繰り返しなのでなかなか脚にきます。。

冬は防寒してても自転車は寒いのでバスに乗ってましたが
今の時期は気持が良いので、このままちゃんと続けたいものです。

 

さて、今回はWordPressのサイトを別のサーバに移したい場合の子ネタです。

wp_logo


WordPressを別サーバに移動するとき、新サーバ側にはこれらを移動します。

  1. サイトのhtmlドキュメントや画像、プログラム等一式
  2. DB(MySQL)のデータ

それも行ったうえで、wp-config.php で新サーバのDB設定に書き換えたり
新サーバ側での一時的なテスト用にドメインを設定したりといったことをします。

現在のサーバはひとまずそのままにして、移行して一通りの動作確認をしてから
DNSを切り替えるなりして新サーバ側を公開する、ってパターンが多いと思いますが
新サーバ側でテスト用のドメインを設定していた場合に
WordPress の記事ページへのリンクをたどっても元々のドメインのURLで表示されてしまいます。

これはWordPress側で各ページのパーマリンクがDBに記録されているからなのですが、
動作確認をするにはちょっとこれでは作業がしにくいですね。

 

そこで、MySQLで以下のクエリを実行して、一気にパーマリンクなどの設定を変えてしまいましょう。

[php]
UPDATE wp_options SET option_value = REPLACE(option_value, ‘http://hogehoge.com’, ‘http://new.hogehoge.com’);
UPDATE wp_posts SET guid = REPLACE(guid, ‘http://hogehoge.com’, ‘http://new.hogehoge.com’);
[/php]

 

 

2つのSQLがありますが、どちらも'http://hogehoge.com'から'http://new.hogehoge.com'に変更したい場合の例です。

最初のものはWordPress管理画面から設定できるドメインの設定部分を変えるものです。
記事や固定ページなどのパーマリンクは2つ目のSQLで変更します。

これでドメインが変わってもリンクが切れること無くサイトのチェックが行えます。