WordPress网站搬家换服务器保姆级教程与高频问题解答

📍 WDQWDWQD987AAAAA:216.73.216.20
📱 Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
🔗 /996cf70930c8.html
📄

把 WordPress 网站从一个服务器搬到另一个服务器,本质上就是给网站换个新家,需要把网站文件和数据库原封不动地搬过去,并重新配置好连接关系。整个过程并不神秘,人人都能上手,但任何一个小环节出了岔子,都可能导致网站打不开或者数据丢失。下文按照实际操作顺序,一步步拆解迁移中的关键动作和容易踩的坑。

1. 迁移前的摸底与准备工作

动手前先花点时间了解新服务器的基本情况,这样做能帮你在迁移阶段省下不少折腾的时间。提前把该确认的信息都确认清楚,迁移过程就会顺畅很多。

2. 手动完成网站文件和数据库的备份

备份是迁移里最核心的一环,容不得半点马虎。虽然很多备份插件一键就能搞定,但手动备份能让你清楚每一个文件的位置和状态,遇到了问题排查起来也更直接。备份必须分成文件和数据库两部分来做,缺了哪一个,网站都不完整。

2.1 导出数据库的详细操作

登录旧主机的 phpMyAdmin,在左侧列表里找到你的 WordPress 数据库并点击选中。然后点击顶部的“导出”标签,在导出方法里选择“自定义”。确保输出格式是 SQL。在下面的“对象创建选项”区域,一定要勾选上“添加 DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT / TRIGGER 语句”这个选项。这样做的作用是,在新服务器导入这个文件时,如果数据库里已经存在同名的表,会先自动删除旧表再创建新表,避免因表结构冲突导致导入中断。设置完成后点击“执行”,把生成的 .sql 文件保存到本地电脑。

2.2 通过 FTP 完整下载网站文件

用 FTP 客户端连接旧服务器,进入网站根目录,通常是 public_html、www 或者其他站点专属目录。全选目录里的所有内容,注意不要漏掉隐藏文件。在 FileZilla 的顶部菜单栏里,点击“服务器”,勾选“强制显示隐藏文件”,这样才能保证 .htaccess 和 wp-config.php 这一类关键文件会被一并下载。下载过程中如果弹出一堆“传输失败”的提示,千万别一个个去重试,那样效率太低。建议先暂停,然后联系主机商协助把整个目录打包,否则遗漏文件会造成迁移后功能缺失。

避坑提醒:导出数据库时不勾选 DROP 语句的话,如果新数据库里已经有表,导入时很容易因为重名而报错。另外,wp-config.php 里的数据库主机地址如果没改成新环境的地址,网站前台就会提示“数据库连接错误”。这两个是小问题,却是最常见的大麻烦。

3. 将备份数据导入到新服务器

在开始导入之前,先确认新服务器上已经创建好了一个空的数据库,并且单独建立了一个数据库用户,赋予了该用户对这个库的全部权限。准备工作就绪后,就开始还原数据。

3.1 从 phpMyAdmin 导入数据库文件

  1. 登录新主机的 phpMyAdmin,在左侧选择刚才创建好的空数据库。
  2. 点击顶部“导入”标签,点击“选择文件”,选中之前下载好的 .sql 数据库备份文件。
  3. 点击底部的“执行”按钮,等待导入完成。如果文件比较大,页面可能会停留较长时间,这属于正常现象,不要中途关闭页面。
  4. 导入完成后,会显示一条 SQL 查询已成功执行的提示消息。这时候可以刷新一下页面,在左侧展开新数据库,能看到里面已经有了很多表,就说明导入成功了。

3.2 上传网站文件到新根目录

  1. 用 FTP 客户端连接新服务器,进入新环境的网站根目录。
  2. 把之前备份好的所有网站文件全部上传到这个目录里。如果使用打包方式,就先上传压缩包,再在主机面板里找到“文件管理器”,进入解压功能将压缩包解压到根目录。
  3. 确认 .htaccess、wp-config.php 这些隐藏文件已经被正确上传。
  4. 如果页面缓存或插件缓存有问题,可以暂时删除 wp-content/cache 目录下的缓存文件,避免残留旧缓存干扰新环境。

4. 修改关键配置文件并完成域名解析

文件和数据库都就位后,还剩最后两步关键的连接工作。如果这两个地方没处理好,网站无法正常运行。

4.1 修正 wp-config.php 中的连接信息

打开网站根目录下的 wp-config.php 文件,找到其中 DB_NAME、DB_USER、DB_PASSWORD 和 DB_HOST 这几行配置。把其中的数据库名称、用户名、密码和主机地址,替换成新服务器里刚创建好的那套数据。保存文件后重新上传到服务器覆盖原文件。有些网站可能还使用了 Redis 或 Memcached 这类内存缓存,其相关配置也有可能写在 wp-config.php 里,如果新环境没有安装对应服务,需要同时注释掉这些配置,否则网站会加载报错。

4.2 修改域名解析和资料库里的旧地址

如果你的域名要变更解析到新服务器上,需要去域名服务商处把 A 记录(或 CNAME 记录)修改为新服务器的 IP 地址。DNS 生效需要一些时间,通常从几分钟到 48 小时不等。在 DNS 还没完全生效的时候,你可能会看到网站内容里有些链接还是指向旧地址。这时候就需要登录新服务器后台,在“设置 - 常规”里修改站点地址和 WordPress 地址。如果后台无法登录,可以通过 phpMyAdmin 打开 wp_options 表,把 siteurl 和 home 两个选项的值直接改成新域名地址。如果数据库里文章或者页面写入了旧域名的绝对链接,可以用插件(如 Better Search Replace)把旧域名整体替换成新域名,避免发生图片和链接打不开的情况。

5. 迁移后的全面检查与性能验证

迁移完成不等于万事大吉,还需要对网站做一次全面的“体检”。前后端都要过一遍,确保线上体验没有受到影响。

6. 常见问题解答

针对迁移过程中网友最容易困惑的疑问,这里集中做一次说明。

6.1 迁移后网站一直提示“数据库连接错误”怎么办

这个提示几乎都是 wp-config.php 配置文件里的数据库信息和新环境不匹配导致的。优先检查 DB_NAME、DB_USER、DB_PASSWORD 以及 DB_HOST 是否准确无误。很多主机商会使用独立的数据库主机域名,而不是默认的 localhost,这种情况下容易填错导致连接失败。同时还要确认新数据库里的用户名有权限访问对应的数据库。

6.2 迁移完成后页面样式全乱了,图片也失效了,是什么原因

这种现象一般是因为数据库里的站点地址仍是旧域名,或者是文件目录结构不一致。在彻底修改域名之前,建议先用“Better Search Replace”这类工具把数据库里有旧域名的记录全部替换成新域名。替换范围通常覆盖 wp_options、wp_posts 和 wp_postmeta 等核心数据表。

6.3 迁移后只有首页能打开,其他页面全部 404,怎么修复

这通常是由于固定链接配置和服务器伪静态规则没有生效。先去后台的“设置 - 固定链接”里重新保存一次,这能最简单地刷新重写规则。如果问题依旧,就需要检查是不是服务器环境没有开启 mod_rewrite(Apache)或者 rewrite 模块(Nginx),确保根目录下存在可用的 .htaccess 文件。

7. 结语

WordPress 换服务器,说到底就是一次文件搬运和连接关系的重建。只要在迁移前对好版本和环境,迁移中认真执行文件和数据库两套备份并核对导入导出细节,迁移后做好域名解析和配置修改,整个过程就没有想象中那么复杂。搬家最容易出问题的阶段多集中在 DNS 生效期和配置刷新上,预留充足的时间处理,同时把旧服务器数据再保留一段时间,确认新站完全稳定后再清除旧资料,这样才算真正稳妥地完成了搬家。

图1 图2

nginx