一つの WordPress インストールで複数のサイトを運営する場合は、マルチサイトを検討できます。 多くのサイトを運営する必要がある場合は、マルチサイトが必須になる可能性があります。 しかし、マルチサイトを運営してみると、奇妙なエラーが発生したり、互換性がないプラグインもあるかもしれません。
このブログのサブディレクトリにマルチサイトをインストールして運営していました。 Newspaper テーマをテストする兼、またJavaScriptを勉強しながら整理する用途で始めましたが、今は放置されています。
サブディレクトリにインストールされているマルチサイトのネットワーク通知パネルにアクセスしようとしたため、ログインできない現象が発生しました。 突然、このような症状が現れて慌てました。 ハッキングされたのではないかと疑われたが、 WordPressが更新され、サブディレクトリにインストールされるマルチサイトの.htaccessとwp-config.phpファイルに追加されるコードが変更されて発生する問題だったようです。 やっとネットワークダッシュボードにログインし、wp-config.phpファイルと.htaccessファイルに追加されたルールを新しいルールに置き換えましたが、今回はリダイレクトエラー(Too Many Redirects)が発生しました。 今回の機会にマルチサイトを無効にしてシングルサイトに切り替えることにしました。
WordPress マルチサイトを無効にする(シングルサイトに変換)
WordPress マルチサイトをデフォルトのディレクトリではなくサブフォルダにインストールする場合、.htaccessファイルとwp-config.phpファイルに追加される規則が変わったようです。 最新バージョンでは次のようなルールが提示されますね。
.htaccess ファイル:
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /blog/
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
wp-config.phpファイル:
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false );
define( 'DOMAIN_CURRENT_SITE', 'www.thewordcracker.com' );
define( 'PATH_CURRENT_SITE', '/blog/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );
blogとサイトのアドレスは適切に変更してください。
www.thewordcracker.com/blogにマルチサイトをインストールするときは、上記の規則が使用されます。
マルチサイトを無効にしたい場合は、次の手順に進みます。
サイトのバックアップする
まずはサイトを徹底的にバックアップしてください。 マルチサイトの場合、プラグインでバックアップが可能かもしれませんが、経験的に手動でバックアップすることが確実なようです。 データとDBをバックアップする必要があります。
プラグインを使用する場合は、次の記事を参照してください。
残りのサイトを削除する
私のサイト»ネットワーク管理者»サイト»すべてのサイトに移動して、メインサイト(メインサイト)を除くすべてのサイトを削除します。
メインサイト以外のマルチサイト内の他のサイトをシングルサイトに変更することはできません。 代わりに、データをエクスポートしてデータをエクスポートした後 WordPress サイトを作成してデータをインポートしてコンテンツを移動できます。 この場合、テーマとプラグインを新しくインストールし、設定も更新する必要がある作業が伴います。
不要なユーザーを削除する
サイトにアクセスしたくないユーザーをすべて削除します。
マイサイト » ネットワーク管理者 » ユーザー » すべてのユーザーでユーザーを確認して不要なユーザーを削除してください。
WP Configからマルチサイトコードを削除する
FTP / SFTPを介して接続し、マルチサイトがインストールされているフォルダ内のwp-config.phpファイルを開きます。 WordPressに関連するコードをすべて削除します。
wp-config.phpファイルを修正する方法は "WordPressでwp-config.php / htaccessファイルを変更する「を参考にしてください。
WordPress 設定ファイルから以下に示す行を削除します。
.htaccessファイルをシングル WordPress サイトの.htaccessバージョンに戻す
次の作業は、Webホスティング環境がApacheベースの場合、.htaccessファイルからマルチサイト部分のコードを削除することです。 これは少しトリッキーかもしれません。 基本 WordPress .htaccessファイルはほとんどの状況で次のようになります。
# BEGIN WordPress
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
詳細については、 WordPress 公式文書を参照してみてください。
マルチサイトテーブルを削除する
これで、非マルチサイトモードでサイトが正常に動作するようになります。 ただし、いくつかのクリーンアップ操作を実行する必要があります。 まず、マルチサイトに関連するデータベース(DB)テーブルを削除します。
- wp_blogs
- wp_blog_versions
- wp_registration_log
- wp_signups
- wp_site
- wp_meta
WordPress MU Domain Mapping プラグインを使用する場合は、次のXNUMXつのテーブルも削除する必要があります。
- domain_mapping
- domain_mapping_logins
しかし、 WordPress マルチサイトドメインマッピングプラグインはもう使用する必要がないため、ほとんどのサイトではこのプラグインがインストールされていません。
これはphpMyAdminなどのMySQLクライアントツールにアクセスして実行できます。
- Cafe24でphpMyAdminをインストールしてDBに接続する
- 海外WebホスティングFastCometでphpMyAdminにアクセスする方法
- 海外ホスティング BluehostでphpMyAdminにアクセスする方法
- クラウドウェイズDB接続方法
マルチサイト関連プラグインを削除する
今 WordPress プラグインを確認してマルチサイトでのみ機能するプラグインがある場合は、削除してください。
wp-contentから不要なフォルダを削除する
続いて wp-content フォルダを確認し、不要なディレクトリを削除します。 マルチサイト内に複数のサイトがある場合は、そのサイトに対応するフォルダがあります。 そのようなフォルダを削除してください。 これにより、Webホスティングディスクの容量を節約できます。
ネットワーク有効なプラグインを再アクティブ化する
ネットワークレベルで有効になっているプラグインは、マルチサイトが削除されると無効になります。 プラグイン » インストールしたプラグインに移動し、現在のサイトで有効にする必要があるプラグインが無効になっている場合は有効にします。
最後に、
以上、マルチサイトを無効にしてシングルサイト(シングルサイト)に変換する方法を見てきました。 まずは確実にバックアップをしてから進めてください。
上記の手順では、マルチサイトネットワーク内のサイトのうち、メインサイト以外の残りのサイトを削除し、メインサイトをシングルサイトに切り替えることができます。
マルチサイトを無効にするのが難しい、またはその他 WordPress 関連の問題がある場合 ここでサービス(有料)を求めることができます。
コメントを残す