WordPressのマルチサイトには、多くの利点があります。例えば、WordPressを一度インストールするだけで、好きなだけウェブサイトを作成し、サイト間を接続してデータやユーザーを共有することができます。また、マルチサイト内のサイトを販売して収益を得ることも。

しかし、その一方で、シングルサイト(単一サイト)の方が適している事例もあります。例えば、他のサイトとユーザーのデータベースを共有したくない場合や、ネットワーク内の他のサイトよりもはるかに大規模になり分離したい場合。また、別のホスティング環境が必要な場合、あるいは他人が管理するマルチサイトから移動したい場合などが挙げられます。

また、小規模なマルチサイトを運営していて、1つを残して他すべてのサイトを削除し、シングルサイトに戻したい場合もこれに該当します。

幸い、WordPressマルチサイトのサブサイトをシングルサイトへ移行することは実現可能です。また、マルチサイト全体をシングルサイトに変換することもできます。とは言え、この移行作業は、シングルサイトを別のWordPressサイト、またはドメインに移行するよりも複雑になります。

この記事では、データを失うことなく、WordPressサイトをマルチサイトからシングルサイトに移行する方法をご紹介します。

WordPressマルチサイトからシングルサイトへの移行が複雑な理由

そもそも、マルチサイトからのサイト移行がシングルサイト間の移行よりも複雑なのはなぜでしょうか。

これには、WordPressマルチサイトでのデータやファイルの保存方法、そしてデータの一部がネットワーク内の他のサイトのデータと一緒に保存されるという仕様が関係しています。

各サイトのデータは、以下のようにマルチサイトに保存されます。

アップロードファイルは、サイトごとにそれぞれ「WordPress-content/uploads/sites/XX」に保存されます(XXはサイトID)。

投稿、投稿メタデータ、タクソノミーなど、ほとんどのデータは、サイトがネットワークに追加されるたびに作成される専用のデータベーステーブルに保存されます。テーブルには、サイトのIDを含む接頭辞が付きます(例えば「wp_12_posts」はサイト12のpostsテーブル)。

ユーザーデータは、ネットワーク全体で2つのテーブルに格納されます。ユーザーはサイトごとではなく、ネットワーク上に、サイトへのアクセス権を示すメタデータが付属したアカウントを持ちます。したがって、データベースからユーザーテーブルをエクスポートしてシングルサイトに移行することはできません。個別にユーザーを移行する必要があります。

テーマやプラグインのファイルは、どのサイトで有効化されているかにかかわらず、ネットワーク内で一度だけ保存されます。更新もテーマプラグインは一度だけ実行すれば良いため、これはマルチサイトの大きな利点の1つです。ところが、ネットワークからサイトを移行する際には、この構成が作業を複雑化してしまいます。

今回、WordPressマルチサイトからシングルサイトへの移行方法をご紹介するにあたって、確実に移管が行えるよう、サイトの各部分ごとに手順を見ていきます。

なお、この記事では、マルチサイト内のサイトを「サブサイト」と表現します。また、ネットワーク内のコアサイト、つまりマルチサイトを有効化する前から存在するサイトを「ベースサイト」、そしてWordPressがインストールされた専用のスタンドアロンサイトを「シングルサイト」とします。

WordPressマルチサイトのサブサイトをシングルサイトへ移行する方法

ここまでの内容を踏まえた上で、マルチサイトをシングルサイトに移行することを決めたら、早速実践していきましょう。

以下、3つの選択肢があります。

  1. データは無料のエクスポート/インポートプラグインで、ファイルは自分で移行する。
  2. 移行プラグインですべてのデータとファイルをエクスポートする。
  3. すべて自分で移行する。

順番にそれぞれの方法を見ていきます。

1. 無料のエクスポート/インポートプラグインを使用する

まず最初の方法では、無料のインポート/エクスポートプラグインを使用してコンテンツを移行し、別の無料プラグインでウィジェットの設定を移管していきます。

この方法のメリットは、無料で行えること、そしてデータベースを直接触らないため失敗する確率が低いことです。しかし、以下のようなデメリットもあります。

  • コンテンツを作成したユーザーのみが移行されるため、その他のユーザーは別途移動が必要。
  • ウィジェット以外の設定は移行不可。すべての設定をコピーするのには手間がかかり、複雑な設定やECプラグインなどを使用している場合には不向き。

プラグインやユーザー数が少なく、高度な編集が行われていないシンプルなサイトであれば、この方法が1番簡単と言えます。

手順は以下の6ステップ。

  1. WordPressのシングルサイトを作成
  2. 旧サイトと同じプラグインとテーマをインストール・有効化
  3. インポート/エクスポートプラグインを使用してコンテンツを移行。
  4. インポート/エクスポートプラグインを使用してウィジェットの設定を移行
  5. インポート/エクスポートプラグインを使用して、コンテンツ作成者以外のユーザーを登録
  6. 旧サイトの設定を新規サイトにコピー

一見ボリュームがありますが、中には簡単なものや自動化できるものもあるためご安心ください。

WordPressのシングルサイトを作成する

まず、新規シングルサイトにWordPressをインストールします。サイトを作成すると、仮のドメインが割り当てられます。この時点では元のドメインは使わずに、サイトが動作するまでそのままにしておきます。

インストーラを使用するか、手動でWordPressをインストールします。

プラグインとテーマをインストールする

続いて、マルチサイト内の旧サイトで使用していたプラグインテーマを新規作成したサイトにインストールします。プラグインやテーマによっては、移行の必要なコンテンツタイプ(投稿タイプなど)を作成するものもあるため、必ずコンテンツの移行前にインストールしてください。

マルチサイト内の旧サイトのWordPress管理画面で、「プラグイン」画面と「テーマ」画面を開き、有効化されているものを確認します。WordPressのプラグインディレクトリやテーマディレクトリに登録されているものは、通常の方法で新規サイトにインストールして有効化してください。

有料テーマやプラグインを使用していて、まだライセンスを持っていなければ、購入後、販売サイトからダウンロードし、ドキュメントの手順に従ってインストールします。

次の手順に進む前に、旧サイトのすべてのテーマとプラグインが新規サイトで有効化されていることを確認してください。ただし、まだ設定は行わず、ウィザードも起動しないでください。設定はコンテンツをインポートした後に行います。

インポート/エクスポートプラグインでコンテンツを移行する

旧サイトからコンテンツをエクスポートして、新規サイトにインポートします。

まずは、旧サイトにインポート/エクスポートプラグインをインストールしましょう。これはネットワーク管理画面から行うか、権限がなければネットワーク管理者に依頼してください。

プラグインをインストールして有効化したら、「ツール」>「エクスポート」に移動します。

WordPressのエクスポート画面
WordPressのエクスポート画面

エクスポートする内容を選択」で「すべてのコンテンツ」を選択し、「エクスポートファイルをダウンロード」をクリックします。

すると、ファイル名にサイト名を含むXMLファイルが、コンピュータにダウンロードされます。これは新規サイトへのインポートで使用するため、安全な場所に保存してください。

新規サイトを開き、「ツール」>「インポート」に移動します。

インポートプラグインがまだインストールされていなければ、「WordPress」の下にある「今すぐインストール」をクリックしてください。

インポート画面でWordPressインポーターをインストール
インポート画面でWordPressインポーターをインストール

インポータープラグインのインストールと有効化が完了すると、「インポーターの実行」が出現します。

インポーターの実行
インポーターの実行

このリンクをクリックすると、XMLファイルをアップロードする画面が表示されます。

インポートファイルのアップロード
インポートファイルのアップロード

ファイルを選択」をクリックし、コンピュータ上のXMLファイルを選択して、「ファイルをアップロードしてインポート」ボタンをクリックします。

次の画面で投稿者の割り当てと、添付ファイルのダウンロードの有無を指定します。

インポートの設定
インポートの設定

旧サイトの投稿者に対応する、新規サイトの投稿者を選択します(すでに追加している場合)。まだユーザーを追加していない場合は、ログイン名を指定すると、インポーターによって新規ユーザーアカウントが作成されます。次に、「添付ファイルをダウンロードしてインポートする」ボックスにチェックを入れます。

実行」ボタンをクリックすると、XMLファイルからコンテンツがインポートされます。投稿画面に移動すると、すべての投稿が一覧に表示されるはずです。

インポート/エクスポートプラグインでウィジェットの設定を移行する

すべての投稿や固定ページのインポートはこれで完了です。

設定に関しては、ほとんどインポートできませんが、Widget Importer & Exporterプラグインを使用すると、ウィジェットの設定はインポート可能です。

両方のサイトにこのプラグインをインストールして有効化してください。なお、先ほども触れましたが、ネットワーク内でプラグインのインストール権限を持つ場合にのみインストールできます。

マルチサイト内の旧サイトで、「ツール」>「Widget Importer & Exporter」に移動します。

Widget Importer & Exporter
Widget Importer & Exporter

ウィジェットのエクスポート」ボタンをクリックすると、.wieファイルがコンピュータにダウンロードされます。これは安全な場所に保管しておいてください。

新規サイトで、「ツール」>「Widget Importer & Exporter」に移動します。「ファイルを選択」をクリックし、先ほどダウンロードしたファイルをアップロードし、「ウィジェットのインポート」ボタンをクリックします。すると、インポートされたウィジェットの確認画面が表示されます。

インポートされたウィジェット
インポートされたウィジェット

次は、コンテンツのインポート時に移行できなかったユーザーのインポートです。この手順については、すべての移行方法に共通するため、この記事の最後でご説明します。「ユーザーの移行」セクションまで進んでください。

最後に、新規サイトの設定を更新します。

旧サブサイトの設定を新規サイトにコピーする

最後に、旧サイトの設定を新規サイトに反映させます。この作業は自動化できないため、やや手間がかかります。

旧サイトと新規サイトの管理画面をそれぞれブラウザで開きます。異なるブラウザを使用した方が、2つの画面の混同を防ぐため、異なるブラウザを使用することをお勧めします。旧サイトの設定を一つずつ新規サイトに反映していきましょう。

設定を終えたら、新規サイトを立ち上げます。最後にドメインの更新も必要になりますが、これもすべての移行方法に共通するため、後半の「ドメインの移行」セクションでご説明します。

2. 移行プラグインを使用する

マルチサイト上で移行プラグインを利用できるのであれば、インポート/エクスポートプラグインを使用した移行よりもはるかに簡単かつ安全に移行できます。また、データベースに直接触れる必要もないため、専門知識を持たない方でも安心です。

まずは、旧サイトの移行から始めましょう。これには、WordPressマルチサイトと互換性があり、ネットワーク全体ではなく1つのサイトだけを扱うことができる移行プラグインを使用します。

Kinstaでは、大規模なサイト移行に、無料のMigrate Guruプラグインの使用を推奨しています。しかし、このプラグインでは、マルチサイトから1つのサイトへ移管することができません。このような作業には、有料プラグインが必要になります。

ただし、有料プラグインでもネットワークのサブサイトの移行をサポートするものはほとんどありません。

数少ない選択肢である、Duplicator ProAll in One WP Migrationのどちらかを使用すれば、サーバー経由でファイルとデータベースを転送することができます。

自動移行を実行するには、Duplicator Proプラグインを購入し、ネットワークと新規サイトの両方にインストールします。手順はプラグインのドキュメントに従ってください。旧サイトでパッケージを作成して、新規サイトにインポートする流れになります。

ユーザーデータはネットワーク全体で保存されているため、別途移管作業が必要です。これについては、後ほど詳しく見ていきます。

3. すべて自分で移行する

最後にご紹介するのは、すべて自分で移行する方法です。プラグイン購入などの費用はかかりませんが、phpMyAdminの操作や、データベースのエクスポートファイルの編集などの高度な作業が求められます。

マルチサイトからサイトを移行するには、以下の3つのコンポーネントをマルチサイトからコピーします。

  • テーマとプラグインファイル:旧サイトから新規サイトにコピーするかまたは再インストール。
  • アップロードされたファイル:wp-content/uploads/sites内のサブサイト用のサブディレクトリに格納されているもの。
  • データベーステーブル:すべてのテーブルではなく、このサイトに関連するテーブルのみをコピー。

注意)WordPress 3.5以前のバージョンで作成されたマルチサイトには「sites」フォルダがありません。wp-contentの下にあるblogs.dirフォルダにサブサイトにアップロードされたファイルがすべて格納されています。フォルダ内にある旧サイトIDが付いたフォルダをコピーしてください。

バックアップを作成する

移行する前に、マルチサイトをバックアップしましょう。バックアッププラグインを使用するか、利用しているサーバーのインターフェースでバックアップを作成してください。Kinstaでは、定期的な自動バックアップに加えて、個別のバックアップも作成可能です。

このバックアップを使用して新規サイトに関連するファイルをコピーします。また、何か問題が発生した際にも、バックアップがあれば安心です。

マルチサイトでサブサイトのIDを検索する

マルチサイト内の各サイトには、それぞれ固有のIDがあります。このサイトのIDはwp-content/uploads/sitesディレクトリ内のフォルダ、およびサイトのデータベーステーブルの識別に使用されます。

ネットワーク管理」>「サイト」に移動し、移行するサイトの「編集」をクリックします。

ネットワーク管理のサイト画面
ネットワーク管理のサイト画面

移動先のURLで、サイトのIDが表示されます。URLは、http://mynetwork.com/wp-admin/network/site-info.php?id=XXの形式です。

「XX」はサイトのIDで、ファイルを含むフォルダの名前と、データベースのテーブル名の接頭辞になります。

テーマとプラグインを移行する

サブサイトで使用されているプラグインを特定し、新規サイトの「プラグイン」画面でインストール、または旧サイトのバックアップからプラグインファイルをアップロードします。新規サイトのwp-content/pluginsにコピーしてください。

使用されているプラグインは、サブサイトの「プラグイン」画面で確認できます。ネットワークで有効化されているすべてのプラグインを移行しましょう。

マルチサイトのサブサイトのプラグイン画面
マルチサイトのサブサイトのプラグイン画面

テーマについても同様です。バックアップから新規サイトのwp-content/themesディレクトリにテーマファイルをコピー、または再インストールします。

アップロードされたファイルを移行する

WordPress 3.5以降のバージョンでマルチサイトを作成していれば、wp-content/uploadsにsitesフォルダがあります。サブサイトIDのサブフォルダを見つけ、その内容を新規サイトのwp-content/uploadsフォルダにアップロードしてください。

古いバージョンのマルチサイトには、blogs.dirフォルダがあります。その下にサイトIDのフォルダ、さらにその下にサブフォルダ「files」があります。filesフォルダの内容を新規サイトのwp-content/uploadsフォルダにコピーしてください。

注意)衝突を避けるため、自動作成された新規uploadsフォルダ内のサブフォルダは削除してください。

これで、すべてのファイルがインストールされました。プラグインやテーマを個別に有効化する必要はなく、データベースを移行すれば、プラグインやテーマを含めすべての設定がそのまま反映されます。

マルチサイトからサブサイトのテーブルをエクスポートする

ネットワーク全体ではなく、1つのサブサイトを移動するだけなので、データベース内のすべてのコンテンツを移行する必要はありません。

マルチサイトでphpMyAdminを開き、「エクスポート」タブをクリックします。

マルチサイトでは、各サイトにテーブルが追加されるため、シングルサイトよりも多くのテーブルがあります。エクスポートするサイトに関連する、名前が「wp_XX_」で始まるテーブルを探します(XXはサイトID)。

サブサイトに関連するすべてのテーブルを選択し、「With selected:」をクリックします。

データベースのテーブルの選択とエクスポート
データベースのテーブルの選択とエクスポート

ドロップダウンメニューから「Export」を選択します。

次の画面では、「Export method:」の「Quick」を選択したまま、「Go」ボタンをクリックしてください。

簡易エクスポート
簡易エクスポート

データベーステーブルの編集

コンピュータにダウンロードしたSQLファイルをコピーし、分かりやすい名前をつけます(「copy」を末尾につけるなど)。これをコードエディターで開きます。

リンクとテーブルリファレンスを編集します。

まず、リンクから始めましょう。マルチサイト内のサイトのすべてのドメインを、新規サイトのドメイン(または、新規サイト立ち上げまでの間使用しているドメイン)に変更します。例えば、サイトが「http://network.com/mysite」であれば「http://mysite.com」に変更します。

ネットワークでサブドメインを使用している場合は、すべての「http://mysite.network.com」を変更します。このとき、念のためサブディレクトリ版もチェックすることをお勧めします。変更後、ファイルを保存してください。

次に、サイトIDの接頭辞を削除します。シングルサイトのデータベーステーブルには不要です。SQLファイル内ですべての「wp_XX_」を「wp_」で置き換えます(XXはサイトID)

SQLファイルを保存します。

データベーステーブルを移行する

SQLファイルの編集が終わったら、データベーステーブルをインポートします。まず、新規WordPressサイトのすべての既存テーブルを削除します。

次に、新規サイトでphpMyAdminを開いてください。wp_usersテーブルとwp_usermetaテーブルを除く、すべてのテーブルを選択します。

「With selected:」ドロップダウンをクリックし、「Drop」を選択します。次の画面で「Go」をクリックしましょう。

続いて、以下の手順で編集したデータベースをアップロードします。

  1. Inport」タブをクリック
  2. ファイルの選択」をクリック
  3. 編集したSQLファイルを選択
  4. Go」ボタンをクリック

しばらくするとアップロード完了を知らせるメッセージが表示されます。巨大なデータベースでは、この処理に時間がかかることがあります。

最後に

最後に、ブラウザのキャッシュをクリアしましょう。これにより、ブラウザが以前のサイトのコンテンツをキャッシュしている場合は、これによってあらゆる問題を回避できます。

次に、新規サイトのWordPress管理画面にログインしてください。ユーザーテーブルをすでに移動している場合は、ログイン情報は以前のサイトと同じものになっているはずです。まだ移行していない場合には、サイトにWordPressをインストールした際に指定したものになります。

リンク切れ等がないか、またウィジェットプラグインが正常に動作するかを確認してください。何か不具合があれば、バックアップを復元してやり直すか、新規サイト内で設定を調整しましょう。

すべてが正常に動作していることを確認したら、マルチサイトからサイトを削除します。後々移行し忘れたものが見つかることを考慮して、1週間程度はサイトを残しておくことをお勧めします。その間、この後ご説明するドメインの変更を行いましょう。

ネットワークからサブサイトを削除するには、「ネットワーク管理」>「サイト」に移動し、サイト名の下にある「削除」をクリックします。

マルチサイトでサイトを削除
マルチサイトでサイトを削除

これで移行作業が完了です。お疲れ様でした!

ユーザーの移行

ユーザーの移行作業は、他のデータよりも複雑です。というのも、ユーザー情報は、ネットワーク全体の1つのデータベーステーブルに保存されているためです。

したがって、ユーザーが少数かつ全員がサブサイトのユーザーでない限り、ネットワークからwp_usersテーブルをエクスポートすることはできません。

そうれない場合は、プラグインを使用してエクスポートします。Import Export WordPress Usersは、その名の通り、ユーザーのエクスポート/インポートのために設計された無料のプラグインです。

プラグインを新旧のサイト両方にインストールし、マルチサイトのサブサイトと新規サイトで有効化してください。次に、サブサイトで、「ユーザー」>「User Import Export」に移動します。

「User Import Export」タブを下にスクロールして、
「User Import Export」タブを下にスクロールして、

Export Users」ボタンをクリックし、すべてのユーザーデータを含むCSVファイルをダウンロードします。

新規サイトでも同様に「ユーザー」>「User Import Export」に移動します。次に、「User/Customer Import」タブを開きます。

「User Import」タブ
「User Import」タブ

Choose file(ファイルを選択)」をクリックして、ダウンロードしたCSVファイルを選択し、「Upload file and import」ボタンをクリックします。

すると、ファイルがアップロードされ、旧サイトからすべてのユーザーがインポートされます。処理が完了するとインポートしたユーザー情報が表示されます。

以上で、マルチサイトの旧サイトにある全データを新規サイトにインポートできました。残るはドメインの移行のみ。

マルチサイトドメインの移行

ドメインの移行の必要性は、マルチサイトのセットアップによって異なります。

サブサイトにサブドメインやサブディレクトリを使用し、ドメインを紐付けていなければ、新規サイト用にドメインを登録してください。

しかし、旧サイトのドメインをそのまま使用したい場合は、ドメインがネットワーク上で旧サイトに紐付けられていないことを確認します。

マルチサイトからサブサイトを削除すれば(この方法を推奨します)、ドメインがサブサイトで使用されることはありませんが、ドメインと新規サイトの紐付けが必要です。

DNSを使用して、ドメインを新規サイトと紐付けます。Kinstaを利用されている方は、Kinstaにドメインを紐付ける手順を参照してください。

その後、新規サイトの「設定」>「一般」画面で設定を更新します。

「一般設定」画面
「一般設定」画面

WordPressアドレス」と「サイトアドレス」フィールドにドメインを入力し、変更を保存してください。

以上で完了です。これで、サイトがシングルサイトとして動作します。

マルチサイト全体をシングルサイトに戻す方法

WordPressマルチサイトから1つのサイトを移行するのではなく、マルチサイトを解除して、ネットワーク全体を1つのサイトに戻すこともできます。

一見思い切った方法ですが、ネットワーク上のサイトが数件である場合、ベースサイト以外のすべてのサイトを削除したい場合には有効です。

なお、以下の手順は、マルチサイトを有効化する前から存在していた「ベースサイト」に対してのみ適用可能です。それ以外のサブサイトをシングルサイトに戻すことはできません。

手順は、以下5ステップです。

順を追って見ていきます。

1. マルチサイト内のすべてのサイトを削除または移行する

まずは、ネットワーク内のすべてのサブサイトを削除します。「サイト」画面から削除するか、それぞれのサイトを個別のシングルサイト、または(何らかの理由で必要があれば)別のネットワークに移行します。

前述の手順で、それぞれのサブサイトを移行します。移管を終え、すべてのサブサイトが新しい場所で動作するようになったら、「ネットワーク管理」>「サイト」に移動します。

すべてのサブサイトを選択し、「一括操作」のドロップダウンメニューから「削除」を選択して、「適用」ボタンをクリックします。

すべてのサブサイトを削除
すべてのサブサイトを削除

削除する前に、大事なデータがバックアップされているか、正しく移行できているかをよく確認してください。一度削除すると、復元することはできません。

サブサイトを削除すると、各サブサイトのアップロードファイルとサイトに関連するデータベーステーブルは削除されますが、マルチサイトの全データベーステーブルが消えるわけではありません。これについては後ほど扱います。

この時点で、マルチサイトにはサイトが1つある状態になります。

2. ベースサイトで使用されていないテーマとプラグインを削除する

次に、「ネットワーク管理」>「プラグイン」に移動して、ベースサイトで使用していないプラグインを削除します。先にベースサイトの「プラグイン」画面を開いておくと効率的です。

同様に、不要なテーマを削除します。

3. ベースサイトへのアクセス権を持たないユーザーを削除する

次に、「ネットワーク管理」>「ユーザー」に移動して、ベースサイトへのアクセス権を持たないユーザーアカウントを削除します。

Multisite Enhancementsは、権限を持つユーザーを確認することができる便利なプラグインです。以下の例では、特権管理者のみがベースサイトにアクセスできます。

ネットワークユーザー
ネットワークユーザー

ユーザーを削除するには、削除したいユーザーを選択して、「一括操作」ドロップダウンで「削除」を選択し、「適用」ボタンをクリックします。

これで、ベースサイトにアクセスできるユーザーのみがマルチサイト上に残ります。

4. サイトでWordPressマルチサイトを無効化する

次に、マルチサイト上のWordPressマルチサイトを無効化します。実行する前に、念のためサイトのバックアップを作成してください。

wp-config.phpファイルを開いて、以下の行を探します。

define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false );
$base = '/wordpress/';
define( 'DOMAIN_CURRENT_SITE', 'localhost' );
define( 'PATH_CURRENT_SITE', '/wordpress/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );

上記すべての行を削除してください。

続いて、以下の行を探します。

define('WP_ALLOW_MULTISITE', true);

以下の通りに変更してください。

define('WP_ALLOW_MULTISITE', false);

それから、wp-config.phpファイルを保存します。

また、場合によっては、.htaccessファイルを編集して、シングルサイト用のコードに戻す必要があるかもしれません。

Kinstaをご利用で、マルチサイトをサブドメインで実行していた場合は、wp-config.phpの編集だけでOKです。ネットワークをサブディレクトリで実行していた場合は、Kinstaのカスタマーサポートにお問い合わせいただき、ファイルの変更を依頼してください。

MyKinstaでサポートを利用する
MyKinstaでサポートを利用する

.htaccessファイルに書き込み権限があれば、コードエディターでファイルを開き、マルチサイトに関連する行を探して、以下で置き換えてください。

RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index.php$ - [L]

# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [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]

.htaccessファイルを保存して完了です。

5. マルチサイトで増えたデータベーステーブルを削除する

マルチサイトを有効化すると、サイトにはデータベーステーブルが追加されます。

phpMyAdminで、以下のテーブルを探します。

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

すべて選択し、「With selected:」ドロップダウンで、「Drop」を選択します。「Go」で実行すると、データベースからテーブルが削除されます。

これで、WordPressのシングルサイトの作成が完了です。再度ログインすると、ベースサイトがシングルサイトとして動作します。

まとめ

WordPressマルチサイトからのサイト移行は、シングルサイト間で行うよりも複雑ですが、不可能ではありません。マルチサイトをシングルサイトに戻して、ベースサイトだけを残すこともできます。

今回ご紹介した手順で実行すれば、マルチサイト内のサイトをシングルサイトに移行できます。WordPressのマルチサイトとシングルサイトについてご質問があれば、下のコメント欄でお聞かせください。

Rachel McCollin

Rachel McCollin has been helping people build websites with WordPress since 2010. She's a huge fan of self-hosted WordPress and wants to help as many people as possible create an awesome website with it.