Ultimate Multisite 入門指南
Ultimate Multisite 是一款 WordPress Multisite 外掛,讓你能夠為客戶提供 WaaS(網站即服務)。在深入了解 Ultimate Multisite 如何幫助你的業務和客戶之前,我們需要先掌握一些基礎知識。
WordPress Multisite 是什麼
我們大多數人都熟悉標準的 WordPress 安裝方式。你可以透過主機商的控制面板來建立網站,或者如果你比較有冒險精神,也可以自己架設網頁伺服器和資料庫、下載核心檔案,然後開始安裝流程。
這種方式適用於全球數百萬個 WordPress 網站,但從網站代理商或主機商的角度來看, 讓我們來談談規模化的問題。
建立一個 WordPress 網站很簡單,甚至透過自動化控制面板建立一百個網站也不難,但當需要管理這些網站時,問題就會開始浮現。如果疏於管理,你很容易成為惡意軟體的攻擊目標。要做好管理需要投入心力和資源,雖然市面上有外部工具和外掛可以協助簡化 WordPress 網站的管理和維護,但由於客戶仍然擁有管理員權限,這些努力很容易被破壞殆盡。
WordPress 核心提供了一個功能,簡稱為「Multisite」,最早可以追溯到 2010 年 WordPress 3.0 推出的時候。此後經過多次改版,陸續加入新功能並強化安全性。
簡單來說,WordPress Multisite 可以這樣理解:一所大學只需維護一套 WordPress 安裝,但每個學院都可以擁有自己的 WordPress 網站。
為了更清楚說明,讓我們來看看一些基本術語,這些術語不僅出現在 Ultimate Multisite 的文件中,也廣泛使用於整個 WordPress 社群。
網路(Network)
在 WordPress 的術語中,Multisite 網路是指可以從單一控制台管理多個子網站的架構。雖然建立 Multisite 網路的方式因主機商而異,但最終結果通常是在 wp-config.php 檔案中加入一些額外的設定,讓 WordPress 知道它正在這種特定模式下運作。
Multisite 網路與獨立的 WordPress 安裝之間有一些明顯的差異,我們接下來會簡單說明。
子網域 vs. 子目錄
你需要 做的第一個重要決定是:Multisite 安裝要使用「子目錄」還是「子網域」模式。Ultimate Multisite 在這兩種配置下都能正常運作,但兩者在架構上有一些差異。
在「子目錄」模式下,網路中的網站會繼承主網域的路徑。例如,一個名為「site1」的網路網站,其完整網址會是 https://domain.com/site1。在「子網域」模式下,網路網站會有自己的子網域,衍生自主網域名稱。因此,名為「site1」的網站,其完整網址會是 https://site1.domain.com/。
這兩種選擇都完全可行,但使用「子網域」確實有一些優勢,同時也需要在架構規劃上多花一些心思。
從 DNS 的角度來看,「子目錄」模式相對簡單。由於網路網站只是主路徑的子項目,主網域只需要一筆 DNS 記錄即可。「子網域」模式則比較複雜,需要為每個網路網站分別建立 CNAME 記錄,或者在 DNS 記錄中使用萬用字元(*)。
另一個需要考慮的是 SSL 憑證的核發與使用。在「子目錄」模式下,只需要一張網域憑證即可,因為網路網站只是主網域的路徑。因此,一張 domain.com 的憑證就能為 https://domain.com/site1、https://domain.com/site2 等網址提供 SSL 保護。
在「子網域」模式下,最常見的做法是使用萬用字元 SSL 憑證。這種 SSL 憑證可以為一個網域及其所有子網域提供加密。因此,一張萬用字元 SSL 憑證就能為 https://site1.domain.com、https://site2.domain.com 以及 https://domain.com 本身提供加密保護。
雖然還有其他選項,但這些方案通常在範圍和應用上比較受限,需要額外的設定,並且要評估是否適合你的情況。
外掛和佈景主題
WordPress 給予的,它也會收回——至少從客戶的角度來看是這樣。在獨立的 WordPress 安裝中,如果網站管理員安裝了有問題的外掛或未能保持安裝更新,受害者只有他們自己。然而,在 Multisite 安裝中,如果網站管理員安裝了有問題的外掛,整個網路中的每個網站都會成為受害者。
因此,在 Multisite 模式下,WordPress 會移除網站管理員安裝外掛和佈景主題的權限,改由新建立的網路管理員(或稱「超級管理員」)角色來負責。這個特權角色可以決定是否允許網路網站的管理員在他們的控制台中看到或存取外掛選單,以及是否可以「啟用」或「停用」外掛。
因此,網路管理員負責在網路中安裝外掛和佈景主題,並將使用這些外掛和佈景主題的權限委派給網路網站。網站管理員無法安裝外掛和佈景主題,也無法存取未分配給他們網站的外掛和佈景主題。
使用者和管理員
在 WordPress Multisite 中,所有網路網站共用同一個資料庫,因此也共用相同的使用者、角色和權限。最好的理解方式是:所有使用者都是網路的成員,而不是某個特定網站的成員。
基於這個理解,允許建立使用者可能並不理想,因此 WordPress Multisite 會將這項權限從網站管理員移除,改由網路管理員來負責。網路管理員可以將必要的權限委派給網站管理員,讓他們能夠為自己的網站建立使用者帳號。
重申上述觀點,雖然使用者帳號看起來是屬於某個網站的,但實際上它們是分配給整個網路的,因此在整個網路中必須是唯一的。可能會有些使用者名稱因為這個原因而無法註冊。
雖然這種單一來源的使用者註冊和驗證方式在企業系統中並不陌生,但對於熟悉獨立 WordPress 安裝(使用者管理相對簡單)的人來說,這通常是一個難以理解的概念。
媒體檔案
在 WordPress Multisite 中,網路網站雖然共用單一資料庫,但在檔案系統上各自維護獨立的媒體檔案路徑。
標準的 WordPress 位置(wp-content/uploads)仍然存在,但路徑會被修改以反映網路網站的唯一 ID。因此,網路網站的媒體檔案會出現在 wp-contents/uploads/site/[id] 路徑下。