WordPress サブディレクトリ型のマルチサイト導入方法(ロリポップ編)

1つのWordPressで複数のブログ(サイト)を作成できる「マルチサイト機能」。
導入方法について検索するとたくさんの記事がヒットしますが、使用しているサーバーによってちょっとしたエラーが出たりするみたいで。。

今回、ブログをマルチサイト化するにあたって実際に作業をしていたところ、何度かつまづいてしまった場面があったので、サブディレクトリ型のマルチサイト導入方法(ロリポップ編)と題して導入までの流れをご紹介したいと思います。

※Wordpressのバージョンは4.3.1になります。

事前の準備・バックアップ

  • サーバーにWordPressをインストールしておきます。
  • FFFTPなどのFTPソフトをインストールして、サーバーと接続できるようにします。
  • プラグインは全て停止します。

また、念のためデータのバックアップもしておきます。

  • 「ツール」⇒「エクスポート」からWordPress内のデータ(XMLファイル)をダウンロードします。
  • サーバーの管理画面などからデータベースのバックアップを取っておきます。(※必須ではありません。)
  • FTP経由で現在使用しているデザインテーマをダウンロードしておきます。
  • FTP経由で「wp-config.php」と「.htaccess」ファイルをダウンロードし、複製しておきます。

マルチサイト機能を有効化

事前準備が終わったら、早速マルチサイト機能を有効化していきます。

wp-config.phpファイルをお使いのテキストエディタで開きます。

編集が必要なのはここまでです ! WordPress でブログをお楽しみください。
と記載されている行よりも前に以下のコードを追記します。

define('WP_ALLOW_MULTISITE', true);

保存しましたらFTPでサーバーへアップしてwp-config.phpを上書きします。

もしもwp-config.phpのアップに失敗したら…
ロリポップでは、WordPressの「wp-config.php」のパーミッションは、サイト改ざん対策のため初期設定で「400」になっています。
読み込み専用の設定となりますので、何か書き換えたい場合は一旦パーミッションを「600」に変更し、その後また「400」に設定しなおすようにしましょう。

WordPressのダッシュボードを開くと、サイドメニューの「ツール」に「ネットワークの設置」というメニューが表示されているのでクリックします。

  • プラグインはすべて停止します。

WordPress サイトのネットワークの作成というページになります。
ネットワークのタイトル管理者メールアドレスに変更が無いか確認します。
変更がある場合はこの時に変更します。
問題が無ければインストールボタンをクリックします。

ネットワークを有効化中の画面に切り替わるので、「wp-config.php」と「.htaccess」ファイルを編集します。

ローカル(パソコン内)に保存した「wp-config.php」ファイルを開き、
編集が必要なのはここまでです ! WordPress でブログをお楽しみください。
という行より上に下記コードを追加して、サーバーへアップします。

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', '○○○○.com'); ←自身のサイトのURLに変更します。
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

次に「.htaccess」ファイルを編集します。
下記コードを追加してサーバーへアップします。

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).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
  • もし以下のコードがすでに記載されていたら上書きしてOKです。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

アップロードが完了したら一旦ログアウトし、再ログインします。
無事、再ログインができたらマルチサイト機能の設定は完了です。

子サイトを追加してみる

では早速サイト(ブログ)を一つ追加してみます。
ダッシュボード左上の「参加サイト」にマウスカーソルを乗せると、「ネットワーク管理者」とタブが出るのでマウスカーソルを乗せ、「サイト」をクリックします。

「サイト」ページを開いたら「新規追加」ボタンをクリック。

  • サイトのアドレス
  • サイト名
  • 管理者メールアドレス

を入力し「サイトを追加」ボタンをクリックしたらブログの追加作業は完了です。

  • サイトのアドレスには、page, comments, blog, files, feedなどの英単語は使えません。
    また、投稿ページ、個別ページ、カテゴリ、タグなどのスラッグと同じ英単語を使うとページが開かなくなる時があるので重複しないよう気をつけてください。

ロリポップで子サイト用フォルダを作成する

子サイトをWordpressで追加したあとに、子サイトのダッシュボードへログインしようとすると500エラーが出てしまいます。

子サイト用フォルダを作成する必要がありますので、ロリポップのユーザー専用ページへログインし、「簡単インストール」メニューの中の「WordPress」からロリポップマルチサイトを設定していきます。

  • ①サイトアドレス
  • ②サイトのタイトル

は、先ほど設定した子サイトのアドレス・タイトルと同じものを設定します。

  • ⑤メールアドレス

は、おおもとのWordPressと同じものを設定します。

  • ③ユーザー名
  • ④パスワード

ユーザー名とパスワードは、おおもとのWordpressと同じでもかまいませんが、セキュリティにこだわるなら違ったものにします。
確認画面で、間違いがなければインストールして完了となります。
これで子サイトのダッシュボードへログインできるようになっていると思います。

まとめ

以外と簡単に導入できるWordPressのマルチサイト機能。
ぜひお試しを!

Comment Form

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です