WordPress マルチサイトのドメインを変更する方法

0

WordPress マルチサイトの基本的なドメインを変更するには、ウェブサイトのデータベースから5の値を変更する必要があります。

まず、このタスクを実行する前に、DBのバックアップを受けておいてください。 DBのバックアップはphpMyAdminで簡単に得ることができます。

DBバックアップ取得

ウェブホスティング会社のホームページからアカウントにログインした後、phpMyAdminに移動します。

Cafe24の場合、商品によって異なりますが、一般的な場合 サービス接続管理> MySQLウェブ管理をクリックしてphpMyAdminにアクセスすることができます。

Bluehost, SiteGround などcPanelをサポートするWebホスティングを利用する場合cPanelでphpMyAdminを検索してアクセスすることができます。

phpMyAdminでDBバックアップ取得

エクスポート タブをクリックした後に上記のように設定して 実行をクリックして、DBファイルをダウンロードして保管するようにします。

DBファイルが大きすぎる場合には、SSHに接続してダウンロードすると、より速く、より安全にダウンロードが可能です。

マルチサイトで既定のドメインを変更する

WordPressはserializeしたデータをデータベースに格納するため、これを変更すると、破損する恐れがありますので、上記の方法に基づいて、あらかじめバックアップをしておくのが安全です。

次のような5の値を更新する必要があります。 テーブルプレフィックス(table prefix)がwp_ではない場合、この値を実際のテーブルプレフィックスに変わったらされます。

  • wp_options: "siteurl"と "home"
  • wp_site
  • wp_sitemeta:「siteurl "項目
  • wp_blogs:前のドメイン名が含まれている "domains"カラムのすべての項目
  • wp _#_ options:各サブサイトには、blog_idが割り当てられています。 wp _#_ optionsテーブル(#はblog_id)を探して、テーブル内の「siteurl "と" home "を探して更新する必要があります。

変更した場合、ドメインの形式は、元の形式と同じです。 たとえば、httpがなければhttpがない形式に置き換える必要があります。

mysite.domain.com => mysite.newdomain.com

HTTPが含まれている場合は、HTTPを維持する必要があります。

http://mysite.domain.com => http://mysite.newdomain.com

WordPressテーブルに基づいて、各フィールドに対して厳格なルールがあります。 wp_sitewp_blogs テーブルには、 http://を含めることができず、最後に スラッシュ(/)を付けるん。 これとは異なり wp_options テーブルでは、先頭に http://必要があります。 wp_sitemeta テーブルの場合、先頭に http://があり、最後に スラッシュ(/)が含まれます。

WebサイトでSSLを使用するか、wwwのバージョンで動作するように構成した場合は、この設定を保持する必要があります。 たとえば、SSLとwwwドメインの設定がされている場合は、次のように変更することができます。

https://www.mydomain.com => https://www.mynewdomain.com

重要:ほとんどの場合、wp-config.phpファイルのエントリを更新する必要があります。 例えば、wp-config.phpファイルに複数のサイトに関連して次の行が追加されている場合:

define('WP_ALLOW_MULTISITE', true);
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', true );
$base = '/';
define( 'DOMAIN_CURRENT_SITE', 'mysite.com' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );

「mysite.com」を希望するドメインに変更するようにします。

define('WP_ALLOW_MULTISITE', true);
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', true );
$base = '/';
define( 'DOMAIN_CURRENT_SITE', 'newsite.com' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );

これでマルチサイトの基本的なドメインの変更が完了します。

おわりに

最近 SiteGround(SiteGround)にインストールされている WordPress マルチサイトを国内のウェブホスティング会社に移転することを引き受けたことがあります。

この過程で、いくつかのエラーを接するました。

  • ERR_NAME_NOT_RESOLVED エラー:サブドメインが登録されていないため、サブドメイン名を見つけることができないため、この問題が発生します。 Webホスティングのすべてのサブドメインを追加してくれれば、問題が解決されます。 (この問題は、DNSの設定と関連しているようです。DNS情報を適切に設定すると、個別にサブドメインを追加してくれる必要はないようです。)
  • wp-signup.php?new = ...がURLに追加される問題:この問題に関連して、Googleを検索してみる解決方法が記載されています。 (ガッビアーノはwp-config.phpファイルのDBホストにDB IPを入力しヘジュオヤします。PHPのバージョンを変更した後、DB IPが変更されて、このような問題が現れたことが明らかになりました。〓〓)

前を完了し、ドメインまですべて変更した一部の機能が正常に動作していなくて依頼人と相談して SiteGround 内でドメインを変更してみると正常に動作しました。

上記の方法を応用すれば、サブサイト(例えば、example.com/en)をメインのサイトに変更することも可能です。

メモ:

コメントを残す

コメントを入力してください!
名前を入力してください