マルチサイトを解除してシングルサイトに戻す方法

マルチサイト

マルチサイトをシングルサイトに戻す手順のご紹介です。

注意

  • 内容を一つのサイトに統合する方法ではありません。
  • マルチサイトをシングルサイトに単純に戻すだけです。

手順

  1. データベースのバックアップ
  2. プラグインを停止
  3. wp-config.phpを修正
  4. .htaccessを変更
  5. プラグインを有効にする
  6. マルチサイトで作られた不要なデータベースを削除
  7. アップロードファイルの削除

1. データベースのバックアップ

phpMyAdminなどからWordPressのデータベースをバックアップします。

2. プラグインを停止

プラグインの稼働、未稼働が混在する場合はあらかじめスクリーンショットを撮ってからプラグインを停止します。

3. wp-config.phpを修正

マルチサイト化する際に追加した以下のコードを削除します。

define('WP_ALLOW_MULTISITE', true);
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'example.com');
define('PATH_CURRENT_SITE', '/example/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

4. .htaccessを変更

マルチサイト化した時の状態が下記のとおりです。

# BEGIN WordPress
RewriteEngine On
RewriteBase /
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]
# END WordPress

それを、次のとおりに戻します。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

5. プラグインを有効にする

WordPressにログインし、2で停止したプラグインを有効にします。
マルチサイトの解除はここまでで終了ですが、最後に不要なデータベースを削除しましょう。

6. マルチサイトで作られた不要なデータベースを削除

マルチサイト化した際に作られた不要なテーブルを削除します。
先頭に「wp_2」など数字がついたテーブル全て対象です。
プレフィックスを変えている場合は「●●_2」

  • wp_blogs
  • wp_blog_versions
  • wp_registration_log
  • wp_signups
  • wp_site
  • wp_sitemeta

7. アップロードファイルの削除

/root-path/wp-content/uploads/sites/

以下のフォルダはマルチサイトで使用されていたアップロードフォルダです。不要であればサーバ容量を減らすために削除しましょう。

Digiprove sealCopyright secured by Digiprove © 2017