皆さんこんにちは、個別指導塾コミット塾長、AWESOMEの開発担当の船津です。
今回は訳あって塾のサイトをマルチサイトからシングルサイトへ移行しました。
目次
マルチサイトとは
WordPressの機能の一つで、親サイトに対して小サイトを追加してくことができます。社内に複数事業がある場合など、簡単に同じ機能のサイトを作ることが出来るので便利です
マルチサイトはとても便利な機能ですが、考えて使わないと、苦しい目に合うかも知れません… 少しマルチサイトについて考えてみましょう。
マルチサイトの良いところ
- プラグインの管理・更新・追加が一括でできる
- サイト追加がめちゃくちゃ簡単!
- サブドメイン・サブディレクトリ好きな方法でサイトを追加できる
- ファイルが散らばりにくい
マルチサイトの良くない所
- 全てのプラグインが対応しているわけではない
- プラグインの影響範囲がわかりにくく全サイトに影響してしまうことも…
- プラグインはできれば必要な分だけ入っている方が良い、必要以上に入れすぎるとそれだけ脆弱性があるプラグインを入れてしまうリスクにもなるかと
- 初心者の方にはサーバー移行が難しいのではないでしょうか
- あの有名なAll in One Migrationがデフォルトでは対応していない(重要)
- ほとんどのサイトはシングルサイトを想定して記事がかかれているので、情報が少なく、エラー対処に苦労する
マルチサイトについてざっとわかったところで移行手順を見ていきましょう。
使ったもの
- 仮想環境:localbyflywheel
- wp cli
手順
1. マルチサイトのDBをダンプします
wp db export multisite.sql
2. wp-contentをダウンロードします
- SCPやFTPでローカルにダウンロードしてください
3. 新規仮想サイトを立ち上げる
- 名前は適当でOK
4. localbyflywheelのadminerで必要なデータを抽出
- エクスポート機能を使います
- 必要なテーブルをダウンロードしましょう
- 必要なのは
wp_8
といった接頭辞の付いたものとwp_users
,wp_usermeta
です エディタで
wp_8
等となっている部分を全てwp
に置き換えます- エディタでサイトのドメインを先程作成したサイトのものに全て置換します
plus.commit-edu.net
をplus.local
に置換するという具合にやります- 置換し終わったファイルは
single.sql
という名前で保存しておきます
- adminerはここから選択
- エクスポートボタンをぽちっと
- このように両端にチェックを入れます
5. wp-content以下をダウンロードしてきたものに入れ替える
- ダウンロードした
wp-content/uploads/sites
以下に画像ファイルなどがあるので、wp-content/uploads
の中に移動させておきましょう
6. 仮想環境にダンプファイルをインポートする
wp db import multisite.sql
7. 仮想環境を確認
ここまでやってサイトが再現できていればOKです
8. 本番環境に移行する
- wordpressを新規作成します
- 先程作成した
wp-content
フォルダを新しいサーバーに設置し、元あったwp-content
フォルダと入替えます - ダンプファイルを本番環境に設置後、本番環境で
wp db import single.sql
を実行します - ドメインが変わる場合は
wp search-replace
コマンドでDBのドメインを置換して下さい - サイトを確認します。
移行時の注意
- 必ずローカル環境で小サイトをそれぞれ再現できるか確認してから行いましょう
- サイトIDを間違えがちなので注意しましょう
- ssl化する場合は手順が少し変わります
これでマルチサイトでうまくいかないときも安心ですね
もっといい方法があったら是非おしえてください
マルチサイト自体はとても面白いのでどんどん使ってみましょう
移行に困ったら弊社に連絡してみてくださいね