
WordPress Multisite 是 WordPress 中内置的一项功能,允许你从单个 WordPress 安装运行多个网站——共享相同的数据库、插件和主题。与管理 10 个独立的 WordPress 安装和 10 个独立的管理员仪表板不同,你可以从一个网络管理面板管理所有内容。本指南说明何时使用它、它的工作原理以及如何设置它。
子域与子目录网络
启用 Multisite 时,你需要选择以下两种网站结构之一:
| 类型 | URL结构 | 最佳用途 |
|---|---|---|
| 子域名 | site1.example.com site2.example.com | 一个域名下的多个不同品牌 |
| 子目录 | example.com/site1/ example.com/site2/ | 一个主网站的相关部分 |
子域名 Multisite 需要通配符 DNS 条目(例如,*.example.com → 你的服务器 IP)。如果你的托管服务提供商不支持通配符 DNS,请改用子目录模式。
何时使用 WordPress Multisite
良好的使用案例
- Web 代理商管理多个共享插件/主题的客户网站
- 学校或大学——每个部门或学院一个网站
- 特许经营企业——每个分支位置一个网站
- 新闻出版物——一个网络,多个地区版本
- SaaS 平台——为每个用户提供他们自己的 WordPress"博客"或"商店"
不应该使用 Multisite 的情况
- 你只需要 2-3 个完全独立的网站,没有共享内容——单独安装更简单
- 每个网站需要完全不同的服务器或数据库配置
- 你需要按网站隔离服务器资源(一个网站的流量不应该影响其他网站)
优点和缺点
| 优点 | 缺点 |
|---|---|
| 为所有网站一次性更新插件/主题 | 插件兼容性问题影响所有网站 |
| 集中用户管理 | 超级管理员可以访问所有网站 |
| 共享托管资源 = 更低的成本 | 一个受损的插件影响所有网站 |
| 单一备份涵盖所有网站 | 某些插件与 Multisite 不兼容 |
如何启用 WordPress Multisite
重要:在全新 WordPress 安装上或添加重要内容之前启用 Multisite。将现有网站转换为 Multisite 可能很复杂。继续之前始终进行完整备份。
步骤 1:添加到 wp-config.php
打开 wp-config.php 并在 /* That's all, stop editing! */ 注释之前添加此行:
define('WP_ALLOW_MULTISITE', true);
步骤 2:安装网络
- 在 WordPress 管理员中转到工具 → 网络设置
- 选择子域名或子目录
- 输入网络标题和管理员电子邮件
- 点击安装
步骤 3:更新 wp-config.php 和 .htaccess
WordPress 将显示添加到 wp-config.php 和 .htaccess 的代码。wp-config.php 添加内容如下所示:
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true); // or false for subdirectory
define('DOMAIN_CURRENT_SITE', 'yourdomain.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
复制 WordPress 显示的确切代码(它将包括你的实际域)。
步骤 4:重新登录并访问网络管理
保存两个文件后,登出并重新登录。你会在顶部栏中看到新的我的网站 → 网络管理菜单——这是网络中所有网站的中央控制面板。
管理网络(添加网站、网络激活插件、用户)
启用 Multisite 后,我的网站 → 网络管理菜单成为整个网络的中央控制面板。以下是每个核心任务在实践中的工作方式。
- 添加网站:网络管理 → 网站 → 添加新的
- 网络激活插件:网络管理 → 插件 → 网络激活
- 跨网站管理用户:网络管理 → 用户
- 个人网站管理员仍然可以管理自己的网站设置,但不能安装新插件(仅网络激活的插件可用)
添加新网站
转到网络管理 → 网站 → 添加新的并输入网站地址(子域名或子目录部分)、网站标题、语言和该网站的管理员电子邮件。点击"添加网站"时,WordPress 会自动为其创建一组新的数据库表,使用编号前缀,如 wp_2_ 或 wp_3_,而第一个网站保持原始 wp_ 前缀。每个网站的文章、页面和设置都存在于自己的表中,因此内容完全分离。
网络激活插件
Multisite 中的插件有两个激活级别。网络激活(来自网络管理 → 插件)为每个网站打开一个插件,个人网站管理员无法禁用它——非常适合你想在任何地方强制执行的安全性、备份和 SEO 插件。如果你只是启用一个插件而不网络激活它,每个网站管理员可以选择单独打开或关闭允许的插件。如果你的托管提供商提供 shell 访问权限,你也可以从命令行管理它:
# Network-activate a plugin across all sites
wp plugin activate wordfence --network
# Create a new site from the command line
wp site create --slug=branch2 --title="Branch 2"
# List every site in the network
wp site list
跨网站管理用户
用户账户集中存储,因此单个账户可以属于多个网站,每个网站具有不同的角色——例如,在网站 A 上是编辑,但在网站 B 上是作者。最高权限级别是超级管理员,他可以访问和修改每个网站,以及安装网络级别的插件和主题;为了安全起见,请将超级管理员的数量保持在尽可能少。常规网站管理员可以管理自己的内容、用户和设置,但不能安装全新的插件或主题——这是保持整个网络一致和安全的关键保障。
常见问题
WordPress Multisite 使用一个数据库还是多个数据库?
它使用单个数据库,由表前缀分隔。第一个网站使用 wp_,而其他网站使用 wp_2_、wp_3_ 等。共享网络表,如 wp_users 和 wp_usermeta 仅存在一次,这就是为什么一个帐户可以跨多个网站使用。
我以后可以从子目录切换到子域名吗?
可以,但这并不是小事——你需要编辑 wp-config.php(SUBDOMAIN_INSTALL 常数)、调整 .htaccess、设置通配符 DNS 以及更新数据库中的 URL。始终先备份,理想情况下在你第一次安装网络时选择正确的结构。
SSL 如何与 Multisite 配合使用?
对于子目录网络,主域上的单个标准 SSL 证书就足够了。对于子域名网络,使用通配符 SSL 证书(例如 *.example.com),这样一个证书就可以覆盖每个子域名。在 AsiaGB 托管上,你可以通过 DirectAdmin 颁发 SSL,包括免费 Let's Encrypt 和付费通配符证书。
每个网站都可以映射自己的自定义域吗?
可以。现代 WordPress 包括内置域映射(在网络管理员的"编辑网站"屏幕上设置),因此子网站可以使用其自己的域,如 brandb.com,而不是 brandb.example.com,只要该域的 DNS 指向同一服务器。
WordPress 托管——为 Multisite 网络做好准备
AsiaGB 托管在所有计划上支持 WordPress Multisite。DirectAdmin 控制面板可以轻松管理多个域和子域。起价 500 泰铢/年。
查看托管计划 →