multisite WordPress

WordPressのマルチサイト作成手順

このページは一つのアカウントにWordPressをエックスサーバーにインストールして通常使用では無く、複数アカウント使用を可能にするマルチサイト(Multi-site)設定について解説します。何も記事を書いていない、動画、画像やプラグインなどをアップロードしていない状態を想定しています。WordPress マルチサイトを設定してしまえば、新たなウェブサイト作成に複数サイト契約する必要が無くなります。もちろんご契約容量が許せばですが。ウェブサイトやブログは最初書きたいことが山ほどあるのですけれど10個も熱のこもった記事を書き続けると「アレッ?書くことがもう無い」ということもままあります。マルチサイト(Multi-site)設定ではそんな時でも別の話題のサイトを作ればいいので、無理してもう話題の無くなったサイトに固執する必要もありません。設定は最初面倒ですけれど、頭を使うようなものでもありません。


マルチサイト設定を行う準備

バックアップを取っておいて下さい

マルチサイトは簡単な設定ですが、致命的なミスをしてしまうとWordPress再インストールしなければならないところまで戻らないとならないときもあります。つまり今あるWordPress削除するのですべてのWordPressにアップロードしたデータは全て消えます。必ずバックアップを取る必要があります。「ダッシュボード」の左側に「ツール」をクリックすると「エクスポート」と出てくるのでそこからXML ファイルを出力して保存することができます。

さらに重要となるのは「.htaccess」「wp-config.php」のファイルです。これらはFTPソフトにてインストール済みのWordPressからダウンロードします。まず何も変更していない状態の「.htaccess」「wp-config.php」をダウンロードしてどこかのフォルダに保存しておいて、さらにまた別のところに「.htaccess」「wp-config.php」をダウンロードしてそれを編集してアップロードして下さい。つまり、いま正常に動いて何も変更していない「.htaccess」「wp-config.php」があれば編集してWordPressが表示されなくなったり異常が起こったとしても、編集前のものをアップロードすれば元に戻るわけです。

テーマをデフォルト以外のものを使用していたり、デフォルトのものでもアレンジしたりしてあるのならFTPでダウンロードしておきましょう。

ダッシュボードメニューからWordPress内のデータをエクスポートできるのでコレも簡単にバックアップできるので保存しておきます。

私はWordPressマルチサイトに分けていますし、文字がほとんどなのでバックアップとかは大したことないですし、データのバックアップも大がかりにならないのですが、大量にアップしてある方がWordPressマルチサイト化をする場合は「phpMyAdmin」でのデータベースのバックアップとなるようです。このあたりはやったこと無いのと、間違っていたらとんでもないことになるので省略しますけど、私はWordPressマルチサイト設定を初めてやったときに、「.htaccess」設定でつまずいてWordPress削除して再インストールしました。分かってしまえばそこまで難しくなくて大丈夫ですけど、間違えが一つあるとそれでWordPressじたいにアクセスできなくなってしまうのでバックアップはかなり重要です。

プラグインを止めておく

エックスサーバーで自動インストールの場合、デフォルトですとプラグインは無効になっていますけど、もし有効化してしまっているとマルチサイト対応していないプラグインだったり不安定になる可能性もあるので、マルチサイト設定前には無効にしておきましょう。

マルチサイト設定前に確認しておきます、有効になっていたら全て無効にしてください。

操作
ダッシュボードのプラグインメニューをクリックしている画像
「ダッシュボード」にログインして、左側のメニューから「プラグイン」かマウス右に表示される「インストール済みプラグイン」をクリックします。
pluginstop02

有効化されているものが複数ある場合は、プラグインを全て選択する(チェックボックスにレ点を入れます)。
(有効化されているプラグインが1つとかなら、そのブラグインの無効化をクリックするだけでも無効化されます。ここでは全てのプラグインを無効化する手順です)
pluginstop03

「一括操作」と表示されているプルダウンメニューをクリックして「停止」をクリック。
pluginstop04
「適用」ボタンをクリック。上の画像のようにプラグインの「すべて(3)」はプラグインが3つインストール済みの意味で、「停止中(3)」が停止中の数を表していて、これで全て停止中だとわかります。

FTPソフトでWordPressにアクセス設定しておく

ここからがいよいよWordPressに変更を加えてマルチサイト設定にします。
マルチサイトへの設定にはWordPressの一部のファイルをローカルにダウンロードして書き換えてまた、もとに戻します。アップロードするわけです。ですからfftpなどFTPソフトでアクセス設定しておく必要があります。

エックスサーバーでのFTPソフト設定

エディタソフトをWordPress編集設定しておく

WordPressの2つのファイルをこちらのPC側にサーバー側からダウンロードして編集します。文字コードなどエディタソフトをWordPressファイルとして動くように合わせる必要があります。そのためエディタソフトを設定を確認、変更しておくひつようがあります。
フリーエディタソフト「TeraPad」をWordPressファイルの編集に使う設定

「wp-config.php」と「.htaccess」を変更してアップロード1回目

ここからがいよいよWordPressに変更を加えてマルチサイト設定にしていきます。と言ってもその設定は数行の変更だけです。しかし慎重に行わないとWordPressにアクセス不能になって、WordPressを削除してインストールから全てやり直しになるので、注意が必要です。

エックスサーバーでは「.htaccess」については「ServerPanel」から編集も出来ます。
xserverwordpress18
ダウンロードしなくてブラウザ上で「.htaccess」編集が可能です。
ただしこの場合も編集前のデフォルト状態の「.htaccess」ファイルをローカルにダウンロードしておかないと、設定ミスなどがあった場合に編集した部分を全て把握しておかないと元に戻せなくなって、最悪WordPressにアクセスできなくなることもあるので注意が必要です。
ここではダウンロードして編集してアップロードしていきます。

ffftpconnect03

xserverへのffftpでのアクセス設定でProfile Nameを「xserver」としています。Profile Nameは任意に自分でどこのサーバーにアクセスするのかわかれば自分用ですから何でもいいのですが、わかりやすいほうがいいかと思います。
*事前にxserverへのFTP設定をffftpに設定してあります。 エックスサーバーでのFTPソフト設定

FTPソフトでWordPressに接続すると「wp-config.php」「.htaccess」をローカルに保存します。
ドメインフォルダが表示されてその下に「public_htmlフォルダ」があります。その中にWordPressファイルが保存されています。
xserverwordpress19
私のサイトの場合だとWordPressはドメイン直下にインストールしたので「kuchikomi.comフォルダ」内にあるので、その「kuchikomi.comフォルダ」をクリックします。

xserverwordpress20
「public_htmlフォルダ」をクリックすると下のように「wp-config.php」「.htaccess」が表示されます。

wordpressremote02

ローカルに「wp-config.php」「.htaccess」保存したら必ずバックアップ用にも保存しておきます。
ローカルに保存した「wp-config.php」をエディタソフトで開きます。行番号が表示されるエディタソフトを使ったほうが間違いを防げます。

ここではフリーソフトのTerapadで編集します。
(*すでにWordPressファイルを扱う設定済みです。
フリーエディタソフト「TeraPad」をWordPressファイルの編集に使う設定
Terapadで「wp-config.php」を開いて、
/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */
という行を検索します。その上に以下の一行を記入します。必ずテキストとして記入してください。

define('WP_ALLOW_MULTISITE', true);

wp-configphp01

WordPress 4.6.1では86行目、かなり下方にあります。バージョンによってまた行数は変わる可能性があります。

xserverwordpress26
とくに行数にこだわる必要はありませんが、

/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */
「/* 編集が必要なのはここまでです ~」の文章のすぐ上に挿入して下さい。

ffftpwpconfigupload01

編集したら必ず上書き保存をして元の「ドメイン/public_html」にアップロードします。
アップロードも元の「wp-config.php」を削除していなければ「Overwrite existing file」(上書きする)を選択してアップロードします。間違ってバックアップ用の編集していない「wp-config.php」をアップロードしないか注意してください。

dashboard01

ダッシュボードの左側のメニューの「ツール」→「ネットワークの設置」をクリックします。

先ほどの「wp-config.php」への編集を行ったら表示されます。表示されなければWordPress、エックスサーバーから一度ログアウトして再びログインして確認してみてください。先ほどの挿入したテキストが有効化されている場合にこの表示が出ます。もし出なかったら「wp-config.php」をダウンロードし直して上書き保存されているか、タイプミスなど無いか見直す必要があります。

「ネットワークの設置」クリックで、「WordPress サイトのネットワークの作成 」ページが表示されます。
xserverwordpress78

上部に

“注意: Apache mod_rewrite モジュールがインストールされているか確認してください。インストールの最後に必要になります。mod_rewrite が無効化されている場合は、システム管理者に有効化を依頼してください。または、Apache の解説(英語)や他のリファレンスを読んで設定を行ってください。”
xserverwordpress48

と表示されますが、「.htaccess」に

# BEGIN WordPress
<IfModule mod_rewrite.c>

とあればOKです。
xserverwordpress49
21行目あたりでしょうか

〇サブドメイン
●サブディレクトリ

サブドメインとサブディレクトリとココで選択できるようになっています。
私はサブディレクトリを選択します。

xserverwordpress55
サブドメインとサブディレクトリ選択する場合に例にあるように
ドメイン手前にsecure.xserver.ne.jpのような形がサブドメイン
ドメイン後ろに/がついてxserver.ne.jp/secureの形になるのがサブディレクトリです。
サブドメインとサブディレクトリでどちらが適しているか、あるいはSEO的に有利でGoogle検索上位になるのかは常に最新の情報で変わります。作成する種類と数と内容にもよっても変わるでしょう。
画像の場合は「サブディレクトリ」を選択しています。

xserverwordpress79
確認と選択をしましたら左下の「インストール」ボタンをクリックします。
「wp-config.php」と「.htaccess」に編集を加えるテキストが表示されます。

「wp-config.php」と「.htaccess」を変更してアップロード2回目

「wp-config.php」編集

「wp-config.php」をTerapadで編集します。
バックアップしたwp-config.phpじゃなくて先ほど「define('MULTISITE', true);」を書き入れた「wp-config.php」がローカルにあるはずです。もし削除していたり見つからなかったらFTPソフトでアップロードしたwp-config.phpをローカルにダウンロードしても大丈夫です。
xserverwordpress57

「WordPress サイトのネットワークの作成」ページでは上のようになっているのでコピーしてwp-config.phpの先ほど編集する際に挿入したテキストの下に、同じくまたテキストとしてペーストし挿入します。
行数はWordPressのバージョンやペーストの仕方と位置などによって多少は前後します。

wp-configphp03

/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */ の上部にペーストしてください。
マルチサイトのサブディレクトリ型を私は選択したのでSUBDOMAIN_INSTALLがfalseになっています。

タイピングするとコロン、セミコロン、スペースなど間違えたりしがちですからコピペの方が安全ですけど、HTMLタグなどが記入されないことを確認して下さい。
ffftpwpconfigupload01

編集したら必ず上書き保存をして元の「ドメイン/public_html」にアップロードします。テキストを挿入しても上書き保存せずにアップロードすると意味が無いので確認してください。
アップロードも元の「wp-config.php」を削除していなければ「Overwrite existing file」(上書きする)を選択してアップロードします。

「.htaccess」編集

xserverwordpress80

上は先ほどwp-config.php ファイルに追記しました。次は下の内容を.htaccess ファイルに置き換えします。
「wp-config.php」ファイルは新たなテキストの挿入ですが「.htaccess」ファイルは
「次の内容を /home/ryoko/kanko.biz/public_html/ にある「.htaccess」ファイルへ追加して、他の WordPress ルールを置き換えてください:」
とあるので注意してください。

ただし間違った部分と置き換えてしまうとWordPressへアクセスできなくなって、WordPress再インストールになるので注意してください。必ず「.htaccess」ファイル編集前にわかるところへ保存しておく必要があります。

htaccess_henshu01
エックスサーバーの「.htaccess」ファイルをダウンロードして
RewriteEngine On~

RewriteRule . index.php [L]
の部分を置き換えて保存してアップロードして上書き保存しました。
くれぐれも「.htaccess」ファイルの置き換え部分以外の他の部分は触らないようにしてください。
「.htaccess」ファイルの仕様はエックスサーバーの仕様変更にともない変わることもあるので、
RewriteEngine On~

RewriteRule . index.php [L]
を書き換えをして、書き換え前にバックアップをとっておいてください。

xserverwordpress81
有効化するために「ログイン」をクリックします。これはWordPressをいったんログアウトするのでまた再度ログインします。

xserverwordpress82
「参加サイト」→「サイトネットワーク管理」で親ダッシュボード、全体を統括するダッシュボードを表示します。

xserverwordpress83
親ダッシュボードでは「サイト」メニューをクリックするとすべてのサイトの一覧が表示されます。
子サイトを作成するときはここから「新規作成ボタン」をクリックして作成します。

xserverwordpress84
テーマを追加するときも「テーマ」メニューをクリックして「新規作成ボタン」をクリックして、アップロードします。以前はどうなのかわかりませんが、親ダッシュボードでテーマを新しいものを有効化してそれまで使っていたテーマを無効化しても、子サイトではそれまで使っていたものが表示されます。変更するときは子サイトのダッシュボードでテーマ変更する必要があります。

参考にさせてもらったサイト
http://ryus.co.jp/blog/wordpress-multisite1/#i-3
https://webboy.jp/multisite_blog/

マルチサイトでURLにblogカテゴリーが挿入されるので削除する

マルチサイト設定したドメインURLにblogカテゴリーが挿入されてしまいます。例を挙げるとのサイトでは「https://kuchikomiwebsite.com/blog/post-4752/」というURLになります。カテゴリー設定して無くてもURLに「blog」が勝手に挿入されます。子サイトには挿入されないので心配する必要はありませんが、URLに「blog」が必要も無いのに挿入されます。もちろん「/blog/」を挿入する予定だった場合はそのままで良いのですが、多くの場合は好きなカテゴリーにしたりムダに長いURLは邪魔です。「/blog/」をURLから削除します。

サイト一覧ページを表示させます

親サイトのサイト一覧ページを表示させるため「サイト」をクリックしている画像
左上メニューの「参加サイト」をクリックします。プルダウンメニューが表示されるので一番上の「サイトネットワーク管理」にマウスをあわせます。右にメニューが表示されるので上から二番目の「サイト」をクリックします。

すべてのサイトで親サイトの「編集」をクリックしている画像
マルチサイト設定してあるサイトURLが一覧で表示されます。一番上に親サイトURLが表示されるのでそこにマウスをを合わせると「編集| ダッシュボード| 表示」という文字がURL下に表示されます。左側の編集をクリックします。

設定タブを赤く囲んだ画像
右側の「設定」とあるタブをクリックします。

マルチサイトでPermalink-StructureとCategory-Baseの値を赤く囲んだ画像
「Permalink Structure」の右側に「/blog/%postname%/」とあるので「/%postname%/」とします。

Permalink-Structureを変更した所を赤く囲んだ画像
「/blog/」をカットしてに「/%postname%/」に変更しました。

変更を保存ボタンの画像
忘れずに左下角にある「変更を保存」ボタンをクリックします。

-multisite, WordPress