WordPress多站点(Multisite)搭建指南:一台VPS管理10个子站的完整配置
WordPress Multisite(多站点网络)允许用一套WordPress程序、一台服务器,同时运行多个独立网站,共享主题和插件库,统一后台管理。对于SEO站群运营、多品牌企业、多语言站点来说,是大幅降低运维成本的利器。
一、Multisite适用场景
- SEO站群:多个细分主题站共用一台服务器,独立域名、独立内容、统一管理
- 多品牌企业:集团旗下多个品牌各有独立网站,共享开发和运维资源
- 多语言站点:同一业务的英语、中文、西班牙语版本分站运营
- 多区域子站:总站 + 各城市/地区子站的组合结构
二、开启Multisite前的准备
- 全新WordPress安装(已有内容的站点开启Multisite可能遇到兼容问题)
- 服务器:建议4核4G以上,多站点并发请求较高
- 决定网络结构:子目录模式(site.com/shop/)或子域名模式(shop.site.com)
- 若使用子域名模式,需在DNS中配置泛域名解析(*.yourdomain.com → 服务器IP)
三、开启WordPress Multisite
第一步:修改wp-config.php
/* 在 "That's all, stop editing!" 注释前添加 */
define('WP_ALLOW_MULTISITE', true);第二步:进入后台安装网络
刷新WordPress后台,进入 工具 → 安装网络,选择子目录或子域名模式,按提示完成安装。WordPress会生成需要添加到 wp-config.php 和 .htaccess 的代码。
第三步:更新wp-config.php
按WordPress提示,在wp-config.php中添加:
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false); // 子目录模式为false,子域名模式为true
define('DOMAIN_CURRENT_SITE', 'yourdomain.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);四、Nginx多站点配置
子目录模式Nginx配置
server {
listen 443 ssl http2;
server_name yourdomain.com www.yourdomain.com;
root /var/www/html;
index index.php;
# Multisite子目录规则
if (!-e $request_filename) {
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
rewrite ^(/[^/]+)?(/wp-.*) $2 last;
rewrite ^(/[^/]+)?(/.*\.php) $2 last;
}
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
# 多站点文件上传路径规则
location ~* ^/files/(.+) {
try_files /wp-content/blogs.dir/$blogid/$uri /wp-includes/ms-files.php?file=$1 =404;
access_log off; log_not_found off;
expires max;
}
}子域名模式额外配置
# 额外添加泛域名匹配
server {
listen 443 ssl http2;
server_name *.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
root /var/www/html;
# ... 其余配置同上
}泛域名SSL证书申请
# Let's Encrypt通配符证书(需要DNS验证)
certbot certonly --manual --preferred-challenges dns \
-d yourdomain.com \
-d *.yourdomain.com五、为子站映射独立域名
Multisite默认使用子目录或子域名,但可以为每个子站配置完全独立的域名(如 shop.com、blog.net),这是SEO站群的常用模式。
安装WordPress MU Domain Mapping插件
- 网络后台 → 插件 → 安装 WordPress MU Domain Mapping 或 Mercator
- 网络后台 → 站点 → 选择某个站点 → 编辑 → 在"域名"字段填入独立域名
- 在DNS控制台将独立域名的A记录指向同一台服务器IP
- 为新域名申请独立SSL证书(或使用通配符证书覆盖)
六、性能优化建议
| 优化方向 | 具体措施 | 效果 |
|---|---|---|
| 数据库 | 为每个子站开启Redis对象缓存 | 减少80%的数据库查询 |
| 页面缓存 | 使用W3 Total Cache的Multisite模式 | 动态页面静态化 |
| CDN | Cloudflare代理所有子站域名 | 全球加速+隐藏真实IP |
| 资源共享 | 全网络激活核心插件,避免重复加载 | 减少插件资源冗余 |
七、常见问题排查
- 子站后台出现404:检查Nginx的Multisite rewrite规则是否正确添加
- 图片无法上传:检查
/wp-content/blogs.dir/目录权限,应为755 - 子域名无法访问:确认DNS泛域名解析
*.yourdomain.com已生效 - SSL错误:确认通配符证书已覆盖所有子域名,或为每个子站单独申请
- 插件仅对部分子站生效:区分"网络激活"(所有站点生效)和"单站激活"的差异
八、总结
WordPress Multisite是运营多站点业务的高效方案,一台4核4G的香港VPS完全可以支撑10~20个小型子站的稳定运行。IDC.Net的香港VPS和独立服务器均支持多IP绑定,搭配Multisite可以为每个子站分配独立IP,进一步强化SEO隔离效果。
版权声明:
作者:后浪云
链接:https://idc.net/help/442728/
文章版权归作者所有,未经允许请勿转载。
THE END
