今まで、WordPressは1インストール1サイトでした。
それがWordPress3.0では、マルチサイト化が可能に・・・
では、今まで個別に管理していたWordPressのサイトを、1つに纏めたい時にどうすればよいの??を解説していきます。
まず、中心となる、www.example.comをマルチ化します。
必ず、サブドメインで構築できるように設定します。
そして、WordPressの特権管理者で、予め統合したいサブドメインを作っておきます。
要は受け皿を作っておくと言う事です
必ずバックアップを徹底する
まず、データベースのバックアップを必ず作業する前にしてください。
この方法は、私のサーバー環境で行った事であり、他の環境下ではうまくいかない可能性がありますので、注意してください。
ここで、バックアップをしっかりしておかないと、失敗した時に後で泣く事になります…。
統合元のサイトのデータベースと、今まで個別ブログだったデータベースの2つをバックアップしておきます。
個別ブログのデータベースは、1つは修正するので、2つバックアップしておきます。
サブドメインのサイトIDを確認する
サブドメインを作成すると、自動的にサブドメイン用のデータベースが増えていきます。
phpMyAdminを開いて、サブドメインの接頭語を確認し、接頭辞とサイトIDとデータベースの中身を確認します。
例えば、wp_4_optionsは、4がサイトIDとなり、phpMyAdminからデータを見ると、サイト情報を確認する事が出来ます。
phpMyAdminでの確認方法
phpMyAdminを開いたら、WordPressをインストールしているデータベースをクリックします。
すると左にテーブルの一覧表がひょうじされるので、その中から、wp_数字_optionsをクリックします。
クリックすると、option_valueの箇所に、サイト名とサイトURLが表示されています。
個別ブログのsqlファイルを修正する
上記で、特権管理者で作成したサブドメインのサイトID、とデータベースのテーブル名を確認したら、個別ブログのsqlファイルを修正します。
まず、sqlファイルのwp_optionsのテーブル構造をごっそり削除しておきます。
[php]テーブルの構造 `wp_options`[/php]デフォルトでは上記のテーブル構造です。
これはWordPressをインストールした時に、接頭辞を変える事が出来るので、
もし忘れてしまった人は、optionsで検索してみるか、
バックアップしておいた、wp-config.phpの以下の場所を確認してみてください。
$table_prefix = ‘wp_’; // 半角英数、アンダースコアが使用できます。[/php]
ここでは、WordPressのデフォルトでインストールした場合を例にします。
テーブル構造のwp_を、確認しておいたwp_4_に全て修正します。
文字コードに気を付けて、sqlファイルを保存します。
画像や添付ファイルのリンク先を修正する
統合するにあたって、サブドメインの画像アップロード先が異なるので、
ここで、画像URL先も修正しておきます。
今までは下記の画像URL先にアップされていました。
WordPress3.0のサブドメインの画像アップロード先は、下記のURL先になるので、
sqlファイルを一括置換します。
画像や添付ファイルを任意の箇所にアップロードする
サブドメインを作成して、画像をアップロードすると、
実際は、以下のURL先にアップロードされます。
下記の4の数字は、勿論サイトIDです。
上記を見て分かるとは思いますが、sqlファイルの画像URL先とアップ先が異なっていることに気づきます。
きっとリダイレクトされているに違いありません(未確認※jim912さんのコメント参照
使っているプラグインやテーマ関係をアップロードしておく
言わずもがな、個別ブログで使用しているテーマやプラグインなど予めアップロードしておきます。
データベースをインポートする
phpMyAdminやSSHを使って、データベースにインポートします。
統合した個別ブログの設定をする
インポートした個別ブログのsqlファイルには、wp_optionsのテーブルを除いていたので、
サイト情報が入っていない状態です。
なので、プラグインやテーマ、一般設定など諸々の設定をし直します。
一応、個別ブログのwp_optionsデータはインポートしても大丈夫そうな気がしますが、
私は念のため除外しておきました。
※wp_optionsデータは必ず削除しないと、不具合が生じる。
これで、一通り統合化は終わり・・・のはずです。(思いだしながら書き…(;´▽`A“
メディアをクリックして画像が表示されるのをチェックしたり、
色々不具合がないか確認してください。
後でおでこに試させて、ブラッシュアップしておきますw
統合においての注意点
プラグイン関係の注意点
統合するにあたって、今まで動作していたプラグインは、プラグインによっては設定方法が変わっていたります。例えば、W3 Total Cacheなどは、サブドメイン毎に設定し直さなければならず、結構めんどくさいです。
また、マルチサイト化に最適化していないプラグインも存在するため、
動作しないプラグインもあります。
テーマ関係の注意点
個別サイト用だった、アクセス解析などのコードを入れてカスタマイズしてるテーマを、
他のドメインにも使いたい場合は、テーマ自体をコピーしてサブドメイン用のアクセス解析コードを修正して使用するしかありません。
自己責任でお願いします
全て自己責任で・・・失敗の責任は負いかねますので、その上で作業してください。
コメント
コメント一覧 (2件)
てぃあさん、こんにちは。
ちょこっとばかし補足をば。
画像の表示ですが、.htaccessでwp-includes/ms-files.phpにリクエストされ、php経由で出力されるようになっていますので、リダイレクトされている訳ではないです。
マルチサイトのoptionsテーブルですが、シングルインストールとは必要な項目が異なっていますので、共通項目を個別に上書きするなどは問題ありませんが、全上書きでは不具合が出てしまうです。。
jim912さん
お疲れ様です :ニカ:
やっぱり、optionsテーブルは除外してインポートなんですね。
この間のWordBench埼玉で、optionsテーブル以外とよろずさんが言っていたので、念のため除外して統合化しました。
補足ありがとうございました┏(o・ω・)))) ペコッ♪