WordPress マルチサイトの子サイトをシングルサイトへ変更する

w006

WordPressのマルチサイト機能は導入はそれ程難しくありませんが、1度マルチサイト化したサイトをシングルサイトに戻すのは結構大変だったりします。複数の子サイトのデータが1つのデータベースに格納されているのもそのハードルを高くしている要因だと思います。今回は、WordPressのマルチサイトの子サイトをシングルサイトに変更する方法についてご紹介します。

1.移転先のWordPressサイトを準備

子サイトをシングルサイトにするためのWordPressサイトを新たに準備します。

2.マルチサイトを移転先のWordPressサイトにコピー

WordPressサイトのコピーや引っ越しが簡単にできるプラグイン「Duplicator」を使ってマルチサイトを移転先のWordPressサイトにコピーします。

WordPress サイトのコピーや引っ越しが簡単にできるプラグイン「Duplicator」
今回はローカル環境で作成したWordPressサイトのサーバへコピーや、別のサーバへの引っ越しなどを簡単に行うことができるプラグイン「Duplicator」をご紹介します。このプラグインを使えば、WordPressサイトの記事や画像だけ...

3.移転先WordPressサイトのデータベースを確認

phpMyAdminでコピーしたデータベースを確認します。マルチサイト化したデータベースにはデータベース内のテーブルのwp接頭辞に「wp_2_●●●●」のように「_2」がついているものがあります。この部分がマルチサイトの子サイトのデータベースになります。子サイトが複数ある場合は「_3」「_4」のように子サイトの数だけテーブルがあります。

「wp_2_●●●●」の「wp」の部分は、WordPressインストール時のデータベースの接頭辞を変更している場合は、その時に設定したwp接頭辞になります。

4.データベースから子サイトに不要なデータを削除

データベースからシングルサイトに戻す子サイトのデータ(wp接頭辞「_2」がついているデータ)以外の不要なデータを削除します。

この際に「wp_usermeta」と「wp_users」のテーブルは残しておきます。

5.子サイトのテーブル「wp_2_options」のデータを修正

「wp_2_options」に保存されている「siteurl」「home」の中に記載されているアドレスを移転先のWordPressサイトのアドレスに修正します。

「siteurl」…移転先WordPressディレクトリアドレス
「home」…移転先WordPressサイトアドレス

6.子サイトのテーブルのwp接頭辞を修正

(1)データベースの各テーブルからwp接頭辞「_2」のついたテーブルをチェックしエクスポートします。その後、「_2」のついたテーブルを削除します。
(2)エクスポートしたデータベースファイルをテキストエディタで開きwp接頭辞「wp_2」が記載されている部分を「wp」に修正します。(一括置換でまとめて変更できます。

7.画像データの保存先を修正

(1)マルチサイト化したWordPressサイトの子サイトの画像データは、以下に保存されています。

~/WordPressディレクトリ/wp-content/uploads/sites/2/

まず、この中のデータをフォルダごと全てコピーします。

次に不要な画像データを削除します。

~/WordPressディレクトリ/wp-content/uploads/

この中のデータを全て削除し、代わりに先程コピーした子サイトの画像データを全てコピーします。

(2)画像データの移動に合わせて、先程エクスポートしたデータベースファイルも修正します。

データベース上の文字列「sites/2/」を一括して削除

(3)修正したデータベースファイルをデータベースにインポートします。

8.テーマ・プラグイン設定の確認

移転先WordPressサイトのダッシュボードでテーマやプラグインの設定を確認します。


WordPressのマルチサイトの子サイトをシングルサイトに変更する方法は以上です。

コメント

タイトルとURLをコピーしました