PR
スポンサーリンク

WordPress のマルチサイト化 [WP初心者]

Wordpress
記事内に広告が含まれています。

WordPress をマルチサイト化する方法を解説

スポンサーリンク

概要

WordPress をマルチサイト化する手順を解説します。

レンタルサーバーはシンレンタルサーバーを対象としていますが、エックスサーバーはもちろん、他社サーバーであっても概ね同じだと思います。

サブドメイン型を中心に解説していきます。

マルチサイトのメリット・デメリット

デメリット

  • プラグイン管理が面倒と感じる場面も
  • サイトが重くなる
  • セキュリティーリスクが高まる
  • プラグインがマルチサイト対応でないと使えない

メリット

  • サイト管理が楽になる一面がある
  • メモリーリソース軽減になる場合も
  • サーバーのデイスクスペースを削減できる
  • セキュリティーが高まる

詳細はこちら

マルチサイトは3タイプ

タイプ

  • サブディレクトリ型
    URLの形:お持ちのドメイン/〇〇◯
    ※開設後1ヶ月未満(回避策はあるようですが)のサイトのみ。
    インストール難易度:低
  • サブドメイン型
    URLの形:〇〇◯.お持ちのドメイン
    特に制限はないが、SSHで操作する必要がある。
    インストール難易度:中
  • 独立ドメイン型
    URLの形:お持ちのドメインA、お持ちのドメインB
    特に制限はないがサブドメイン型の手順+プラグインのインストール他
    インストール難易度:高

サーバーの仕様により対応できない場合も

サーバーによって対応できない場合があるので、注意が必要です。事前に調べるかサポートに問い合わせておきましょう。

前準備

サブサイトの URL を登録

子サイトで使うURLをサーバーに登録して使用できるようにします。

WAF を OFF にする

WAF とは

”Web Application Firewall”の略で、簡単に言うと、Webサーバーで通信を解析し、攻撃と判断した場合その通信を遮断しWebサイトを保護するものです。

「Webアプリケーションの脆弱性」を悪用した攻撃からWebサイトを保護する目的のセキュリティ対策でので、特別な理由がない限り、通常は ON にしておくことをおすすめします。

WAF は一旦解除

シンレンタルサーバーでは、マルトサイト構築過程においてエラーを発生させる原因になるので、一時的に WAF をすべて OFF に設定します。

他のサーバーでもエラーの原因になるかもしれないのでインストールが済むまで一時的に解除しましょう。

ssh を使えるようにする

SSH とは Security Shell の略で、PCを遠隔操作するための通信規格の1つです。

SSHについてはサーバーによりけりなので、各サーバーのマニュアルを確認するか、サポートにお問い合わせください。

バックアップ

DB、wp-config.php、.htaccess は最低バックアップしてきましょう。

WordPress の準備

既存サイトの場合

プラグインをすべて停止(無効化)します。プラグインが何かしらの理由でマルチサイト化の弊害になることを避けるためです。必ず全てのプラグインを停止(無効化)してください。

新規サイトの場合

最近は「簡単インストール」などの名称で WordPress をインストールしてくれる場合が多く、インストール自体は初心者でも簡単にできると思われます。

また。プラグインのインストールは行わないでください

今回は WordPress のインストールについては解説しません。

マルチサイト化の手順

wp-config.php を編集しアップロード

wp-config.phpの

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

のすぐ上辺りに

define('WP_ALLOW_MULTISITE', true);

の一行を加えます。

できたらアップロードします。

WordPress でマルチサイトの構築

ネットワークのインストール

WordPress の管理画面、左メニュー「ツール」の中に「サイトネットワークの設置」というのがあります。そこでネットワークを作ります。

エラーなど

※エラーが出る場合はWAFが関係している可能性があります。

※「サイトネットワークの設置」がない場合は

define('WP_ALLOW_MULTISITE', true);

にしていない可能性があります。

「サイトネットワーク名」「サイトネットワーク管理者のメールアドレス」は適当でOK(あとから変更可能)です。

設定が終わったら「インストール」をクリックします。

wp-config.php

画面に wp-config.php 用と .htaccess 用のコードが表示されます。

wp-config.php 用コードサンプル(実際に追加するのは表示されたコードをお使いください。

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'あなたのドメイン');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

表示れたコードを先程追加した

define('WP_ALLOW_MULTISITE', true);

直後に追加します。(実際に追加するのは表示されたコードをお使いください。

.htaccess

.htaccess 用コードサンプル(実際に追加するのは表示されたコードをお使いください。

<IfModule mod_rewrite.c>
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]
</IfModule>

これを

# BEGIN WordPress
# "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は
# 動的に生成され、WordPress フィルターによってのみ修正が可能です。
# これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

ここの太字部分に上書き(入れ替え)します。(実際に追加するのは表示されたコードをお使いください。

既存サイトでログインurlを変更している場合やり方によっては初期の wp-login.php になっているので注意

SSHでシンボリックを作成

サブドメインを使用する場合シンボリックリンクというものが必要です。そのためにはSSHでの操作が必要です。また、SSHの操作には「Tera Term」というソフトがおすすめです。

シンレンタルサーバーではサブドメインの設定を行うと、トップドメイン/public_html 内にサイトURLのディレクトリができます。

このサイトURLのディレクトリを削除しておきます。削除しておかないとシンボリックリンクが正しく作られないので、必ず先にディレクトリを削除してからシンボリックリンクを作成してください。

シンレンタルサーバーでは以下の通り3回操作します。

cd /home/サーバーアカウント/あなたのドメイン/public_html
ln -s /home/サーバーアカウント/あなたのドメイン/public_html /home/サーバーアカウント/あなたのドメイン/public_html/新しく作るサイトURL
ll

これでシンボリックリンクは完成です。

新しいサイトの追加

サイト上部の「参加サイト」から「サイトネットワーク管理」に入り「サイト」を選択。

新しいサイトを追加してマルチサイト環境が完成です。

最後に OFF にした WAFを元に戻すことを忘れずに。

Ads Blocker Image Powered by Code Help Pro

広告ブロッカーが検出されました

あなたのアクセスにもサーバーリソースは使われ、それは有料です。当サイトは無料で公開するために、アフィリエイト広告を利用して維持されています。ご理解いただき、当サイトに広告を許可してください。

タイトルとURLをコピーしました