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

Last Updated:2022年03月08日| | コメントを残す

WordPress 管理者ページでサイトのアドレスを簡単に変更できます。 しかし、 WordPress マルチサイトのデフォルトドメインを変更する方法は一般的です WordPress サイトに比べてやや複雑です。 この記事では、マルチサイトのデフォルトドメインを変更する方法について説明します。

まず、この作業を実行する前にDBバックアップを受け取ってください。 データベース操作は元に戻せないため、誤って変更するとサイトにアクセスできない可能性があります。 DBバックアップはphpMyAdminから受け取ることができます。

[この記事は2022年3月8日に最終更新されました。 ]

WordPress マルチサイト

マルチサイトは、単一の WordPress インストールで複数のサイトを運営できるネットワークです。 たとえば、同じサイトを作成した後にそのサイトを10個または20個程度に複製した後にサイトのタイトルと内容を変更して運営する場合(例えば、分譲サイトホームページ)にマルチサイトを利用すると便利です。

また、多言語サイトを運営する場合でもマルチサイトを考慮することができます。 たとえば、基本言語でサイトを作成した後、各言語サイトに複製した後、テキストのみを各言語の翻訳に置き換えることができます(「WordPress マルチサイト多言語版の追加作業"参照)。

しかし、マルチサイトの欠点もあります。 実際に運営している方はご存知でしょうが、運営してみると予期せぬ問題が発生することもあります。 そして、マルチサイトを利用するサブサイトを分離するのは容易ではないかもしれません。 また、マルチサイトで互換性のないプラグインもあり、一般 WordPress サイトでは無料で利用できるプラグインがマルチサイトでは有料で販売される場合があります(例: UpdraftPlus).

多くのサイトを運営している場合は、マルチサイトがほとんど不可欠です。 たとえば、30のサイトを運営する場合、マルチサイトで構成すると、 WordPress インストールですべてのサイトを管理できますが、個別にインストールして運営する場合、30サイトを管理するのは容易ではなく時間もかかります。

DBバックアップ取得

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

Cafe24の場合、商品によって異なりますが、一般的な場合 サービス接続管理> MySQLウェブ管理をクリックしてphpMyAdminにアクセスできましたが、数年前にphpMyAdminサービスを終了しました。 Cafe24を使用する場合は、まずphpMyAdminツールをインストールしてください(参照).

Bluehost, SiteGround などcPanelをサポートするWebホスティングをご利用の場合、cPanelでphpMyAdminを検索してアクセスできます(」海外ホスティング BluehostでphpMyAdminにアクセスする方法"参照)。

phpMyAdminでDBバックアップ取得

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

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

プラグインを使用してDBをバックアップする

バックアッププラグインを使用してデータベースをバックアップすることも可能です。 マルチサイトバックアッププラグインについては、次の記事を参照してください。

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

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);

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

マルチサイトサイトのアドレス変更後に問題が発生した場合

マルチサイトアドレスを変更すると、Too Many Redirectsなどの問題が発生する可能性があります。 そして管理者ページにログインしようとしたとき

http://www.example.com/wp-login.php?redirect_to=http%3A%2F%2...

上記のように、 "/wp-login.php?redirect_to=http%3A%2F%2..." アドレスにリダイレクトされることもあります。

経験上、サイトのアドレスを変更する際にエラーが発生した場合、または.htaccessファイルが間違っていると、これらの問題が発生しました。 次の記事を参照してトラブルシューティングを試してください。

最後に、

最近 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)をメインのサイトに変更することも可能です。

メモ:


コメントを残す

コメント