ワイヤード・パンチ

サイトレイアウトを変えてみました。よろしければアンケートにご協力ください。

WordPressのマルチサイトから、一部のサイトだけ切り取ってシングルサイト化する方法。

当ブログ以外にアイカツ保管庫プリパラ保管庫というサイトも運営しており、すべてのサイトを1つのWordpressに、つまりマルチサイトとして運営していました。

しかし、月額の安いサーバに変えた影響でマルチサイトが使用不能になり、それぞれ個別のWordpressに分けざるを得なくなりました。

よって今回は、マルチサイトから一部のサイトを切り抜いて、個別のシングルサイトとして移行するための方法について。

広告

移転先サーバへファイルをコピーする。

今回はマルチサイト内にあるサイトのうちの1つ、アイカツ保管庫(https://aikt.wiredpunch.com)で手順を説明します。

まず、移転先サーバのWordpressのディレクトリをFTPで開いて、旧サーバで使われていたファイルをコピーします。

コピーが必要なファイルは以下のとおり。

  • /wp-content/plugins
  • /wp-content/themes
  • /wp-content/uploads

しかし、uploadsフォルダ内のコピーに関しては、注意が必要です。

上記写真の右カラムのように、シングルサイトではuploadsフォルダ内に、メディアライブラリの画像が年ごとに保存されています。

一方でマルチサイトにあるサブサイトの場合、「uploads/sites/(サイトID)」フォルダ内に画像のフォルダがあります

よって、シングルサイトとなる新サーバの方には、uploadsフォルダ直下へファイルを移す必要があります。

今回のサイトの場合、サイトIDが5なので、移行元および移行先のディレクトリパスは以下のような感じになります。

「uploads/sites/5」→「uploads」

「5」フォルダの中身を、そのまま「uploads」に移すということです。

なお、サイトIDの調べ方ですが、まずマルチサイトのWordpressの管理画面から「参加サイト」→「サイトネットワーク管理」→「サイト」へ進みます。

サイトの一覧が開いたら、ドメイン名にカーソルを合わせることで編集画面のURLが出ますが、そのURL末尾の数字がサイトIDとなります。

SQLをエクスポートする。

続けて、移行元サーバのphpMyAdminを開き、Wordpressに使用されているデータベースのエクスポートの画面へ進みます。

まずは「Export method:」を「詳細」に切り替えます。

すると、エクスポートしたいテーブルを選択できるようになります。

ここで、選択するべきテーブルは以下のとおりになります。

  • wp_(サイトID)_で始まるすべてのテーブル
  • wp_usermeta
  • wp_users

これら以外のテーブルは、すべてチェックを外します。

今回はサイトIDが5なので、wp_5_で始まるすべてのテーブルをすべて選択するということになります。

あとは、「DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT / TRIGGER コマンドを追加する」にチェックを入れ、エクスポートを実行しましょう。

SQLファイルが出来上がります。

SQLを編集してインポートする。

そのまま新サーバでインポートしても、実際にページを開いたときにエラーになるだけです。

よってインポートする前に、エクスポートされたSQLファイルを、新サーバの環境に合わせて書き換える必要があります。

まず、エクスポートしたSQLファイルを、お好みのメモ帳で開きましょう。

そして、以下の内容で一括置き換えを実行します。

URLを置き換え。

旧サーバでも新サーバでも、サイトのURLが変わらない場合はそのままでいいのですが、違う場合はURL部分の置き換えが必要です。

たとえば旧サーバでのURLが「http://aikt.vccw.test」だった場合、それに対して「https://aikt.wiredpunch.com」で置き換えを行います。

テーブル名を置き換え。

マルチサイトだったときには「wp_(サイトID)」のテーブルが使われていましたが、シングルサイトにサイトIDの概念はないので「wp」のテーブルが使われるようになります。

よって、今回の場合はサイトIDが5なので、「wp_5_」と書かれている箇所をすべて「wp_」に置き換えます

メディアライブラリのパスを置き換え。

シングルサイトに変わることにより、メディアライブラリのディレクトリ構造も変わるので、ここも書き換えが必要です。

「uploads/sites/(サイトID)」に保存されていたファイルは、さきほど「uploads」フォルダ直下にすべて移し替えました。

サイトIDが5なので、「/sites/5」と書かれている箇所をすべて削除します

編集内容は以上です。あとは新サーバのphpMyAdminでこのSQLファイルをインポートすれば、無事に移転前と同じサイトが、シングルサイトとして稼働することでしょう。

余談。現在使っているサーバについて。

現在はCORESERVERのCORE-MINIプランを使っています。

おそらくマルチサイトを運営することは不可ですが、1つのアカウントで10個のMySQLを利用することが可能です。

つまり、Wordpress本体が10個になってしまうものの、10個ものサイトを建てることができるというわけです。

さらに、容量は60GBも利用可能。動画ばかり上げたりしなければ、10個のサイトでもなかなか60GBには届かないのでは?

そして肝心の月額はなんと、たった198円。

30日の無料体験もあるので、小規模なWordpressサイトを建てるにはもってこいではないでしょうか。

…と、良いことづくめだと思ったのですが、どうやら月額198円になるのは、12ヶ月契約をしたときだけのようです。

トップページにはそんなこと表記されていないので、まんまと騙されました…。いちおう詳細画面には記載はありますが。

ちょっと書き方が卑怯に思えてきたので、また移転しようか検討中です。