Ultimate Multisite 101
Ultimate Multisite 是一个 WordPress Multisite 插件,允许您向客户提供 WaaS 或网站即服务。 在深入了解 Ultimate Multisite 如何帮助您的业务和客户之前,我们需要先掌握一些基础知识。
The WordPress Multisite
我们大多数人都熟悉标准的 WordPress 安装。 您可以通过托管提供商的控制面板创建它,或者对于勇敢的人,设置新的 Web 服务器和数据库,下载核心文件并开始安装过程。
这在全球数百万 WordPress 站点中都能正 常工作,但从代理机构或托管提供商的角度来看,让我们讨论一下规模。
虽然通过自动化控制面板创建一个或甚至一百个 WordPress 站点很方便,但当管理这些站点的责任落到您手中时,问题很快就会显现。若未得到管理,您将成为恶意软件的主要目标。管理意味着需要投入大量精力和资源,尽管有外部工具和插件可帮助简化 WordPress 站点的管理和管理,但客户保留管理员访问权限意味着这些努力可能很容易被击败。
在其核心中,WordPress 提供了一个名为“Multisite”的功能,其起源可追溯到 2010 年 WordPress 3.0 的发布。自那时起,它已收到多次修订,旨在引入新功能并加强安全性。
本质上,WordPress 多站点可以这样理解:一所大学维护单一的 WordPress 安装,但每个院系维护自己的 WordPress 站点。
为了解释这一说法,让我们看看不仅在 Ultimate Multisite 文档中出现,也在 WordPress 社区中出现的一些基本术语。
The Network
在 WordPress 方面,多站点网络是指可以从单一仪表盘管理多个子站点。虽然创建多站点网络在不同托管提供商之间有所不同,但最终结果通常是在 wp-config.php 文件中添加一些额外指令,以让 WordPress 知道它正在以此特定模式运行。
多站点网络与独立 WordPress 安装之间存在许多明显差异,我们将简要讨论。
Subdomain vs. Subdirectory
您需要做出 的最直接决定之一是多站点安装是使用 子目录 还是 子域名。Ultimate Multisite 在两种选择上都能同样良好地工作,但两种配置之间存在一些架构差异。
在 子目录 配置中,网络站点继承基于主域名的路径。例如,标记为“site1”的网络站点其完整 URL 为 https://domain.com/site1。 在 子域名 配置中,网络站点将拥有其自身的 子域名,该子域名源自主域名。因此,标记为“site1”的站点其完整 URL 为 https://site1.domain.com/。
虽然两种选项都是完全有效的选择,但使用 子域名 确实提供了许多优势,但在其架构中也需要更多思考和规划。
在 DNS 方面,使用 子目录 提供了相对简单的挑战。由于网络站点只是父路径的子级,只需为主域名存在一个域名条目。对于 子域名,挑战稍微复杂一些,需要为每个网络站点单独设置 CNAME 条目,或在 DNS 记录中使用通配符 (*) 条目。
另一个需要考虑的领域是 SSL 以及 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 本身提供加密。
虽然还有其他选项,但它们通常在范围和应用上有限,并且需要额外的配置和考虑其适用性。
Plugins and Themes
WordPress 也会从客户的角度夺走它所给予的东西。 在独立 WordPress 安装中,站点管理员安装不良插件或未能保持其安装更新时,唯一的受害者和牺牲者就是他们自己。然而,站点管理员在多站点安装中安装不良插件会导致网络中每个已安装站点的受害者。
因此,当配置为多站点时,WordPress 会从站点管理员那里移除安装插件和主题的权限,并将此权限转移到新创建的网络管理员或“超级管理员”角色。此特权角色随后可以决定是否允许网络站点的管理员在其仪表盘中查看或访问插件菜单,并且如果允许,是否将此权限扩展到 激活 或 停用 插件。
在这方面,网络管理员负责将插件和主题安装到网络中,并将使用这些插件和主题的权限委托给网络站点。站点管理员无法安装插件和主题,也无法访问未分配给其站点的插件和主题。
Users and Administrators
在 WordPress Multisite 中,所有网络站点共享同一数据库,因此共享相同的用户、角色和权限。最恰当的思考方式是,所有用户都是网络成 员,而不是特定站点的成员。
鉴于此理解,允许创建用户可能并不理想,因此 WordPress Multisite 将此权限从站点管理员移除,并转移到网络管理员。随后,网络管理员可以将必要的权限委托给站点管理员,以允许他们为自己的站点创建用户账户。
重申上述声明,尽管用户账户似乎与站点相关,但它们实际上分配给网络,因此必须在网络中唯一。由于此原因,可能会出现用户名无法注册的情况。
虽然在企业系统中并非陌生概念,但这种单一的用户注册和身份验证来源往往对熟悉独立 WordPress 安装、用户管理相对简单的人来说是一个难以理解的概念。
Media
在 WordPress Multisite 中,网络站点共享单一数据库,但它们在文件系统上为媒体文件维护单独路径。
标准 WordPress 位置(wp-content/uploads)保持不变;然而,其路径已更改以反映网络站点的唯一 ID。因此,网络站点的媒体文件显示为 wp-contents/uploads/site/[id]。
Permalinks
我们之前提到过,子域名 配置相对于 子目录 配置具有独特优势,这里是:路径。
在 子目录 配置中,主站点(网络建立时创建的第一个站点)和网络子站点必须共享从域名开始的相同路径。这可能导致大量冲突。
对于文章,主站点会添加一个强制的 /blog/ 路径,以防止与网络站点冲突。这意味着像“Post name”这样的漂亮永久链接将呈现为 domain.name/blog/post-name/
在