WordPressマルチサイト設定方法

以前はブログ型オープンソースCMS『WordPress』は、マルチサイト(ひとつのインストールで複数のWordPressが使用)が実現できませんでした。

しかし、WordPress 3.0から、WordPress MUを使用して実現可能であったWordPressで複数ブログの管理運営機能(マルチサイト機能)が統合されています。

マルチサイト機能を利用する方法は、以下の通り。

 

1.インストール直後の初期設定のみ状態でwp-config.phpファイルに以下の一行を追加します。

define(‘WP_ALLOW_MULTISITE’, true);

2.管理画面の『ツール』項目から、『ネットワーク』をクリックし、
マルチサイトの増やし方、サブディレクトリもしくはサブドメイン方式を選択。

3.必須ではないが、wp-config.php と .htaccess の2つのファイルをバックアップしておく

4.レンタルサーバーxserverの場合:/home/アカウント名など/ドメイン.com/public_html/wp-content の中に blogs.dir ディレクトリを作成。このディレクトリは、追加サイトのメディアアップロードの保存用に使用されるので、ウェブサーバー書き込みの許可設定をしておく。

5./home/アカウント名など/ドメイン.com/public_html/ にある wp-config.php ファイルの、

 

/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */

という行より上に以下のコードを追加。

define( ‘MULTISITE’, true );
define( ‘SUBDOMAIN_INSTALL’, false );
$base = ‘/’;
define( ‘DOMAIN_CURRENT_SITE’, ‘ドメイン.com’ );
define( ‘PATH_CURRENT_SITE’, ‘/’ );
define( ‘SITE_ID_CURRENT_SITE’, 1 );
define( ‘BLOG_ID_CURRENT_SITE’, 1 );

 

『認証用ユニークキーが wp-config.php にありません。 インストールをさらに安全にするため、次を追加するとよいでしょう。』
の項目内の記述も上記に追加しておいた方がよいようです。

6./home/アカウント名など/ドメイン.com/public_html/ の .htaccess ファイル下記を追加し、WordPress設定のルールを変更します。

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]

# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ – [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

7.上記ステップの完了後にログインし直すと、ネットワークの有効化設定が反映されます。

ただし同一DBによる管理のため、動作が重くなったり、ダッシュボードに不具合が発生したり、プラグインが非対応だったりと、アップデートなどによるWordpressの更新を行うと思いもよらないバグなどに遭遇するためマルチサイトの採用には注意が必要です。