【WordPressマルチサイト化】ユーザー管理やプラグイン、画像保存先などまとめ

WordPressをマルチサイト化について学習した備忘録。

ユーザー管理

  • ネットワーク管理者という役割が追加される
  • サイト管理者の権限は、ネットワーク管理者よりも低いものになる
  • サイト管理者は(自分のサイトで)新しいユーザーを追加できますが、そのユーザーは自分が追加された個々のサイトにのみアクセスでき、ネットワーク上のすべてのサイトにはアクセスできない
  • ユーザーデータは共有され、各アカウントに各サイトのアクセス権限を付与することは可能
  • サイト管理者とネットワーク管理者が作成・管理できる
  • サイト管理者は自分のサイトのユーザー権限しか削除できない

URL

  • ネットワークのURLは、設定の土台となっているサイトと同じ
  • 既存サイトのURLは変更されない
  • メインサイト
    • TOP:https://test.com
    • 投稿:https://test.com/blog/カスタム構造
    • カテゴリ:https://test.com/blog/category/カテゴリ名
  • サブディレクトリ「2nd」
    • TOP:https://test.com/2nd/
    • 投稿:https://test.com/2nd/カスタム構造
    • カテゴリ:https://test.com/2nd/category/カテゴリ名
  • サブディレクトリ「3rd」
    • TOP:https://test.com/3rd/
    • 投稿:https://test.com/3rd/カスタム構造
    • カテゴリ:https://test.com/3rd/category/カテゴリ名
  • メインサイトの投稿のURLにhttps://test.com/blog/投稿名のように/blogが自動的に追加される
    • 消去する方法
      • メインサイトのパーマリンク設定を基本にする
      • 参加サイト>ネットワーク管理>サイト>親サイト名の編集>サイトの編集>設定>Permalink Structureの欄にカスタム構造のパーマリンク(/%postname%/ など)を入力する>変更を保存

プラグイン

  • ネットワーク管理者のみがインストール可能
  • サイト管理者は有効化できるものの、新しくインストールすることはできない
  • 一括更新が可能
  • wp-contentディレクトリに保存される
  • サイトネットワークで有効化されたプラグインは、すべてのサイトで有効化され、各サイト管理者は無効化できない
  • ネットワークで有効化されていないプラグインは、サイト管理者が選択すれば有効化できる
  • プラグインの有効状態、設定値は全てサイト毎に別設定となっていて、サーバーにアクセスがあった時にリクエストURLからどのサイトへのアクセスか判定され、対象テーブルが自動的に切り替えられて実行されます
  • 子テーマで有効化されているプラグインは、ネットワーク管理のプラグイン画面でも削除ボタンが表示されない。
  • マルチサイト非対応のプラグイン
    • Duplicator(無料版)
    • Siteguard

テーマ

  • ネットワーク管理者のみがインストール可能
  • サイト管理者は有効化できるものの、新しくインストールすることはできない
  • 一括更新が可能
  • wp-contentディレクトリに保存される
  • ネットワーク全体または個々のサイトについてテーマを有効にすることができる
  • テーマをネットワークで利用できる状態にするには、ネットワーク管理者の「テーマ」画面に移動し、該当するテーマを見つけて、その下の「ネットワーク有効化」(利用できる状態にする)リンクをクリックする
  • 個別のサイトに対しテーマを利用できる状態にするには、「サイト」画面に移動し、関連するサイトの「編集」リンクをクリックします。「テーマ」タブをクリックし、テーマ名の下にある「有効化」リンクをクリックする

CSSカスタマイズ

  • 各サイトのカスタマイザーに追記したCSSは、そのサイトのみ適応される
  • テーマのstyle.cssに記述したスタイルは、同じテーマを使用しているすべてのサイトで適応される

メディア

  • 各サイトへのアップロード用に個別のフォルダーが追加される
  • マルチサイトを有効化すると、 wp-content/uploadsディレクトリに「sites」という新しいフォルダーが作成され、ここにネットワーク内のサイトにアップロードされたすべてのメディアが保管される
  • 新しいサイトを作成するたびに、WordPressはその「sites」フォルダーに、サイトのIDと同じ名前の新しいフォルダーを作成
    • ベースサイトID:01
      保存先URL:wp-content/uploads/
    • ネットワークで作成した最初のサイトID:02
      保存先URL:wp-content/uploads/sites/2
    • ネットワークで作成した最初のサイトID:03
    • 保存先URL:wp-content/uploads/sites/3
  • wp-content
    • uploads
      • 2022 // ID1のメディア保存先
      • sites
        • 2 //ID2のメディア保存先
          • 2022
          • 2021
        • 3 //ID3のメディア保存先
          • 2022
          • 2021
        • etc

データベース

  • サイトごとに個別のデータベーステーブルが作成されるものの、一部のデータ(ユーザーなど)はネットワーク全体でまとめて保存される
  • マルチサイトを有効化すると、7つの新しいデータベーステーブルが作成される
    • wp_blogs
    • wp_blog_versions
    • wp_registration_log
    • wp_signups
    • wp_site
    • wp_sitemeta
    • wp_sitecategories(任意で追加される)
  • wp_usersとwp_usermetaはネットワーク全体で共通して利用される
  • ネットワーク上に新しいサイトを作成すると、サイトIDに対応する接頭辞が付与されたテーブルが作成される
  • サイトIDが02の場合、wp_2_が接頭辞として与えられ、wp_2_postsテーブルが作成される

WordPressアップグレード

  • WordPressを更新>サイトネットワークをアップグレード
参考
  • WordPressマルチサイト徹底解説(WordPressネットワークについて知っておくべきすべて)
    https://kinsta.com/jp/blog/wordpress-multisite/

Related Tags