関連タグ:

WordPressのマルチサイトの設定方法|1つのWPで複数のブログを管理しよう(〜ver.4.0)

  • はてなブックマーク 1
  • facebook 3
  • twitter

WordPressのマルチサイト機能、使っていますか?

私はよく使っています!WordPress4.0になってからもよく使ってます!
よくマルチサイトWebデザイナーと呼ばれたもんです!?(笑)

WordPressのマルチサイト機能は、ひとつのWordPressで複数のブログ(子サイト)を立ち上げる機能です。

メリットは多々あり、デザインパーツの共有、管理・編集のしやすさなどがあります。

セキュリティーに問題があるというのは昔の話。

サイトの制作の目的によってマルチサイト機能を積極的に取り入れています。

作ったブログ(小サイト)には、それぞれにテーマを実装でき、テーマ間でデザインパーツを共有できるので便利です。

WordPressにブログを1つ加えるカスタム投稿タイプ機能もありますが、マルチサイト機能の方がデザイン面やアーカイブ面を考えると作りやすいし管理しやすいです。

当記事では、「WordPressのマルチサイト機能」について、導入方法を紹介します。

スポンサーリンク

事前準備・データのバックアップ

WordPressのマルチサイト機能の設定方法は、私が自社運営サイトでもクライアントワークでも利用しているWordPressに強い「エックスサーバー」を利用して紹介します。

エックスサーバーが運営しているWordPressに特化したレンタルサーバー「wpXレンタルサーバー」ではマルチサイト機能は使えないので注意してください。

このように、レンタルサーバーの仕様によっては、マルチサイト機能が使えない・動かないサーバーがあるので、レンタルサーバーを契約する前に事前に確認しましょう。

事前準備

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

もしもの為のデータのバックアップ

  • 「ツール」⇒「エクスポート」からWordPress内のデータ(XMLファイル)をダウンロードしておきましょう。
  • データベースがわかる人は、サーバーの管理画面などからデータベースのバックアップを取っておきましょう。
  • FTP経由でデザインテーマをダウンロードしておきましょう。
  • FTP経由で「wp-config.php」と「.htaccess」ファイルをダウンロードして、複製しバックアップを取っておきましょう。

WordPressのマルチサイト機能で実行しよう

事前準備とバックアップが済んだら、WordPressのマルチサイト機能を有効化していきます。恐る恐るドキドキしますねw
事前準備とバックアップさえしておけば、意外に簡単なものですよw

※WordPress4.0で解説していきます。

WordPressのマルチサイト機能で実行しよう

ローカルに保存した「wp-config.php」をメモ帳やワードパッド、秀丸エディタなどで開き、86行目の「/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */」よりも前に下記ソースを挿入します。

define('WP_ALLOW_MULTISITE', true);

WP_ALLOW_MULTISITEを挿入したらファイルを保存して、FTPでサーバーへ上書きアップロードをします。

FTPでサーバーへ上書きアップロード

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

ネットワークの設置

※プラグインは全て停止しましょう。

”WordPress サイトのネットワークの作成”とページが開かれます。”ネットワークのタイトル”と”管理者メールアドレス”に変更が無いか確認をしましょう。変更があれば変更しましょう。
問題が無ければ「インストール」ボタンをクリックしましょう。

ネットワークを有効化中

”ネットワークを有効化中”の画面が開き、「wp-config.php」と「.htaccess」ファイルを編集せよと指示が記載されております。

※「wp-config.php」と「.htaccess」ファイルのバックアップを取っておきましょう。

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

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'サイトドメイン.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

4-2ローカルに保存した「.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]

上記2つの作業、アップロードまでが完了したらログインし直す必要があるので、一旦ログアウトし、再ログインをしましょう。

再ログインができたらマルチサイト機能の設定は完了

無事、再ログインができたらマルチサイト機能の設定は完了です。

ブログ(子サイト)を1つ追加してみよう。ディレクトリ編

マルチサイト機能をWordPressに実装できたら、ブログを1つ追加してみましょう。

ブログ(子サイト)を1つ追加してみよう。

ダッシュボード左上の「参加サイト」にマウスカーソルを乗せると、「ネットワーク管理者」とタブが出るのでマウスカーソルを乗せ、「サイト」をクリックします。

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

”サイトのアドレス”、”サイト名”、”管理者メールアドレス”を入力し「サイトを追加」ボタンをクリックしたらブログの追加作業は完了です。
※サイトのアドレスには、「page, comments, blog, files, feed」などの英単語は使えません。また、投稿ページ、個別ページ、カテゴリ、タグなどのスラッグと同じ英単語を使うとページが開かなくなる時があるので重複は気をつけましょう。

サイトのアドレス設定がサブドメインになっていたら

ブログ(子サイト)を”サブディレクトリ型”で追加したいのに、サイトのアドレス設定が”サブドメイン型”になっていたら、「wp-config.php」ファイルを開き、修正をしましょう。

define('SUBDOMAIN_INSTALL', true);

define('SUBDOMAIN_INSTALL', false);

にしましょう。

サーバーによって、サブドメイン型になっていたり、サブディレクトリ型になっていたりするので、任意で変更して下さい。

追加作成したブログ(子サイト)のダッシュボードが開かなかったら

追加作成したブログ(子サイト)のダッシュボードが開かなかったら”ネットワークの設置”ページを開き、「.htaccess」ファイルを確認してみましょう。
場合によって掲載されている通りに「.htaccess」ファイルの内容を置き換えてみましょう。

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [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]

テーマ間でデザインテンプレートを使い回しできるテンプレートタグ

Movabletypeのデザインテンプレート(モジュール)の使い回し(インクルード)が凄く便利で、ブログごとに同じデザインテンプレートを使えたのですが、WordPressにも他のテーマのデザインテンプレート.phpを呼び出す事ができるのを知り、一層マルチサイト機能での制作が便利になりました。

ひとつテンプレートファイルを作っておけば、別々のブログでも同じデザイン(テンプレートファイル)を利用できます。

<?php include(get_theme_root() . '/テーマフォルダ名/***.php'); ?>

テンプレートファイルをテーマ間で共有する時に注意しておきたい事は、画像指定(img)タグは親テーマの画像が置いてあるフォルダに対し、絶対パスで記載する方が良いです。画像を呼び出すテンプレートタグを使うと、親テーマのフォルダから画像を呼び出す事にならず、子ブログテーマの画像フォルダを指定する事になり、画像のリンク切れになります。

ブログ(子サイト)のサイトマップ(xml)を書き出そう

検索エンジン対策用に、Googleマスターズツールにサイトマップを登録したりしますが、追加したブログ(子サイト)のサイトマップも書き出せます。
サイトマップを生成する定番のプラグイン「Google XML Sitemaps」を利用しますが、「Google XML Sitemaps」はネットワーク対応は今のところしておりません。マルチサイト機能版もあるようですが…。

「ネットワークで有効化」をしなくてもブログ単体で使えるので有効化しましょう。

WordPressのマルチサイト機能を活用していきましょう

「マルチサイト機能は使わない方がいい」という声が以前はありましたが、WordPressが進化すればする程、使わなきゃ勿体ない機能です。

マルチサイト機能の設定こそ少し手間がかかりますが、メインのサイト(ブログ)と複数のブログ(子サイト)を管理していくのは、WordPressひとつで一元管理ができるので凄く便利です。クライアントもレクチャーの元、使いこなしておりますw
複数に分けたブログをそれぞれ更新しているだけなんです。

WordPressのバージョンが上がるにつれて、改善して貰いたい事も多々ありますが、1つのホームページ内に複数のブログを必要としている方におすすめのマルチサイト機能です。

やればそんなに難しくないWordPressのマルチサイト機能、是非お試しください♪

エックスサーバーは下記記事で徹底解説しています♪
初めてでも簡単にできる!エックスサーバーでWordPressをインストールする方法

エックスサーバーでは、WordPressのマルチサイト機能も高速かつ安心安全に使えます!

もう1記事、読んでみませんか?

 

運営者(登場人物)は、スマホ・ガジェットが大好きな実在する親子です♪

使い方・レビュー記事のアイテムは実際に買って長く使ってます♪

運営者情報

気になる記事を検索