当前位置:首页 > CMS教程 > 正文

如何更改WordPress多站点域名?

在WordPress多站点网络中更改域名,需修改 wp-config.php中的 DOMAIN_CURRENT_SITE,并借助专业数据库搜索替换工具(如Better Search Replace)批量更新所有站点链接,确保替换序列化数据安全,操作顺序不可颠倒。

WordPress多站点域名修改指南

重要提示:修改多站点域名是高风险操作!操作前务必完整备份数据库和文件(推荐使用UpdraftPlus或All-in-One WP Migration),并确保具备服务器和数据库管理基础,操作失误可能导致网站瘫痪!


准备工作

  1. 备份数据
    • 数据库备份:通过phpMyAdmin导出全库SQL文件。
    • 文件备份:FTP下载整个WordPress目录(包括wp-config.php.htaccess)。
  2. 获取新域名信息
    • 确认新域名已解析到当前服务器IP。
    • 准备SSL证书(可通过Let’s Encrypt免费申请)。
  3. 停用缓存插件

    在WordPress后台停用所有缓存插件(如W3 Total Cache、WP Super Cache)。


核心操作步骤

步骤1:修改wp-config.php文件

通过FTP或主机面板打开wp-config.php,在define('WP_DEBUG', false);上方添加:

define('WP_ALLOW_MULTISITE', true); // 确保已开启多站点  
define('DOMAIN_CURRENT_SITE', 'newdomain.com'); // 替换为新域名  

注意newdomain.com不带http://www


步骤2:更新多站点网络配置

打开 网站根目录 下的.htaccess文件,将原有规则替换为:

RewriteEngine On  
RewriteBase /  
RewriteRule ^index.php$ - [L]  
# 将旧域名重定向到新域名(防内容重复)  
RewriteCond %{HTTP_HOST} ^olddomain.com$ [NC,OR]  
RewriteCond %{HTTP_HOST} ^www.olddomain.com$ [NC]  
RewriteRule ^(.*)$ https://newdomain.com/$1 [R=301,L]  
# 多站点规则(WordPress默认生成)  
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]  
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]  
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*.php)$ $2 [L]  
RewriteRule . index.php [L]  

关键提示

  • olddomain.comnewdomain.com替换为实际域名。
  • 301重定向可避免SEO权重流失。

步骤3:替换数据库中的旧域名(最高风险)

方法1:使用插件(推荐小白)
安装 Better Search Replace 插件,对所有表执行替换:

如何更改WordPress多站点域名?  第1张

  • http://olddomain.com
  • 替换为https://newdomain.com
  • 勾选 “所有表” 并勾选 “区分协议”(若启用HTTPS)。

方法2:手动SQL命令(需精准操作)
在phpMyAdmin中执行:

UPDATE wp_options SET option_value = REPLACE(option_value, 'olddomain.com', 'newdomain.com');  
UPDATE wp_posts SET post_content = REPLACE(post_content, 'olddomain.com', 'newdomain.com');  
UPDATE wp_blogs SET domain = 'newdomain.com' WHERE domain = 'olddomain.com';  
-- 注意:表前缀(如wp_)需根据实际修改  

重点排查表wp_sitewp_sitemetawp_blogswp_options及子站点的独立表(如wp_2_options)。


后续关键配置

  1. 更新子站点域名
    • 进入 网络管理后台 → 站点 → 编辑子站点,手动修改子站点的域名(需逐个操作)。
  2. 重置Permalinks
    • 设置 → 固定链接 中点击“保存更改”,刷新重写规则。
  3. SSL证书配置

    为主域名和所有子站点安装SSL证书(可使用Certbot或主机商一键工具)。

  4. 清除缓存

    清除服务器缓存(如Redis/Memcached)、CDN缓存及浏览器缓存。


验证与测试

  1. 主站点检查
    • 访问https://newdomain.comhttps://www.newdomain.com(确保无混合内容错误)。
  2. 子站点抽查

    随机打开3-5个子站点,测试文章内链、图片路径是否正常。

  3. SEO关键项
    • 使用Screaming Frog扫描死链,检查Google Search Console的覆盖率报告。
    • 更新sitemap.xml并重新提交。

常见问题排查

  • 页面样式错乱
    wp-config.php中开启调试模式:

    define('WP_DEBUG', true);  
    define('SCRIPT_DEBUG', true);  

    检查控制台错误,通常为硬编码旧域名的CSS/JS文件导致。

  • 数据库连接错误
    恢复备份的wp-config.php,检查数据库凭证。

  • 子站点无法访问
    确认.htaccess规则未冲突,子站点的wp_options表中siteurl/home值已更新。


高级场景处理

  • 更换主域名但保留子站点原域名
    需手动编辑每个子站点的wp_options表(或子站数据库),单独设置siteurlhome值。

  • 批量修改子站点域名
    使用插件 WP CLI 命令(需服务器权限):

    wp site list --field=url | xargs -I % wp search-replace "olddomain.com" "newdomain.com" --url=% --all-tables  

操作守则

  • ️ 禁止在未备份时修改数据库!
  • ️ 旧域名保持解析至少48小时,确保重定向生效。
  • ️ 修改后立即在百度/Google站长平台更新域名属性。

引用说明:本文参考WordPress官方文档、Apache重定向规则标准及SEO最佳实践(Moz, Search Engine Journal),技术细节遵循WordPress Core Handbook中的多站点管理指南。

通过以上步骤,您可安全完成WordPress多站点的域名迁移,若遇复杂情况,建议联系专业开发者或主机商支持团队。

0