ダリの雑記:WEBプログラム版

WordPressでドメインの違うサーバに移転したとき

※追記(2016年3月3日)

この記事で書かれている方法を使用すると、一部データが消える可能性があります。(カスタムフィールドなどにURLが含まれている場合、JSONエンコードされていることがあるので、その内容が変更されるとデコードできなくなるため)

ちゃんと変更するためには、こちらのサイトで紹介されている方法を利用しましょう。

ドメイン変更を伴うWordPressサイトのサーバー移転方法 - WordPressの使い方と設定 - Webkaru

変換プログラムはこちら

※変換が完了したら、この変換プログラムは必ず削除しましょう。


 

ドメインの違うサーバにWordpressを移転するときの注意事項。

どんなCMSでも、データベースを丸ごと移転するとドメインの違いによりアクセスの不具合が発生します。

WordPressの場合は、管理画面にアクセスすると、旧ドメインの管理画面に飛んでしまいます。

そのような場合は、データベースの「wp_options」テーブル>「option_value」フィールドの中にある旧ドメインを新ドメインに置換してください。

一気にやるSQLはこちら(動作保証はしませんので、あらかじめバックアップをとって行ってください。

UPDATE `wp_options` SET `option_value` = REPLACE(`option_value`, '旧ドメイン', '新ドメイン');

これでとりあえず新ドメインの管理画面に入ることができるようになります。

なお、当然「投稿」や「固定ページ」の中にも旧ドメイン名が入っていると思うので、それも以下で置換してください。

UPDATE `wp_postmeta` SET `meta_value` = REPLACE(`meta_value`, '旧ドメイン', '新ドメイン');
UPDATE `wp_posts` SET `post_content` = REPLACE(`post_content`, '旧ドメイン', '新ドメイン');
UPDATE `wp_posts` SET `guid` = REPLACE(`guid`, '旧ドメイン', '新ドメイン');

【追記】2012/11/19に「UPDATE `wp_posts` SET `guid` = REPLACE(`guid`, '旧ドメイン', '新ドメイン');」を追記しました。

なお、これらの置換に関しては「Search Regex」というプラグインもあるので、こちらで行っても大丈夫です。

というか、SQL形式でエクスポートしたデータがあるのであれば、それを一度テキストエディタで置換した後、インポートするのが一番手っ取り早いんですけどね。

モバイルバージョンを終了