CMS構築を目的にPHPをベースとしたWordPress、CakePHPやPEARなどオープンソースを中心に解説しています

さくらレンタルサーバ上でWordPressのマルチサイト機能を有効にしてみました。
WordPressは基本的に1本で1サイトしか管理できませんでしたが、バージョン3.0からマルチサイト機能が追加され、これにより複数サイトを管理することができます。

これまで何度かトライしては失敗していたのですが、ネットで実装例の記事も充実してきたので、それらを頼りに再チャレンジです。
また、多くは新規WordPressインストール時を奨励していますが、今回はあえてハードルを上げて既存のWordPressを一か所に集約する目的で、マルチサイト化にチャレンジしてみたいと思います。

というのも、最近、運用するWordPressの数が増えてきて、その管理コストを抑えたいという個人的な事情があります。。。

事前確認

今回作業するにあたって、事前確認したい前提条件や環境などをメモしておきます。

  • マルチサイト実現にはWordPressがドキュメントルートに設定されている必要がある(「/wp/」など下層に設置している場合はマルチサイトは実現できないので事前に移動しないといけません)
  • サーバは「さくらレンタルサーバスタンダード」プラン
  • WordPress 4.0.1はインストール済み(運用中の既存サイト)

また作業を始める前に、念のために全ソースとデータベースのバックアップを取得しておきます。

マルチサイトを有効にする

wp-config.phpをテキストエディタで開いて、以下の1行を追加し、マルチサイトを有効化します。

define('WP_ALLOW_MULTISITE', true);

次に、WordPressの管理画面にアクセスして、プラグイン管理の画面から全てのプラグインを停止させます。

マルチサイトを有効化すると、管理画面の「ツール」に「ネットワークの設置」というメニューが表示されるので、クリックします。すると「WordPress サイトのネットワークの作成」という画面が表示されるので「インストール」をクリックします。

そうすると「wp-config.php」と「.htaccess」を書き換えてくださいという内容が出力されるので、その指示通りにファイルを修正します。

例:「wp-config.php」への追記

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'helog.jp');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

例:「.htaccess」の書き換え

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) www.helog.jp/$1 [L]
RewriteRule ^(.*.php)$ www.helog.jp/$1 [L]
RewriteRule . index.php [L]
# END WordPress

※この際に既存のパーマリンク設定が上書かれて消える可能性があるので、これら一覧の設定後に管理画面からパーマリンクの設定を見直しましょう。

ここまで、ファイルを書き換えたら、再ログインする必要があります。
以上でマルチサイトの有効化は完了です。

全てのプラグインが無効化されているので、必要に応じて有効化しましょう。

さて、次回は乱立したWordPressサイトを、こちらのマルチサイトへ移行することにチャレンジします。

このエントリーをはてなブックマークに追加

Comment

Monthly Archives

Search