ずっと更新もメンテもしていなかったら、ドメインの更新( johnykei.com )も忘れてしまい見れない状態となってしまいました。
ドメインを再取得しようかと思ったけど、サポートに問い合わせたら結構なお金もかかるとのことだったので、違うドメイン取得した方が早そうねってことで新ドメイン( johnykei.net )で再スタートしたいと思います。
WordPress サイトの場合、ドメインを変更しただけだとまだ見れないなので、DB の URL の更新が必要。
この時に、この SQL 文が便利なのでメモ。
仕事でもステージング環境と本番環境を切り替える時に使っています。(自分がやっているわけではないけど)
<pre class="lang:mysql decode:true ">UPDATE wp_options SET option_value = replace(option_value, 'http://old-example.com', 'http://new-example.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = REPLACE (guid, 'http://old-example.com', 'http://new-example.com');
UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://old-example.com', 'http://new-example.com');
UPDATE wp_posts SET post_content = REPLACE (post_content, 'src="http://old-example.com', 'src="http://new-example.com');
UPDATE wp_posts SET guid = REPLACE (guid, 'http://old-example.com', 'http://new-example.com') WHERE post_type = 'attachment';
UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://old-example.com','http://new-example.com');
※ DB の取り扱う際には、必ずバックアップを取って行いましょう。
今回の場合、 old-example.com が johnykei.com、new-example.com が johnykei.net でした。
ちなみに、マルチサイトを使っている場合にはそれぞれのサイトのテーブル(wp2options など)も対象にしないといけないので注意。
あと、wpblogs と wpsite テーブルの「domain」も変更が必要です。
<pre class="lang:mysql decode:true ">UPDATE wp_blogs SET domain = 'new-example.com';
UPDATE wp_site SET domain = 'new-example.com';
ちょっと前の記事ですが、こちらにもっと詳しく書かれています。
※ 2015/3/5 追記
僕はこの SQL 文を元に本番データをローカルに持ってきたりすることがあるのですが、WP-CLI を入れてる場合はこれでいけそう。今度試してみる。WP-CLI 素敵。
<pre class="lang:default decode:true ">wp search-replace 'http://example.com' 'http://example.local'