当WordPressブログをマルチサイト化してみたのですが、ネットワーク管理者の画面が表示されず、色々調べてみたのですが、上手くいかず、マルチサイト化での管理を断念。
ということで、マルチサイトを解除して元に戻すことにしました。
その手順と参考にしたサイトをメモしておきます。
マルチサイト化を解除する手順
マルチサイト化を解除する大まかな手順は以下の通り。
- プラグインを停止する
- wp-config.phpの内容を修正する
- .htaccessの記載内容を修正する
- 不要なデータベースのテーブルを削除する
1~3は、マルチサイト化した経験があるならば難しくはないですが、4の不要なデータベースのテーブルの削除は、素人にはちょっとハードルが高いです。
プラグインを停止する
有効化されているプラグインを全て無効にします。
私の場合、マルチサイト化した際にプラグインを全て無効化しており、その後に有効化していないため、この作業は発生せず。
wp-config.phpの内容を修正する
「wp-config.php」の内容を修正するは、マルチサイト化する前の内容に戻すだけです。マルチサイト化する前に「wp-config.php」をバックアップしていたら、「wp-config.php」をアップロードして上書き保存します。
もしくは、マルチサイト化する際に「wp-config.php」へ追加したコードを削除してやります。以下のコードです。
define(‘WP_ALLOW_MULTISITE’, true);
define(‘MULTISITE’, true);
define(‘SUBDOMAIN_INSTALL’, true);
define(‘DOMAIN_CURRENT_SITE’, ‘xxxxxx.com’);
define(‘PATH_CURRENT_SITE’, ‘/’);
define(‘SITE_ID_CURRENT_SITE’, 1);
define(‘BLOG_ID_CURRENT_SITE’, 1);
*注:xxxxxはドメイン
.htaccessの記載内容を修正する
「.htaccess」も、マルチサイト化する前の「.htaccess」へ戻します。
バックアップしていたら、「.htaccess」をアップロードして上書き保存。
もしくは、マルチサイト化する際に「.htaccess」へ追加したコードを削除してやります。以下のコードです。
(設定環境によってコード内容が異なる可能性がありますので注意)
# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ – [L]
RewriteRule ^(wp-(content|admin|includes).*) wp/$1 [L]
RewriteRule ^(.*\.php)$ wp/$1 [L]
RewriteRule . index.php [L]
不要なデータベースのテーブルを削除する
不要なデータベースのテーブルを削除するのはハードルが高く、ちょっと躓きました。
ちなみに、データベースの不要テーブルの削除は、やらなくても問題はないかもしれません。ハードルが高いと感じる人は、省略して様子を見るのがいいかもしれません。
データベースをバックアップする
まずは、用心のために、データベースをバックアップしておきます。エックスサーバーの場合、サーバーパネルで簡単にバックアップできます。
下記のエックスサーバーのマニュアルを参考に、バックアップしました。
削除するデータベースのテーブル
削除するデータベーステーブルは、以下の6つ。
- wp_blogs
- wp_blog_versions
- wp_registration_log
- wp_signups
- wp_site
- wp_sitemeta
また、マルチサイトで子サイト(ブログ)を作成している場合、「wp_2」や「wp_3」のテーブルが作成されており、これも削除する方がよいようですが、私の場合、子サイトを作成してないので、「wp_2」や「wp_3」はなかったので、この「wp_2」や「wp_3」の削除作業は不要でした。
データベーステーブルの削除方法
エックスサーバーの場合、サーバーパネルから phpmyadmin(MySQL5.7) をクリックすると、データベースをいじれるphpmyadminの画面が開くので、この画面でデータベーステーブルを削除します。
phpmyadminの画面を開く際に、MySQLユーザ名とパスワードの入力を要請されるので、自分のWordPressのMySQLユーザ名とパスワードを入力します。
MySQLユーザ名とパスワードは、エックスサーバーでWordPressを作成した際に、メモしているはずなのでメモを確認しましょう。
MySQLユーザ名とパスワードを別のWordPressのものを入力すると、当然、いじる予定のないWordPressのデータベースがphpmyadminで開いてしまうので、ご注意を。
phpmyadmin画面から、「データベース」のタグをクリック → 「データベース名」をクリック すると、テーブルが表示されます。
下記のテーブルを削除します。
- wp_blogs
- wp_blog_versions
- wp_registration_log
- wp_signups
- wp_site
- wp_sitemeta
これでとりあえずOK。
アップロードファイルの削除
マルチサイト化した際に、アップロードしたファイルが保存されているフォルダがあるようです。必要に応じて削除します。
今回、私のサイトにはマルチサイト化のアップロードファイルはないので、今回は省略としました。
まとめ
マルチサイト化の解除は、マルチサイト化をした人なら簡単に元に戻すことはできると思います。マルチサイトの機能を使って、ブログやサイトをいくつか作っていた場合は、ちょっとややこしそうですが。
データベースの不要データテーブルの削除は、削除しなくても問題なさそうです。敷居が高いと感じる人は、省略してもいいんじゃないでしょうか。私の場合、気持ちが悪いので削除しましたけど。
マルチサイト化については、また時間のある際にトライしようと思います。
マルチサイト化が上手くいかなかったのは、WordPressを5.0にバージョンアップした、WordPress設定の際にルートドメイン直下にフォルダを挟んだ、などの原因があるのかも・・・。
参考にしたサイトは以下の通りです。
- マルチサイトをシングルサイトに戻す方法
- WordPressマルチサイトを元に戻す
- WordPress マルチサイトを元に戻す
- データベース構造
- Xserverのデータベースの数と削除の方法は?不安な場合の中身の確認手順も見ておく!
- WordPressのマルチブログを解除する方法
助かりました。ありがとうございました。
【WordPressマルチサイトの関連記事】
コメント