WordPressのマルチサイト機能は使っていますか?
WordPressのマルチサイト機能は、ひとつのWordPressに複数のブログ(子サイト)を立ち上げる機能です。
メリットは多々あり、デザインパーツの共有、管理・編集のしやすさなどがあります。
セキュリティーに問題があるというのは昔の話。
サイトの制作の目的によってマルチサイト機能を積極的に取り入れています。
作ったブログ(小サイト)には、それぞれにテーマを実装でき、テーマ間でデザインパーツを共有できるので便利です。
WordPressにブログを1つ加えるカスタム投稿タイプ機能もありますが、マルチサイト機能の方がデザイン面やアーカイブ面を考えると作りやすいし管理しやすいのでおすすめです。
当記事では、WordPressマルチサイトの設定方法を紹介します。
スポンサーリンク
この記事でわかること(目次)
事前準備・データのバックアップ
WordPressのマルチサイト機能の設定方法は、私が自社運営サイトでもクライアントワークでも愛用している「エックスサーバー」を使って紹介します。
エックスサーバーが運営しているWordPressに特化したレンタルサーバー「wpX Speed」では、マルチサイト機能は使えないので注意してください。
レンタルサーバーによっては、マルチサイト機能が使えない・動かないサーバーがあるので、レンタルサーバーを契約する前に確認してください。
事前準備
- サーバーにWordPressをインストール。
- FFFTPなどのFTPソフトをPCにインストールして、サーバーと接続できる状態にしましょう。
もしもの為のデータのバックアップ
- 既に運用中のWordPressは、バックアッププラグイン”All-in-One WP Migration”でバックアップを取りましょう。
- ツール ⇒ エクスポートからWordPress内のデータ(XMLファイル)をダウンロードしておきましょう。
- データベースがわかる人は、サーバーの管理画面などからデータベースのバックアップを取っておきましょう。
- FTP経由でデザインテーマをダウンロードしておきましょう。
- FTP経由で「wp-config.php」と「.htaccess」ファイルをダウンロードして、複製しバックアップを取っておきましょう。
All-in-One WP Migrationを使えば、WordPressのバックアップは簡単です。復元も簡単!
WordPressマルチサイトの設定方法
事前準備とバックアップが済んだら、WordPressのマルチサイト機能を有効化していきます。恐る恐るドキドキしますねw
事前準備とバックアップさえしておけば、意外に簡単なものですよw
※WordPress4.0で解説していきます。
※プラグインは全て停止しましょう。
1ローカルに保存した「wp-config.php」をメモ帳やワードパッド、秀丸エディタなどで開き、86行目の「/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */」よりも前に下記ソースを挿入します。
define('WP_ALLOW_MULTISITE', true);
WP_ALLOW_MULTISITEを挿入したらファイルを保存して、FTPでサーバーへ上書きアップロードをします。
2WordPressのダッシュボードを開くと、サイドメニューのツールにネットワークの設置というメニューボタンが表示されてるのでクリックします。
3”WordPress サイトのネットワークの作成”とページが開かれます。”ネットワークのタイトル”と”管理者メールアドレス”に変更があれば変更してください。
問題が無ければインストールをクリック。
4”ネットワークを有効化中”の画面が開き、「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つの作業、アップロードを終えたら一旦ログアウトし、再ログインをしましょう。
5無事、再ログインができたらマルチサイト機能の設定は完了です。
ブログ(子サイト)を1つ追加してみよう。ディレクトリ編
WordPressマルチサイト設定ができたら、ブログを1つ追加してみましょう。
1ダッシュボード左上の参加サイトにマウスカーソルを乗せると、ネットワーク管理者とタブが出るのでサイトをクリックします。
2「サイト」を開いたら新規追加をクリックします。
3”サイトのアドレス”、”サイト名”、”管理者メールアドレス”を入力しサイトを追加をクリックしたらブログの追加作業完了です。
※サイトのアドレスには、「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のマルチサイト機能も高速かつ安心安全に使えます!
・誹謗中傷、過激かつ攻撃的なコメントはIPアドレスを明記して公開する場合があります。
・検証依頼・読者様の体験レビューなども是非書き込みお願い致します。
※コメント欄が無い記事はコメントを受け付けていません。