以前の記事に書いたように、私がやっている下記4つのサイト(主にブログ)を、1つのWordPressにまとめました。
WordPressってマルチサイトが出来るのは知ってるけど、別のドメインでも出来るの?と、言う人もいるかもしれません。
出来るんですね、それが。WordPerss MU Domain Mappingを使えばね!
まずはネットワーク機能を有効にする
WordPressをインストールしたら、何はともあれネットワーク機能を有効にして、マルチサイトを扱えるようにしなければなりません。
WordPressを通常インストール後、プラグインをすべて停止させていることを確認してから、wp-config.phpに下記の1行を追加します。
define ('WP_ALLOW_MULTISITE', true);
WordPressのダッシュボードを見ると、「ネットワークの設置」というメニューが追加されていると思いますので、これを選択します。
「WordPressサイトのネットワークの作成」画面が表示されるので、各項目を入力します。
「ネットワーク内のサイトのアドレス」は、複数ドメインを使う場合は「サブドメイン」を選択しておきます。
WordPressが既にサブディレクトリにインストールされている場合は、「ネットワーク内のサイトのアドレス」の選択が表示されず、常にサブディレクトリでのインストールになるため、複数ドメインでの使用が出来ません。
最後に「インストール」をクリックすると、下図のような画面が表示されます。
画面の指示通り、wp-config.phpと.htaccessを編集します。
wp-config.phpには追記、.htaccessは一部の書き換えになるので、注意が必要です。
再度ログインすると、WordPressのツールバーに「参加サイト」というメニューが追加されていることが分かります。
これで、WordPressのネットワーク機能は有効になりました。
WordPress MU Domain Mappingを導入
ここまでの作業で、元のサイトで使っているドメインの「サブドメインでなら」複数のサイトを作成出来るようになりました。
でも、「別のドメイン」を使うことは出来ないんですね。ここで、WordPress MU Domain Mappingプラグインを導入します。
プラグインの導入は、サイトネットワーク管理者のダッシュボードから行います。
「wordpress mu domain mapping」でプラグインを検索すると、見つかるはずですので、インストールします。
インストールが終わったら、ネットワークで有効化。
設定メニューの配下に、「Domain Mapping」と「Domain」の2つのサブメニューが追加されました。
でも、Domain Mappingを選択すると、何かメッセージが出るんですね。
メッセージよると、やるべきことは2つあります。
- WordPress MU Domain Mappingプラグインのディレクトリにあるsunrise.phpを、wp-contentディレクトリに直下にコピーする
- wp-config.phpを編集する
wp-config.phpには、下記の1行を追加します。
define('SUNRISE', 1);
メッセージで指示されたことをやって、再度、メニューからDomain Mappingを選択すると、表示される画面が変わります。
標準的な環境なら、ここは初期状態のままSaveで良さそうです。
別のドメインでサイトを作る
まずWordPressの標準機能でサイトを作ります。
この時点では、元のサイトのドメインのサブドメインになります。
次に、メニューからDomainを選択し、下図の画面でサイトにドメインを割り当てます。
「Site ID」は、「すべてのサイト」画面から該当サイトの「編集」画面を開くと、そのURLの末尾にidパラメータがあるので、そこから調べてください。
最後に、「すべてのサイト」画面から該当サイトの「編集」画面を開き、ドメインを書き替えます。
後は設定したドメインでアクセスがあった場合に、WordPressが導入されているディレクトリに処理を振り向けるようにWebサーバを設定しておきます。
まとめ
WordPressのネットワーク機能のメリットは、複数のサイトの管理の一元化、ユーザの一元化だと思いますが、WordPress MU Domain Mappingを使うと、別ドメインのサイトでもメリットを享受できるわけです。
WordPressを使ったサイトを複数管理する必要がある場合に、ぜひ、ご検討ください。