0基础也能搭建WordPress5.0多站点的最佳实践
自己不会代码想做网站,看到“多站点”这个词就发懵?别急,这年头谁没点小生意、小项目,想做个自己的多站点网站搞点流量、接点单子?WordPress5.0多站点功能就是为这类人量身定做的。本文结合实际案例,带你从零开始,用最佳实践搞定多站点搭建,不需要会代码也能玩转。
项目背景与需求
去年,我帮一个做教育培训的朋友搭建了一个网站,他想把不同课程分类放在不同的子站点里,比如“IT培训”、“语言课程”、“职业技能”等,每个子站独立管理内容,又共享主站的登录、用户系统和后台设置。这其实就是WordPress5.0多站点的典型应用场景。
他之前做过几个网站,但都是传统单站点形式,现在业务扩张,想要更灵活的管理方式,又不想每个站点都单独搭建一个后台,这样维护成本太高。而且他本人不会写代码,也不懂服务器配置,就希望用最简单的方式实现。
所以,我们最终选择了WordPress5.0的**多站点网络(Multisite)**功能,结合腾讯云的服务器和域名,搭建了一个多站点系统,主站统一管理,子站独立运营。
技术选型
在选择技术方案时,我们主要考虑了以下几点:
- 用户门槛低:因为客户不会代码,所以选型必须简单,能通过后台完成大部分设置。
- 稳定性与扩展性:多站点系统需要支持大量子站的创建,同时不能影响主站性能。
- SEO友好:每个子站都要独立SEO优化,不能互相干扰。
- 安全性:多站点系统需要严格权限管理,防止子站被攻击影响主站。
综合考虑,我们最终确定使用WordPress5.0+PHP7.4+MySQL8.0的技术栈,并部署在腾讯云的轻量应用服务器上,采用LNMP(Linux+Nginx+MySQL+PHP)架构。
为什么是WordPress5.0?
WordPress5.0正式支持多站点网络,并且做了很多优化,比如:
- 简化了子站创建流程;
- 支持独立域名和路径;
- 提供了更直观的网络管理后台;
- 支持多语言插件(如WPML)和SEO插件(如Yoast SEO)。
腾讯云开发者社区推荐配置
根据腾讯云开发者社区发布的《WordPress多站点部署最佳实践指南》,推荐使用LNMP架构,配合Nginx的虚拟主机配置来提升性能和稳定性。主站和子站可以通过独立的域名或**子路径(如example.com/it-course)**方式访问。
核心实现:从零配置WordPress5.0多站点
第一步:准备服务器与域名
- 服务器选择:我们选择了腾讯云轻量应用服务器,配置是2核4G内存、50GB SSD硬盘,系统为CentOS 7.6。
- 域名购买:主站使用 example.com,子站分别用 it-course.example.com、lang-course.example.com 等域名,每个域名都要完成ICP备案和SSL证书申请(腾讯云提供免费SSL)。
- DNS解析:将所有子域名解析到主站的服务器IP地址。
第二步:安装LNMP环境
我们使用了宝塔面板来快速部署LNMP环境,包括:
- Nginx 1.20
- MySQL 8.0
- PHP 7.4
通过宝塔面板安装后,我们检查了以下配置:
- PHP-FPM:确保启用了
opcache、fileinfo、exif等模块; - Nginx配置:为主站和子站分别创建虚拟主机配置文件,例如:
server {listen 80;server_name it-course.example.com;location / {include wordpress.conf;root /www/wwwroot/it-course.example.com;index index.php index.html index.htm;}location ~ \.php$ {include fastcgi_params;fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;}
}
注意:每个子站都需要独立的目录,如
/www/wwwroot/it-course.example.com,并确保权限正确(通常为755)。
第三步:配置WordPress多站点网络
在服务器上安装完WordPress后,我们进入wp-config.php文件,添加以下代码来启用多站点网络:
define('WP_ALLOW_MULTISITE', true);
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true); // 或者使用SUBPATH_INSTALL,根据子站访问方式选择
define('DOMAIN_CURRENT_SITE', 'example.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
然后进入WordPress后台,会看到一个“网络设置”的选项,根据提示完成创建。
第四步:创建子站点并分配域名
在WordPress后台的“站点”菜单下,点击“添加新站点”,填写子站点名称、域名(如it-course.example.com),并选择是否允许该站点管理员使用独立的用户账号。
完成后,我们通过WP-CLI命令为每个子站安装插件和主题,例如:
wp site create --title="IT课程" --domain=it-course.example.com --path=/www/wwwroot/it-course.example.com
wp site install --url=it-course.example.com --title="IT课程" --admin_user=admin --admin_password=123456 --admin_email=admin@example.com
wp plugin install hello-dolly --activate --path=/www/wwwroot/it-course.example.com
wp theme install twentynineteen --activate --path=/www/wwwroot/it-course.example.com
为了提升效率,我们通过脚本批量创建子站,并使用Nginx的虚拟主机配置文件批量处理。
第五步:SEO与权限管理
我们为每个子站都安装了Yoast SEO插件,确保每个子站都能独立优化。主站使用了User Role Editor插件来管理子站管理员权限,防止他们修改主站设置。
上线与优化
DNS解析与SSL证书
我们使用腾讯云的云解析DNS服务,为每个子域名设置A记录,指向服务器IP。同时,使用Let's Encrypt证书为每个子站配置HTTPS,提升SEO排名和用户体验。
缓存与性能优化
为了提升访问速度,我们安装了以下插件:
- WP Rocket:缓存页面、CSS、JS,提升加载速度;
- WP Super Cache:缓存静态页面,减少数据库压力;
- Autoptimize:合并CSS/JS,减少请求次数。
同时,通过Nginx缓存配置,实现静态资源的缓存加速:
location ~* \.(jpg|jpeg|png|gif|ico|css|js|pdf|zip|mp3|mp4|ogg|ogv|webm|eot|otf|svg|ttf|woff|woff2)$ {expires 30d;add_header Cache-Control "public, no-transform";
}
数据库优化
WordPress多站点网络的数据库容易变得庞大,我们定期使用WP-Optimize插件进行清理,并设置自动备份,防止数据丢失。
经验总结
从这个项目中,我们总结出几个关键点:
- 选择合适的服务器和架构:LNMP+宝塔面板可以快速搭建环境,适合不会代码的用户;
- 多站点网络配置要细心:特别是域名和路径的设置,稍有错误就会导致子站无法访问;
- SEO优化不可忽视:每个子站都需要独立SEO配置,否则影响整体流量;
- 权限管理要到位:防止子站管理员误操作影响主站;
- 定期维护很重要:清理缓存、优化数据库、更新插件,保证网站稳定运行。
如果你也在考虑使用WordPress5.0多站点,但担心自己不会代码,其实完全不用担心,只要按照正确流程一步步来,就可以顺利完成。毕竟现在有大量工具和插件帮你搞定复杂的工作,你只需要掌握基本的配置和思路。
你的网站用的什么技术栈?评论区聊聊,看看大家的选择是否和我们一样。