変更前に退避するもの
この手順は通常の投稿編集と異なり、WordPress全体の構成を変更します。
データベース、WordPressファイル、wp-config.php、.htaccessを同じ時点でバックアップし、複製環境で復元できることを確認します。
現行の提供条件とマルチサイト利用可否は契約先で確認してください。
レンタルサーバー「シン・レンタルサーバー for free」
以下は当時利用した無料サーバーでの作業記録です。
しかし以下の2つの制限が気になります。
- MySQL(データベース)が 5個まで
- サーバーの容量が10GBまで
この二つの条件をクリアすれば、普通のレンタルサーバーとしても十二分に使えるはずです。
まずはデータベースを使い回しができるか?試してみました。
結果は使い回しができないという結果になりました。
データベースの使い回しといえば、WordPressのマルチサイトです。
マルチサイトは1つのデータベース内で複数サイトを管理しますが、容量や負荷の制限がなくなるわけではありません。
そして容量問題ですが、使用容量の内訳はサイトごとに異なります。
ですので画像を別サーバーから参照することで解決できそうです。
このやり方は以下の記事が参考になります。

本記事ではシン・レンタルサーバー for freeでマルチサイトの作成方法を解説します。
シン・レンタルサーバー for freeでマルチサイトの作成する方法
マルチサイトにしたいサイトを表示できる状態にしていることが前提です。
FTPを使って、WordPressのデータにアクセスしましょう。
public_htmlの直下にあるwp-config.phpのデータをダウンロードして下記のコマンドを挿入します。
挿入場所は/* Add any custom values between this line and the “stop editing” line. */の記述の下あたりです。
define('WP_ALLOW_MULTISITE', true);サイトの管理画面からツール>サイトネットワークの設置というメニューを選択します。
そして以下の情報を入力しましょう。
- サイトネットワーク名
- サイトネットワーク管理者のメールアドレス
先ほどの情報を入力後、2箇所のコード変更について記載されている情報に画面が変わります。
一つはwp-config.phpに追加するコード。
最初に追加したコードの下に追記しましょう。
ここには「サイトネットワークの設置」画面に表示された、この環境専用のコードを使用します。
ここでdefine( ‘SUBDOMAIN_INSTALL’, false);となっていることが重要です。
.htaccessは既存のWordPressルールを設置画面のルールへ置き換えます。重複して追記しません。
ここには「サイトネットワークの設置」画面に表示された、この環境専用のコードを使用します。
保存後に再ログインし、親サイトと子サイトの表示・管理画面を確認します。
あとは管理画面のサイトメニューから新規サイトを作成してみましょう。
マルチサイトはデーターベースを一つしか使わないので、サイト数を増やすほど容量や処理負荷も増えるため、ホスティング側の制限を確認します。

マルチサイトにAll-in-One WP Migrationを使ってサイトデータをインポート・エクスポートする
おまけです。
All-in-One WP Migrationとプラグインの拡張機能の「All-in-One WP Migration Multisite Extension」を使うと以下のようなことができます。
インポート
マルチサイトの親からインポートします。
インポート中に子サイトを選択する場面があります。
ちなみにプラグインはインポートしたサイトだけ有効化されますが、
他は無効であるものの、すべてのサイト全体に共有されます(マルチサイトの機能)
エクスポート
サイトにチェックを入れて、エクスポートできます。
まとめ
シン・レンタルサーバー for freeをマルチサイトにした理由としてはステージング、仮サイトとして使うためです。
本番サイトとしても使えますが、マルチサイトの管理と外部に配置したメディアの管理がちょっと面倒なので、仮サイトとして運用しています。
シン・レンタルサーバー for freeを拡張して使いたい場合は、ぜひ試してみてください。
この記事で紹介しているコードは、GitHubのMOTOKI-LLC/WAZA-codeにもまとめています。
サイトを追加した後の確認と復旧
子サイトのトップ・投稿URL・管理画面・画像アップロード・ログインを確認します。
サブディレクトリ型が設置画面で選べない場合、定数だけを変更して強制しないでください。
設置パスやWebサーバー構成によって設定は変わり、Nginxでは.htaccessの手順をそのまま使用できません。
失敗時は構成変更前のデータベースとファイルを組として復元します。定数の削除だけを復旧完了としません。
現在の契約先での新規マルチサイト構築と移行拡張機能の実行は未検証です。



