WordPress 换主机 / 换域名完整迁移指南不丢数据、不掉收录适用场景换云服务器、换主机商、换域名或「换主机顺便换域名」。目标文件与数据库完整迁走图片与内链不裂换域名时用 301 把权重与旧流量接住。依据对齐 WordPress Codex / 开发者文档中的 Moving WordPress、Changing The Site URL以及 Better Search Replace 插件官方推荐流程并结合宝塔面板常见操作路径。迁移前先分清你属于哪一种类型要做什么难度A. 只换主机域名不变搬文件 搬数据库 改wp-config数据库信息DNS 指到新 IP中B. 只换域名主机不变改站点 URL 全库安全替换旧域 SSL 旧域 301中C. 主机和域名一起换A B 全做高三种情况第一步都一样完整备份。没有可回退备份不要开始迁移。迁移总流程建议按表执行阶段做什么完成标准1. 备份旧站文件 数据库各一份并下载到本地本地能打开.sql/ 压缩包2. 新环境就绪新主机建站目录、PHP、数据库、如需域名解析与 SSL新环境可访问空目录或占位页3. 导入数据上传文件、导入数据库、改wp-config.php不再报「建立数据库连接出错」4. 修正 URL仅换域名时覆盖 siteurl/home 序列化安全替换前后台用新域可登录图片不指向旧域5. 伪静态与缓存保存固定链接、清缓存、核 SSL文章页不再大面积 4046. SEO 收尾旧域 301、Search Console、外链与统计代码旧 URL 访问跳到对应新 URL第 1 阶段备份旧站不可跳过1.1 备份什么网站根目录全部文件含wp-content/uploads图片都在这里。整库 SQL不要只导出某几张表。记下当前信息后面核对用记录项示例旧域名https://www.old.com表前缀wp_也可能是自定义前缀PHP 版本如 8.1是否 HTTPS是 / 否固定链接结构如「文章名」1.2 宝塔上怎么备文件网站目录打包下载或「备份」功能生成文件备份。数据库数据库 → 导出 / 备份下载.sql到本地。备份包请同时留在本地。只放在同一台即将弃用的服务器上不算安全备份。第 2 阶段准备新主机环境安装与旧站接近的 PHP 版本优先与旧站一致减少兼容意外。创建网站站点宝塔网站 → 添加站点。创建空数据库记下库名、用户名、密码、主机地址多为localhost。若已确定新域名先把 DNS A 记录指到新服务器 IP国内主机注意备案要求。为新域名申请并开启 SSLLet’s Encrypt 即可全站按https://规划。只换主机、域名不变时可先把 DNS TTL 调低切解析窗口更短切完后再测。第 3 阶段搬家文件与数据库3.1 上传 WordPress 文件将旧站文件解压/上传到新站点根目录保持结构完整至少确认存在wp-admin/wp-includes/wp-content/wp-config.phpindex.php3.2 导入数据库在新主机 phpMyAdmin 或宝塔「导入」中把旧站.sql导入到新建的空库。导入失败常见原因文件过大——可调大 PHPupload_max_filesize/post_max_size或用命令行导入。3.3 修改wp-config.php几乎必做打开新站wp-config.php把数据库信息改成新库的define(DB_NAME,新数据库名);define(DB_USER,新数据库用户);define(DB_PASSWORD,新数据库密码);define(DB_HOST,localhost);同时核对$table_prefixwp_;必须与导入库里的真实表前缀一致。前缀写错会表现为连不上表或后台异常而不是「偶发小问题」。导入并改好配置后若仍提示Error establishing a database connection逐项核对库名、用户、密码、主机不要先怀疑主题。第 4 阶段换域名时的 URL 修正最关键只换主机、域名完全不变通常跳过全库替换仍建议到「设置 → 常规」确认两个地址仍是正确域名。换了域名必须做 URL 修正否则会出现后台跳回旧域、菜单/图片仍加载旧域、混合内容警告等。4.1 为什么不能用记事本或简单 SQL 全局替换WordPress 大量选项与小工具数据以PHP 序列化存在数据库里。序列化字符串带有长度计数。用普通「查找替换」或裸REPLACE()改 URL 后长度对不上轻则小工具丢失重则整段配置损坏。正确做法使用会处理序列化的工具——推荐插件Better Search Replace官方插件说明即为此场景设计或服务器上有 WP-CLI 时wp search-replace4.2 先进得了后台用wp-config.php临时覆盖若新域打开后一直跳回旧域、无法登录在wp-config.php靠前位置?php之后临时加入define(WP_HOME,https://www.new.com);define(WP_SITEURL,https://www.new.com);把示例换成你的新域名完整地址含https://是否带www与最终方案保持一致。这两行会覆盖数据库里的home/siteurl用于应急进后台。进后台并完成全库替换后应删除这两行避免长期「配置与数据库双头管理」。4.3 备选直接改wp_options两行在 phpMyAdmin 打开表wp_options前缀以你的为准找到option_namesiteurloption_namehome把option_value改成新域名含协议。这只能解决「站点地址」本身文章内容、图片 URL、小工具里的旧域仍在所以还要做 4.4。4.4 用 Better Search Replace 做全库替换推荐插件官方推荐迁移换域流程大意如下与官方 FAQ 一致备份当前新库。确保已能用新域登录后台可用 4.2 临时常量。安装并启用Better Search Replace。进入「工具 → Better Search Replace」搜索https://www.old.com按你真实旧地址填写注意 http/https、是否 www替换为https://www.new.com选择全部表先勾选 Dry Run试运行确认匹配数量合理取消试运行正式执行若旧站同时存在http://与https://、带 www 与不带 www可能需要分次替换常见变体每次仍先 Dry Run。完成后删除wp-config.php里临时的WP_HOME/WP_SITEURL。到「设置 → 固定链接」点击保存一次重新生成重写规则。有 WP-CLI 时等价思路wp search-replacehttps://www.old.comhttps://www.new.com--all-tables --dry-run wp search-replacehttps://www.old.comhttps://www.new.com--all-tables确认 dry-run 结果无误后再去掉--dry-run正式执行。4.5 协议与主机头必须统一最终全站应统一为一种规范形式例如全部使用https://www.new.com避免库里同时残留http://www.new.comhttps://new.comhttps://www.old.com混用会导致登录循环、资源混合内容锁图标报警、部分图片裂图。第 5 阶段伪静态、缓存、功能复测5.1 重新保存固定链接后台「设置 → 固定链接」→ 直接「保存更改」即使规则看起来没变。这一步用于刷新 Apache.htaccess或提醒你去核对 Nginx 伪静态。5.2 Nginx宝塔伪静态站点 → 伪静态 → 选择 WordPress 规则并保存。规则缺失时首页可能正常但文章全是 404。5.3 清缓存页面缓存插件缓存CDN 缓存若有浏览器缓存否则你以为「没迁成功」其实只是旧缓存。5.4 功能复测清单首页、文章页、分类页可打开/wp-admin/可登录不再跳旧域特色图片与文章内图片正常菜单、小工具、页脚链接指向新域表单提交、邮件通知如有若有电商下单、支付回调域名是否需在支付平台改白名单第 6 阶段换域名后的 SEO——用 301 接住旧收录域名变了搜索引擎仍可能短期带着旧 URL。要用301 永久重定向把旧地址指到新地址尽量保留权重与书签流量。6.1 旧域名还要留多久建议旧域名的解析与主机或至少能承载跳转的服务保留一段时间常见实践是数月以上视业务重要性而定专门负责 301。旧域一停搜索引擎只能看到失效而不是「迁移」。6.2 Nginx 整站 301 示例在旧域名对应的站点配置中示例server { listen 80; listen 443 ssl; server_name www.old.com old.com; # SSL 证书配置按面板生成结果保留/填写 return 301 https://www.new.com$request_uri; }含义旧域任意路径跳到新域相同路径。若你换域时 URL 结构也变了需要额外做一对一映射不能只靠这一条。6.3 Apache.htaccess示例若旧站是 Apache可在旧站根目录使用RewriteEngine On RewriteCond %{HTTP_HOST} ^(www\.)?old\.com$ [NC] RewriteRule ^(.*)$ https://www.new.com/$1 [R301,L]6.4 Search Console 与收录收尾在 Google Search Console及你使用的其它站长平台添加并验证新属性。提交新站点地图SEO 插件生成的 sitemap。若平台提供「更换域名」类工具按官方流程使用。抽查若干旧文章 URL确认返回301且落在正确新 URL可用浏览器开发者工具 Network或线上 HTTP 状态检查工具。更新统计代码、广告平台、支付、企业微信/公众号菜单、名片与邮件签名中的域名。两种主流搬家方式怎么选方式适合谁优点注意手动打包文件 导出 SQL 搜索替换想可控、环境特殊过程透明便于排错步骤多URL 替换必须用序列化安全工具迁移插件如 All-in-One WP Migration、主机商迁移工具等中小站、求快步骤少注意免费版体积限制迁完仍要复查 URL、SSL、伪静态无论用哪种迁完后的验收清单不能省。插件不是免检金牌。翻车对照表迁完立刻能用现象最可能原因处理建立数据库连接出错wp-config库信息错核对 DB_NAME / USER / PASSWORD / HOST后台总跳到旧域名siteurl/home仍是旧域用WP_HOME/WP_SITEURL应急再全库替换图片仍指向旧域或裂图内容里旧 URL 未替换干净Better Search Replace / WP-CLI 再跑变体文章全 404首页正常伪静态未配或固定链接未刷新保存固定链接 检查 Nginx/Apache 规则登录死循环http/https 或 www 不一致统一协议与主机头清 cookie 再登样式丢失缓存或混合内容清缓存确保资源已是 https 新域可复制验收清单本地已有完整文件包 SQL新库导入成功wp-config与表前缀正确新域可进后台且不再被迫跳旧域已用序列化安全工具完成旧域 → 新域替换换域名时已删除临时WP_HOME/WP_SITEURL若曾添加固定链接已重新保存伪静态正确SSL 正常无大面积混合内容旧域 301 到新域换域名时Search Console / 统计 / 支付等外部依赖已更新表单、登录、关键转化路径已人工点测结语WordPress 迁移真正难的不是「把文件拷过去」而是URL 在数据库里的一致性以及换域名后的301 与验收。按「备份 → 新环境 → 导入 →换域则安全替换 → 伪静态与复测 → SEO 收尾」推进可以把「迁完站废了、收录断了」的风险压到最低。若你是「只换主机不换域」把精力放在数据库连接、PHP 版本与伪静态若「换了域名」把 Better Search Replace或 WP-CLI和旧域 301 当成必做项而不是可选优化。