WordPressのシングルサイトをマルチサイトへ移行する手順
公開日:2014年6月30日
WordPressのマルチサイト機能は複数サイトを一括管理でき、インストールやアップデートが1回ですむため非常に便利です。最初にシングルサイトで構築していたサイトを、マルチサイトに移行する手順を解説します。
【記事執筆時の環境】
WordPress 3.8.2
前提としては、マルチサイトでWordPressをインストールして、既存サイトを子サイトとして移行するものとします。
- 通常通りWordPressをインストールします。
- マルチサイト化を行います。詳細は以下の記事を参照してください。
「WordPressマルチサイト機能でWebサイトを構成する」 - 親サイトおよび移行する既存サイトを、ネットワーク管理画面で設定します。
- パーマリンク設定などWordPressの基本設定をします。
- 必要なプラグインをインストールします。
- 既存サイトの画像をアップロードするディレクトリを作成します。
例えば、id=2の子サイトのディレクトリは次のようになります。
「ドメイン名/wp-content/uploads/sites/2/」
※親サイトには、/sites/2/のフォルダはなく、/uploads/の下に年のフォルダが続きます。 - 既存サイトのデータベースを修正するため、SQLファイルをエクスポートします。
- エクスポートしたデータベースファイルの中に記述されているURLを、新環境に合わせて修正します。
例)http://example.com ⇒ http://example.jp/site2 - データベースのテーブル名を、新環境に合わせて置換し修正します。
最低限下記5つのテーブルについて修正する必要があります。
wp_posts ⇒ wp_2_posts
wp_postmeta ⇒ wp_2_postmeta
wp_terms ⇒ wp_2_terms
wp_term_relationships ⇒ wp_2_term_relationships
wp_term_taxonomy ⇒ wp_2_term_taxonomy下記テーブルはインポートする必要はありません。
wp_commentmeta ※コメントある場合は修正しインポートする
wp_comments ※コメントある場合は修正しインポートする
wp_links
wp_options
wp_usermeta
wp_users【注意点】
・接頭辞'wp'を変えている場合は、その名前にしてください。
・プラグインで作成したテーブルが存在する場合は、それらも修正します。
・マルチサイトでは、管理用として次のテーブルも存在します。
wp_blogs
wp_blog_versions
wp_registration_log
wp_signups
wp_site
wp_sitemeta - wp_2_postsテーブルについて、アップロードディレクトリのパスを記述している部分を、先ほど作成したディレクトリパスに置換します。
- 修正したテーブルのINSERT部だけを残し、データベールファイルから他は削除します。
- phpMyAdminで、修正したデータベースファイルをインポートします。
- 既存サイトに適用していたテーマを、themasディレクトリにコピーします。
- 既存サイトの/wp-content/uploads/の下を、/wp-content/uploads/sites/2/の下にそっくりコピーします。
- ページを表示させて確認します。
スポンサーリンク