WordPress マルチサイト メインドメインの変更方法
WordPressは頻繁なバージョンアップが行われています。そのたびに管理者にとって使いやすくなります。
しかし、一部難しい作業は、気を付けないとサイトダウンや復旧困難に導く可能性があります。
今回は、管理者権限を持つ想定で、マルチサイトのメインドメインを変更する方法を共有いたします。
以下のプロセスを踏まえて一歩ずつ進めば、順調に変更できるはずですが、誤操作やWordpressの仕様変更などにより問題が起きた場合、責任を持ちかねますのでご了承の上でご参考ください。
WordPress マルチサイトのメインドメインを変更する方法は、子サイトのドメインやサブアドレスの変更より必要作業が多いです。
以下を前提として本文を読み替えてください。
元ドメイン:moto.com
子サイトアドレス(サブカテゴリ):moto.com/son1
子サイトアドレス(独立ドメイン):son2.com
新ドメイン:new.com
(moto.comをnew.comに変更するのが目的)
注意:元ドメインのスペルだけを変えてください。
例1:
変更前:http://moto.com
変更後:http://new.com
例2:
変更前:https://moto.com
変更後:https://new.com
例3:
変更前:http://moto.com/category
変更後:http://new.com/category
DBバックアップ
DBのバックアップを実行しましょう。phpMyAdminのエキスポート機能で簡単に取れます。万が一問題が起きた場合、インポート機能で復旧できます。
ドメイン設定
- 新ドメイン(new.com)をサーバーのアドレスにマッピングします。
- プロバイダのドメイン管理パネルで、新ドメインをサブドメインとして追加します。
【重要】Document RootをWordpressのフォルダパス(例:/public_html)と同じものに合わせます。 - 新ドメインのワイルドカード指向を設定します。(必要に応じて)
例:
サブドメイン:*.new.com
Document Root:public_html/wildcard - 元ドメインにSSLが使用される場合、新ドメインのSSLを設定します。
データベース更新
以下の値を更新します。
※Tableのプレフィックスがwp_であるのが通常ですが、そうでない場合は、「wp_」読み替えてください。
- wp_options
siteurl:新ドメイン(new.com)に更新します。
home:新ドメイン(new.com)に更新します。 - wp_site
domain:新ドメイン(new.com)に更新します。 - wp_sitemeta
siteurl:新ドメイン(new.com)に更新します。 - wp_blogs
domain:新ドメイン(new.com)に更新します。
注意:子サイトアドレスがほかの独立ドメイン(例:abc.com)である場合は、変える必要はありません。
複数の子サイトアドレス(サブカテゴリ)がある場合、それぞれ変更します。
例:
moto.com/son1 → new.com/son1
moto.com/son3 → new.com/son3
moto.com/son4 → new.com/son4
【注意】変更するとき、「moto.com/son1」を新しいドメインに上書きするのではなく、「moto.com」の文字だけを上書きます。操作ミスにご注意ください。 - wp_?_ options
各サブサイトのためにblog_idが割り当てられているテーブルがあります。
例:wp_2_ options、wp_3_ options、wp_4_ options……(数字はblog_id)
これらのテーブルを探して、siteurlとhomeを新ドメインに更新します。
wp-config.phpの修正
define('DOMAIN_CURRENT_SITE','moto.com')を define('DOMAIN_CURRENT_SITE','new.com')に変更します。
以上。