WordPressをしばらく運用してきたというあなた。ともすると、既に複数のサイトをお持ちでしょうか?そのサイト間にいくらかの共通点があるなら、こう疑問に思われるかもしれません。完全に別々のサイトとして管理するよりももっと効率的な方法はないものかと。
WordPressマルチサイトが解決策になり得ます。単一のWordPressインストールデータ上にネットワークを作成することができます。つまり、そのネットワークで必要な数のサイトをすべてWordPressの1つのインスタンスだけで実行できるということです。好例がWordPress.comです。数百万のサイト(それぞれのユーザーが登録して作成)を扱うWordPressマルチサイトとして機能しています。
今回の記事では、WordPressマルチサイトをインストールして最大限に活用するために知っておくべき大事な点をご紹介したいと思います。話の流れは以下の通りです。
WordPressマルチサイトは多くの側面を持った話題のトピックです。しかも理解するのは決して難しくありません。この記事を読むだけで、WordPressマルチサイトネットワークを管理するために必要なすべての知識が身に付きます。
それでは、WordPressマルチサイトとは何かを正確に理解するところから始めましょう。
WordPressマルチサイトとは?
WordPressマルチサイトとはつまり、WordPressに複数のサイトを追加することを意味します。既存のサイトに追加することも、新しく作成して実施することもできます。
WordPressマルチサイトを有効にするには、WordPressのいくつかのファイルに数行のコードを追加します(これについては後ほと詳しくご説明します)。次に、ネットワーク内でサイトを作成します。既存のサイトはそのまま(URLは変更されません)で、その上に新しいサイトが追加されるかたちになります。
普通のWordPressサイト VS WordPressマルチサイト(主な違いとは?)
- 個々のサイトの数
- WordPressユーザーの役割:マルチサイトを有効にすると、ネットワーク管理者という役割が追加される
- テーマとプラグインへのアクセス:ネットワーク管理者のみがインストール可能
- 管理画面:マルチサイトには、ネットワークを管理するための画面がいくつか追加される
- メディアの保存方法:マルチサイトでは、各サイトへのアップロード用に個別のフォルダーが追加される
- データの保存方法:マルチサイトではサイトごとに個別のデータベーステーブルが作成されるものの、一部のデータ(ユーザーなど)はネットワーク全体でまとめて保存される
上の内容を詳しく見てみましょう。
WordPressマルチサイトにおけるユーザーの役割:管理者からネットワーク管理者へ
WordPressマルチサイトをインストールすると、あなたは、ネットワーク上に作成した全サイトの管理者権限を持つネットワーク管理者になります。また、他のユーザーがネットワーク内に独自のサイトを作成できるようにして、そのサイトの管理者とすることもできます。
サイト管理者の権限は、ネットワーク管理者よりも低いものになります。ネットワーク管理者はテーマとプラグインをインストールでき、サイト管理者はサイトに対してそれらを有効化できるものの、新しくインストールすることはできません。これにより、ネットワークを危険にさらす可能性のあるコードをサイト管理者が追加できなくなり、ネットワークを安全に保つことができます。
サイト管理者は(自分のサイトで)新しいユーザーを追加できますが、そのユーザーは自分が追加された個々のサイトにのみアクセスでき、ネットワーク上のすべてのサイトにはアクセスできません。ユーザーデータはネットワーク全体でまとめて保存されるため、別のアカウントを追加しなくても、既存のユーザーがより多くのサイトにアクセスできるようにすることができます。WordPressマルチサイトがユーザーデータやその他のデータをどのように保存するかについては、記事の後半でご説明します。
WordPressマルチサイトとドメイン名
標準的なWordPressサイトとマルチサイトネットワークのもう1つの重要な違いは、ドメイン名です。ネットワークのURLは、設定の土台となっているサイトと同じになります。したがって、サイトのURLがmysite.comであれば、ネットワークもそのアドレスに位置します。
マルチサイトを有効にするときに、サブドメイン(site1.mysite.com)かサブディレクトリ(mysite.com/site1)かどちらを使用するか決めます。他のドメインをネットワークにマッピングして、個々のサイトが独自のドメインにあるかのように動作させることもできます。その場合、各サイト利用者からは、それぞれが独自のWordPressをインストールして機能しているように見えます。
WordPressマルチサイトネットワークの世界最大の例は、WordPress.comです。ママブロガーから大企業まで、さまざまな規模感の何百万ものサイトがホストされており特別かつ複雑な方法(各ユーザーが心配する必要すらない)でデータを管理することで、これが実現しています。中には、WordPressマルチサイトを使用してより個性を出すことに成功している例もあります。この記事内でいくつかの例をご紹介します。
ともすると「マルチサイトを利用することで、複雑さが増すようなので、個別に複数のWordPressサイトを所有する方が管理が簡単ではないか」とお思いかもしれません。しかし、マルチサイトには多くの利点があるので、その辺りを詳しく見てみましょう。
WordPressマルチサイトの強み
最初に告白しなければならないことがあります。私の意見は、非常に主観的です。私は大がつくWordPressマルチサイトのファンで、個人サイトやクライアントサイトの作成に何年も使用しています。
しかし、そんな偏愛には理由があります。それは、WordPressマルチサイトが優れたツールであるためです。 複数のWordPressサイトを運営する際には、時間を節約し、効率を高めることができます。
マルチサイトは、次に該当する場合には便利です。
- 管理するすべてのサイトに同じ顔ぶれのプラグインをインストールしている(パフォーマンス、セキュリティ、SEOなど)
- 複数のサイトで親テーマとしてフレームワークテーマを使用している
- ブランディングや構造などの共通の要素を持つ、組織のさまざまな支部や部門のサイトを開発した
- 開発や管理に時間をかけたいにも関わらず、複数サイトの更新だけに長時間を費やしてきた
これらのメリットを詳しく見てみましょう。
コードがより効率的になる
1つのネットワーク内で複数のサイトを管理すると、コードが少なくなります。有効化されているサイトの数に関係なく、コアのWordPressファイルは1セットだけで、各テーマとプラグインのデータも1つだけになります。
これは、サイトごとに個別のWordPressをインストールする場合よりも、ネットワークが使用するサーバー容量が少なくなることを意味します。普通、追加するサイトが多いほど、これは大きくなります。結果的にホスティング費用とコードを最新の状態に保つための時間を節約できます。
開発がより効率的になる
カスタムテーマでサイトを開発する際には、出発点として基本となるテーマを使用することがあります。これは、フレームワークテーマにも、単純な親テーマにも、またはスターターテーマにもなり得ます(関連記事: WordPressテーマをカスタマイズする方法)。
マルチサイトでは、そのWordPressテーマを一度インストールしてしまえば、ネットワーク内の個々のサイトで有効化し親テーマとして使用して、時間を節約できます。
クライアントを持ち仕事を始めた当初、すべてのサイトについてフレームワークテーマを開発していました。すべてのクライアントのすべてのサイトに新しくWordPressをインストールして、そこに親テーマを加え、その下に子テーマを作成するといった具合です。そして今では、マルチサイトネットワークにそのフレームワークテーマをインストールし、各サイトには独自の子テーマを用意しています。
これは、サイト間に共通の構造がある場合に特に力を発揮します。たとえば、会社の複数の部門について個別のサイトを作成する場合、共通するデザイン、レイアウトの要素を使用して親テーマを作成し、各サイトには子テーマを用意して、関連するサイトごとに有効化できます。
これにより、親テーマの複数のインスタンスの保存(および更新)が省けるだけでなく、ネットワーク内の他のサイトのコンテンツを表示できるようになります。個々のサイトのコレクション以上のものが作成できるでしょう。
管理がより効率的になる
WordPressマルチサイトネットワークを最新の状態に保つことは、複数のWordPressサイトに対して同じことを行うよりもはるかに効率的です。
有効なサイトの数に関係なく、ネットワーク内のすべてのプラグインとテーマを一度更新するだけで済みます。
ちなみに複数のサイトで特定のテーマまたはプラグインを使用する際には(該当するすべてのサイトでのチェックが必要になるため)確認作業が重要です。Kinstaではステージング環境を使用し、更新をテストして、すべてが正常に機能することがわかった上で本番環境に適用できます。
WordPressマルチサイトの最も一般的な使用例
WordPressマルチサイトを使用する方法はたくさんありますが、いくつかの例を見てみましょう。
個人サイト
複数の個人サイトを運営している場合、それらを1つのマルチサイトに移行すると、管理の時間を節約できます。実は私はこの方法を採用しています。自分のすべてのサイトを単一のマルチサイトネットワーク上で管理していますが、その理由は3つあります。
- サイト間には共通のコード(親テーマと多数のプラグイン)がある
- ホスティングスペース、更新の時間が節約できる
- ネットワーク内のあるサイトのデータを別のサイトに表示できるようにしたい
私はドメインマッピングを使用して、個々のドメイン名を各サイトに割り当てています。ユーザーからすれば、各サイトは完全に独立したもののように見えます。
クライアントのサイトのホスティング
クライアントサイト構築を始めた頃、各サイトにインストールするWordPressプラグインのチェックリストがありました。また、同じ親テーマを使用していました。
そしてWordPressマルチサイトに出会い、すべてのサイトを1つのネットワークに移行し、そこでコードを更新することで、作業が効率的になることに気付きました。また、安全確保とバックアップの対象となるWordPressは1つだけです。これらすべてが、時間と手間の節約になります。
ドメインマッピングを使用してクライアントのドメインをサイトにマッピングできます。これは、管理画面とパブリックサイトに適用されます。このようにして、クライアントはマルチサイトを使用してサイトがホストされているという事実を心配する必要はありません(ちなみに、私のクライアントはそもそもこれに反対していませんが)。
ビジネスサイト
ビジネスの部門ごとにサイトを分けて運営している場合は、WordPressマルチサイトの使用が非常に効果的です。
更新するWordPressは1つだけでOKで、サイト間でデータとユーザーを共有でき、ネットワーク全体で同じ親テーマとプラグインを使用できます。これにより、サイトを開発するときや後で管理するときに時間を節約できます。
BBCアメリカは、増え続けるサイトに対応するためにマルチサイトネットワークを使用する典型例です。各番組が1つのサイトを持ち、それらが1つのネットワーク上で管理されています。
イントラネット
一般向けにマルチサイトを使用するのが適切でない場合でも、こんな用途もあります。会社のイントラネットにマルチサイトを使用すると、1つの大きなWordPressサイトや複数の小さなサイトを使用するよりも効果的です。
会社のイントラネットにマルチサイトを使用すると、次のことが可能になります。
- 各部門に個別のサイトを用意し、従業員が適切なサイトにアクセスできるようにする
- 従業員をユーザーとして一度だけ追加し、後から必要なサイトへのアクセスを許可する
- 中央サイトからの更新情報を個々のサイトのトップ画面に表示するなど、サイト間でコンテンツを共有
ユーザー管理だけでも、このオプションは他のどのアプローチよりもはるかに効率的です。
コミュニティネットワーク
コミュニティグループや組織にはオンラインにおけるプレゼンスが欠かせませんが、これにはお金がかかるものです。マルチサイトネットワークを使用して複数のグループのサイトをホストすると費用が節約でき、さらにグループが互いに支え合う機会も促進できます。
サイトのユーザーによるお互いのブログのフォローや、管理画面を通した相互のやり取りを可能にするプラグインをインストールしたり、サイト間でコンテンツを共有したりすることもできます。
ホスティングの費用に関してWordPressは1つだけで事足りるので、大幅なコスト削減が可能になります。
WordPressマルチサイトは慈善団体、非営利団体、教育機関で使用されています。たとえば、ブリティッシュコロンビア大学では、マルチサイトを使用して教職員や学生向けのブログネットワークをホストしています。
収益化
マルチサイトネットワークは、WordPressでお金を稼ぐための素晴らしい手段になり得ます。WordPress.comは、ネットワークを介してサイト構築の機会を提供することで収益を上げるビジネスの一例です。他にも、教育サイトやブログをホストするedublogsなどがあります。
ベースサイト(最初にマルチサイト有効化のために土台として使用するサイト)を使って、他のユーザーがネットワーク上に独自のサイトを作成できるようにするページを管理できます。無料にすることも、課金することも可能です。また、無料から有料まで、ブログ作成者に対しさまざまな階層のプランを提供することもできます。
ネットワーク管理者を介して、ブログ所有者にサポートを提供したり、通知や更新を介してブログの所有者とやり取りしたり、ユーザーのコミュニティを構築したりできます。
と言うわけで、これもマルチサイトの1つのアイデアです。次に、WordPressサイトで実際にこれを有効化する方法を見てみましょう。
WordPressマルチサイトをセットアップ、有効化する方法
WordPressマルチサイトのセットアップに関しては、2つの道筋があります。新しくサイトを作成して有効化するか、既存のサイトに追加するかです。どちらでも問題ありませんが、両者にはいくつかの違いがあります。
1つ目の方法から考えましょう。新しいサイトでWordPressマルチサイトを有効化する方法がこちら。
Kinsta自動インストーラーを使用してWordPressマルチサイトを有効化する
ホスティング会社の提供する自動インストーラーを使用してWordPressをインストールするという人は、マルチサイトを有効化するオプションも同時に利用できるかもしれません。ご確認ください。
MyKinstaを介してWordPressをインストールするとき、マルチサイトを同時に有効化するオプションが利用できます。WordPressマルチサイト有効化のボックスにチェックを入れるとマルチサイトが新しいサイトで有効になります。また、サブドメインとサブディレクトリのどちらかを選択するオプションもあります(詳しくは後述します)。
マルチサイトを手動で有効化する
手動でこれを行うには、WordPressファイルにアクセスする必要があります。SFTPとコードエディターを使用してファイルにアクセスします。編集するのは2つのファイルで、.htaccessとwp-config.phpです。どちらもWordPressのベースフォルダーにあります。作業を始める前に、両方のバックアップを作成してください。そしてサイト全体のバックアップも取ることをお勧めします。
まず、コードエディターでwp-config.phpファイルを開きます(無料のお勧めHTMLエディター10選をご覧ください)。ファイルの中にある、次の行を見つけてください。
/* That's all, stop editing! Happy blogging. */
そのすぐ上に、次のコードを貼り付けます。
define( 'WP_ALLOW_MULTISITE', true );
そしてファイルを保存してください。
ブラウザからサイト管理者画面にアクセスします。そこにネットワーク設定画面が作成されているはずです(「ツール」>「サイトネットワークの設置」を使用)。
サブドメインかサブディレクトリか、という、ネットワークの設定方法を尋ねる画面が表示されます。
お好きなオプションをご選択ください(違いについては、後述します)。関連するフィールドにネットワークのタイトルと管理者のメールアドレスを入力し、「インストール」ボタンをクリックします。
「ネットワーク設定」画面が表示されます。コードが表示されるので、それをwp-config.phpファイルと.htaccessファイルにコピーして貼り付けましょう。
2つのファイルを開き、この画面のコードを指示の通りにコピーして貼り付けます。
注意:あなたのサイトは私のサイトとは異なるため、実際のコードは上のスクリーンショットのコードとは別の物になります。ご自身のコードをお使いください。
2つのファイルを保存して閉じ、サイト管理者の画面に戻ります。「ネットワーク設定」画面に表示されるリンクをクリックして、ネットワークにログインします。いつも使用しているのと同じログイン情報を使用します。
これで、管理画面が少し変わったはずです。上部のツールバーに「参加サイト」そして「ネットワーク管理者」という項目が表示されているでしょうか。
「参加サイト」の上にマウスを置くと、ネットワーク管理画面に移動できる別のメニューが表示されます。「ダッシュボード」のリンクをクリックして、ネットワークダッシュボードに移動します。
このダッシュボードの見た目は、普通のWordPressサイトのダッシュボードと瓜二つです。しかし、ネットワーク自体にはコンテンツがないため、投稿、クイック編集など、コンテンツに関連するものはありません。そのような機能は全て個々のサイトが担っています。
左側の管理メニューも異なります。「サイト」という新しい項目があり、サイトの追加と管理に利用できます。そして、他のメニューのいくつかも少し違います。時間をとって操作してみてください。この画面を使用してネットワークを管理する方法は、記事の後半でご説明します。
既存のWordPressサイトでWordPressマルチサイトを有効化する
既存のWordPressサイトでのマルチサイト有効化は、上と同じ手動での作業になります。ただし違いが1つあります。サイトが1か月以上前のものである場合は、サブディレクトリを使用できません。
これは、サイトに追加したコンテンツが多いほど、既存の投稿とページのURLとネットワーク内の新しいサイトのURLが衝突するリスクが高くなるためです。
McCollin Paintsというビジネスのサイトを作成したとします。このサイトには、McCollin Varnishesという副次的な部門があります。URLは、mccollin-paints.com/mccollin-varnishesという構造だとします。その上で、ネットワークを作成し、McCollin Varnishes用の新しいサイト加えます。サブディレクトリを選択した場合、そのサイトは既存のページのURLとまったく同じURLを持つ可能性があります。WordPressは、ユーザーがそのURLにアクセスしたときに、どちらのコンテンツを表示すべきか判断できません。そして、サブドメイン(mccollin-varnishes.mccollin-paints.com)が選ばれることになります。 (もしMcCollin Paintsと呼ばれるビジネスが既にありましたら、例として使ってしまいお詫び申し上げます!)
WordPressマルチサイト:サブドメインとサブディレクトリ
サブドメインとサブディレクトリについてはすでに言及しました。新しいWordPressサイトでマルチサイトを有効化するとき、いくつかの選択肢が与えられます。それぞれの違いは次のとおりです。
- サブドメインを使用すると、各サイトがhttps://site1.yournetwork.comのようなURL構造を持つことになります。他のユーザーがネットワーク上にサイトを作成できるようにしたい場合に適しています。
- サブディレクトリを選択すると、各サイトはhttps://yournetwork.com/site1のようなURL構造になります。既にサイトを1か月以上運営している場合には、このオプションはありません。サブドメインを使用する必要があります。
もちろん、私が自分のネットワークで行っているように、 ドメインマッピングを使用して固有のドメイン名をネットワーク内の各サイトにマッピングすることもできます。この場合には、(実際には表示されないため)サブドメインを使おうがサブディレクトリを使おうが、どちらでも違いはありません。
WordPressマルチサイトのCookieエラーの解決方法
WordPressマルチサイトにログインする際、Cookieに関するエラーが発生することがあります。
Cookieがブロックされているか、ブラウザでサポートされていない可能性があります。WordPressを使用するには、Cookieを有効化してください。
この一般的なエラーは、特定のマルチサイトの構成、特に独自ドメインマッピングを使用したもので発生します。解決するには、以下のコードをwp-config.phpファイルに貼り付けてください。
define('ADMIN_COOKIE_PATH', '/');
define('COOKIEPATH', '');
define('SITECOOKIEPATH', '');
define('COOKIE_DOMAIN', false);
WordPressマルチサイトネットワークでサイトを管理する方法
ネットワークの設定が完了しました。次のステップとして、サイトを追加しましょう。これには2つの方法があります。管理画面を使用する方法と、メインサイトのフロントエンドを使用する方法です。まずは管理画面を介した方法から始めましょう。
WordPressマルチサイト:WordPress管理画面からサイトを追加する
ネットワーク管理者ダッシュボードで、左側のメニューにある「サイト」リンクをクリックします。既に追加している場合には、それが表示されます。まだの場合には何もサイトは表示されません。
新しいサイトを作成するには「新規追加」ボタンをクリックして「サイトを追加」画面に移動します。
新しいサイトの情報を入力して、「サイトを追加」ボタンをクリックします。「サイト」画面に戻ると、新しいサイトが表示されているはずです。カーソルを名前の上に置くと、いくつかのリンクが表示されます。
- 編集– 設定の編集を行います(コンテンツの編集ではない)
- ダッシュボード– サイトダッシュボードにアクセスして、そこから新しい投稿や固定ページを追加し、サイトの設定をすることができます。
- 停止–サイトを無効化して、誰もアクセスできないようにします。
- アーカイブ化– 訪問者やサイト管理者がサイトにアクセスできないようにしつつ、削除はしません。
- スパム– そのサイトを作成したユーザーがこれ以上サイトを作成できないように、スパムとしてマークします。
- 削除– サイトとそこにあるすべてのデータを削除します。
- 表示– サイトのフロントエンドに移動します。
ここで最も便利なオプションは「編集」です。これをクリックすると、サイト編集画面が表示されます。
これは、私の実際のネットワーク上に存在するサイトの例です。
ここでは、ドメイン名やタイトルなど、サイトのメインの設定を変更できます。テーマ画面にアクセスして、このサイトで有効にするテーマを指定することもできます。
自分のサイト群またはクライアント向けに複数のサイトをホストしている場合は、サイトごとに1つのテーマを有効にすることをお勧めします。ユーザーが独自のサイトを作成できるネットワークの場合は、複数のテーマをネットワーク上で有効にする必要があります。これは、ネットワーク管理者のメインのテーマ画面から操作できます。
普通のWordPressサイトとは異なるため、記事の後半では、ネットワーク内でテーマやプラグインを管理する方法について詳しく見ていきます。
WordPressマルチサイト:フロントエンドからサイトを追加する
誰でも独自のサイトを作成できるようにする場合、ユーザーはメインサイトの/wp-signup.php画面からこれを行うことになります。
これにより、画面が表示され、そこから既存のユーザーアカウントでログインしてサイトを作成したり、サイトとユーザーアカウントの両方を同時に作成したりできます。
管理画面から自分でサイトを作成したいだけの場合は、サインアップを無効にできます。「サイトネットワーク管理」>「ネットワークの設定」に移動し「新規登録を許可しない」ボタンを選択します。
管理画面からサイトを作成すると、そのサイトの管理者権限が付与され「参加サイト」ドロップダウンメニューに表示されます。他の誰かがサイトを作成した場合、あなたにはサイト管理者権限は付与されず、前述のリストにも表示されません(ただし「サイト」画面を使用して、自分をいつでもサイト管理者としてサイトに追加できます)。
WordPressマルチサイトとドメインマッピング
ドメインマッピングは、マルチサイトにおける私のお気に入りの機能の1つです。これにより、ドメインをネットワーク内のサイトにマッピングし、そのドメインでホストされているかのように動作させることができます。
補足:WordPressバージョン4.5までは、これを行うにはプラグインが必要でした。今はプラグインなしで可能です。
ドメインをサイトにマッピングするには、まず、ドメイン側からネットワークに向けて設定する必要があります。Kinstaであれば、MyKinstaでドメインを追加し、それがサイトを指すように設定します。
ドメインがネットワークを指すように設定し終えたら、ドメイン名をサイトの設定に追加します。ネットワーク管理画面で、「サイト」に移動し、マッピングするサイトの下にある「編集」をクリックします。サイト編集画面で、ドメイン名を追加します。
「変更を保存」ボタンをクリックすると、そのサイトで(ネットワークのサブドメインやサブディレクトリではなく)新しいドメインが使用されるようになります。
WordPressマルチサイトネットワークでサイトを複製する
ネットワーク内での新しいサイト作成時には、既存のサイトの複製を作成することで時間を短縮できる場合があります。これを有効にするには、MultiSite Clone DuplicatorやNS Cloner – Site Copierなどのプラグインをインストールしてネットワーク全体で有効化します。
これにより、サイト設定画面でサイトの名前にカーソルを合わせると「クローン」または「複製」リンクが表示されます。これをクリックして、サイトの複製を作成します。
WordPressマルチサイトネットワークでサイトを停止または削除する
ネットワーク上のサイトの運営を停止したいこともあるでしょう。使わなくなった個人的なサイトかもしれませんし、ホスティングプランをキャンセルしたクライアントの所有していたサイトもあり得ます。
ネットワークからサイトを削除するには、いくつかの方法があります。その選択肢を利用するには、「サイト」画面に移動し、サイト名の下にある該当するリンクをクリックします。
- 停止:これをクリックするとサイトが無効になるため、誰もアクセスできなくなりますが、ファイルやデータは削除されません。サイト管理者は今まで通りアクセスできます。
- アーカイブ化:これを選択すると、訪問者やサイト管理者はサイトにアクセスできなくなりますが、サイトは削除されません。
- スパム:サイトをスパムとしてマークし、サイトを削除して、そのサイトを作成したユーザーがこれ以上サイトを作成できないようにします。
- 削除:サイトとそのすべてのデータを削除します。
WordPressマルチサイトのユーザー権限
マルチユーザー(複数のユーザーで管理)のWordPressマルチサイトの設定は、標準的なWordPressサイトと似ていますが、やや異なる点があります。
複数のユーザーがいるWordPressマルチサイトでは、特権管理者(ネットワーク管理者)とサイト管理者がユーザーの追加と管理を行うことができます。違いとして、サイト管理者は自分のサイトのユーザー権限しか削除できません。ネットワークの他のユーザーを削除することはできません。
ユーザーをネットワーク管理者(別名特権管理者)として追加する
ユーザーをネットワーク管理者として追加するには、ネットワーク管理画面で「ユーザー」>「新規追加」へと移動します。
ここにユーザー名とメールアドレスを入力します。ユーザーには、パスワードを設定してログインするよう招待メールが送信されます。
ユーザーを追加すると、普通のWordPressサイトと同じように、「ユーザー」画面からユーザーを編集できます。次に、ユーザーに「特権管理者」という特別な権限を付与することができます。
ユーザーをサイト管理者として追加する
サイト管理者は、ユーザーをサイトに追加することができます。 ネットワークに既に存在するユーザーを追加することも、まったく新しいユーザーを追加することもできます。サイト管理画面からこれを行うには、「ユーザー」>「新規追加」に移動します。
既存のユーザーについては、メールアドレスまたはユーザー名を指定し、そのサイトでの役割を決めるだけでOKです。ネットワークに新しく追加する場合、ユーザー名(他と重複しないもの)とメールアドレスが必要です。確認メールをスキップする場合には、ユーザー管理画面から自分でパスワードを割り当てる必要があります。当然WordPressにメールを送ってもらう方が簡単です。
ユーザー権限の設定と管理(サイト管理者とネットワーク管理者)
サイト管理者とネットワーク管理者(別名特権管理者)の両方がユーザーを追加し、特権と情報を編集できますが、ネットワーク管理者はさらに多くのことができます。
ネットワーク管理者は「ユーザー」画面に移動してユーザーを管理できます。ここで、各ユーザーについて、権限を持ち編集画面にアクセスできるサイトが確認できます。
サイトに対するユーザーの権限を変更したり、サイトから削除したり、サイトに追加したりするには、サイトの編集画面に移動します。「サイト」画面に移動、対象のサイトの「編集」をクリックし「ユーザー」タブを選択します。
ここから、サイトのユーザーの特権を変更したり、ユーザーを削除したり、追加したりできます。
サイト管理者は、自分のサイトの各ユーザーのユーザー情報を編集したり、削除したりできます。「ユーザー」画面に移動し、ユーザーをクリックして編集画面にアクセスします。ここから、普通のWordPressサイトの場合と同じ方法で、情報を編集・役割を変更できます。
ユーザーの削除(サイト管理者とネットワーク管理者)
ネットワーク管理者は、個々のサイトまたはネットワーク全体からユーザーを削除できます。サイト管理者は、自分のサイトからのみユーザーを削除できます。
ネットワーク管理者であれば、「ユーザー」画面に移動し、該当するユーザーの横にあるチェックボックスを選択して、ユーザーのリストの上にある「一括操作」ドロップダウンリストを選択します。ここから、ユーザーを削除したり、スパムとしてマークしたりできます。スパムとしてマークすると、ネットワークに今後登録することもできなくなります。
サイト管理者は「ユーザー」画面で、サイトからユーザーを削除できます。ユーザー名の横にあるチェックボックスを選択し、「一括操作」ドロップダウンリストの中にある「削除」をクリックします。
ユーザーとセキュリティ
他のユーザーがネットワーク上にアカウントを作成し自らのサイトを作成することが可能であるため、セキュリティについて懸念が生じることもあるでしょう。
ここで朗報です。必要なアクセスレベルに合わせてネットワーク設定を調整することも、メールドメインをブロックしてセキュリティを強化することもできます。
ネットワーク管理画面で、「設定」>「ネットワークの設定」に移動します。ここにある「登録設定」セクションに、セキュリティを強化し、アクセスを制限するために使用できるフィールドが表示されます。
- 新規登録の許可:新規ユーザーが登録できるかどうか、サイトに初めて登録するユーザーがサイトを作成できるか、既存のユーザーだけが作成できるかを指定します。サイト登録機能を停止して、ネットワーク管理者であるあなただけが実行できるようにすることもできます。
- 登録通知:この通知をオンにしておくと、誰かがサイト/アカウントの登録をするたびに知ることができます。状況の追跡に便利で、すかさず新しいユーザーに連絡を取る機会も与えてくれます。
- 新規ユーザの追加:このチェックボックスをオフにすると、サイト管理者が新しいユーザーをネットワークに追加できないようにすることができます。代わりに、ネットワーク上の既存のユーザーのみをサイトに追加できます。
- 禁止名:ここでは、ユーザー名に含めることのできない単語を設定できます。
- 登録メールアドレスの制限:ユーザーアカウント登録に使用できるメールドメインを指定できます。イントラネット、企業、教育機関といったネットワークに便利です。
- 登録を拒否するメールのドメイン:スパムや悪意のあるアカウントが心配な場合には、特定のメールドメインを禁止することもできます。
WordPressマルチサイトでプラグインとテーマを操作する
マルチサイトの大きな長所の1つは、プラグインとテーマが一度だけ(重複されずに)保存されることです。使用されるストレージ容量が少なくなり、更新にかかる時間が短縮できます。マルチサイトでプラグインとテーマを管理する方法を詳しく見てみましょう。
プラグインとテーマはどのように保存されているのか
プラグインとテーマは、普通のサイトと同じように、WordPressのwp-contentディレクトリに保存されます。つまり、各プラグインとテーマは、使用回数に関係なく、一度だけ保存されるということです。
プラグインのインストールと有効化
テーマをインストールできるのはネットワーク管理者のみです。サイト管理者にはその権限がありません。ネットワークの設定方法によっては(「ネットワークの設定」画面で選択することにより)サイト管理者がプラグインを有効化できないようにすることもできます。
ネットワーク管理者がプラグインをインストールするには、「プラグイン」>「新規追加」に移動し、通常と同じ方法でプラグインをインストールします。その後、それをネットワーク全体で有効にするかどうか選択できます。これを行わない(全体で有効化しない)場合、個々のサイト管理者がサイトで有効化することができます。
ネットワーク全体で有効化したプラグインはすべてのサイトで実行され、各サイトのプラグイン画面に表示されます。ただし、サイト管理者はそれを勝手に停止することはできません。インストールされている他のプラグインを有効化する操作はできます。
テーマのインストールと有効化
テーマはネットワーク管理画面からのみインストールできます。これを行うには、ネットワーク管理者のテーマ画面に移動し、通常のサイトの場合と同じ方法でインストールします。
テーマを有効にすることに関しては、WordPressマルチサイトの動作は普通のサイトとは少し異なります。ネットワーク全体または個々のサイトについてテーマを有効にすることができます。
注意:マルチサイトには、サイトのテーマを(有効化とは別に)利用できる状態にする機能が含まれています。これは、サイトごとに1つのテーマしか有効化できず、ネットワーク設定ではなく個別のサイト設定を介してこれを行うためです。
テーマをネットワークで利用できる状態にするには、ネットワーク管理者の「テーマ」画面に移動し、該当するテーマを見つけて、その下の「ネットワーク有効化」(利用できる状態にする)リンクをクリックします。
個別のサイトに対しテーマを利用できる状態にするには、「サイト」画面に移動し、関連するサイトの「編集」リンクをクリックします。「テーマ」タブをクリックし、テーマ名の下にある「有効化」リンクをクリックします。
これにより、テーマがサイト管理者に表示され、「有効化」(本当の意味での有効化)を選択できるようになります。ネットワークでも個々のサイト別でも有効(利用できる状態)になっていないテーマは、サイト管理者には表示されません。
つまり、マルチサイトでテーマとプラグインを有効化する方法の間には根本的な違いがあります。
- ネットワークで有効化されたプラグインはネットワーク内のすべてのサイトで実行され、サイト管理者はそれを無効化できません。一方でサイト管理者は、必要に応じて、ネットワーク全体で利用できる状態になったテーマを自分の判断で有効化できます。
- ネットワークで有効化されていないプラグインは、サイト管理者が選択すれば有効化できます。ネットワーク全体で有効化されていないテーマは、特定のサイトで有効化された場合にのみ、そのサイトで使用できます。ネットワーク全体で、またはサイトごとに個別に有効化されていないテーマは、そのサイト管理者には表示されません。
関連記事:WordPressテーマを削除する方法
マルチサイトではどのようにメディアが保存されているのか
WordPressマルチサイトネットワークでは、普通のサイトとは異なる方法でメディアが保存されます。
個々のサイトのページや投稿にファイルをアップロードするとき、インターフェースは通常のサイトと同じように機能するため、サイトの管理者や編集者に違いは見られません。違いは、ファイルの保存方法です。
WordPressサイトでマルチサイトを有効化すると、 wp-content/uploadsディレクトリに「sites」という新しいフォルダーが作成され、ここにネットワーク内のサイトにアップロードされたすべてのメディアが保管されます。
ネットワーク上に新しいサイトを(あなたや他のユーザーが)作成するたびに、WordPressはその「sites」フォルダーに、サイトのIDと同じ名前の新しいフォルダーを作成します。ベースサイトのIDは01であるため、ネットワークで作成する最初の新しいサイトのIDは02になります。これは、WordPressがwp-content/uploads/sites/02に新しいフォルダーを作成することを意味します。そのサイトのすべてのアップロードは、標準のサイトで使用されているのと同じ年月ベースの構造で、そのフォルダーに保存されます。
ベースサイトへのアップロードは、普通のサイトと同じ方法でwp-uploadsフォルダーに保存されます。マルチサイトでは、そのために追加のフォルダーは作成されません。
マルチサイトではどのようにデータが保存されているのか
マルチサイトでは、データの格納方法も少し異なります。
マルチサイトを有効化すると、7つの新しいデータベーステーブルが作成されます。これらは、ネットワークに関連するデータを格納します。
具体的には以下の通りです。
- wp_blogs
- wp_blog_versions
- wp_registration_log
- wp_signups
- wp_site
- wp_sitemeta
- wp_sitecategories(任意で追加される)
ネットワーク全体のデータを保存する他のテーブルとしてwp_usersとwp_usermetaもあります(ユーザーは個々のサイトではなくネットワーク全体で保存されるため)。これらのテーブルは、標準サイトのデータベースにすでに存在しているため、作成されません。
ネットワーク上に新しいサイトを作成すると、WordPressはそのサイト用に11個の新しいテーブルを作成します。これらには、サイトIDに対応する接頭辞が付されます。したがって、サイト02の場合、次のテーブルが作成されます。
- wp_2_posts
- wp_2_postmeta
- wp_2_comments
- wp_2_commentmeta
- wp_2_users
- wp_2_usermeta
- wp_2_links
- wp_2_term_relationships
- wp_2_term_taxonomy
- wp_2_terms
- wp_2_options
サイトに新たなデータベーステーブルを追加する類のプラグインを有効化すると、上と同じ接頭辞が使用され、有効化されたサイトのためのテーブルが作成されます。
ネットワークが拡大してサイトが追加されると、データベーステーブルも増えていきます。これにより、WordPressが各サイトのデータを個別に保持できるので、サイト管理者が別のサイトのデータにアクセスすることはありません。
まとめ
WordPressマルチサイトは非常に強力なツールです。自分用、コミュニティ用、またはクライアント用に複数のサイトを作成する場合、これを使って、ディスクスペースを節約しながら効率を上げることができます。
WordPressマルチサイトには多くの用途があります。個人用サイト、クライアントサイト、コミュニティサイト、企業内のサイト、WordPress.comのようなブログシステムの運営など、さまざまな用途があります。ご興味がありましたら、是非とも時間をかけてマルチサイトを理解してみてください。長期的に大きな力になるはずです。
コメントを残す