読者です 読者をやめる 読者になる 読者になる

WordPressサイトのドメインを変更する

WordPress MySQL

WordPressで公開したサイトのドメインを後から変更するというのはあまりやらない操作だとは思いますが、どうしてもドメインを移したいとか、公開済みのサイトをコピーしてテスト環境を作りたいといった理由でやらなくてはならないこともあると思います。

基本的には下記のドキュメントに書いてある通りのことをやればいいのでしょうが、長いし、「ピーエッチピーマイアドミンで…せよ」とか非本質的なことを書いてあったりするので、僕がいつもやっている手順をメモとして残しておきます。

マルチサイト機能が無効の場合

blog.example.comからblog.example.orgへのドメイン変更を行いたいとします。

まず、wp_optionsのsiteurlとhomeというキーにドメイン名が入った値があるはずなので、この2つの値を変更します。

mysql > update wp_options set option_value=replace(option_value, 'blog.example.com', 'blog.example.org') where option_name in ('siteurl', 'home');

これだけです。

マルチサイト機能が有効な場合

マルチサイト機能が有効な場合は、サイトごとに wp_2_options, wp_3_options, etc.というテーブルがあるはずなので、同様に変更します。

mysql > update wp_2_options set option_value=replace(option_value, 'blog.example.com', 'blog.example.org') where option_name in ('siteurl', 'home');

さらに、wp_blogsというテーブルがあるので、こちらも旧ドメインから新ドメインに変更します。

mysql > update wp_blogs set domain = 'blog.example.org' where domain = 'blog.example.com';

最後に、wp-config.php にドメインの設定があるはずなので、これを新ドメインに変更します。

define('DOMAIN_CURRENT_SITE', 'blog.example.org');

以上です。