WordPress网站换服务器全流程:迁移步骤与常见问题解答

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

WordPress 网站搬迁到新服务器,核心任务是将网站文件和数据库完整复制到新环境,并确保所有配置正常运作。整个过程不需要高深的编程知识,但任何一个环节的疏漏,比如漏传文件或数据库导入出错,都可能导致网站宕机或数据丢失。本文按照实际操作的先后顺序,为你梳理迁移的完整流程,并指出每一步需要注意的细节。

1. 迁移前的准备工作:核对环境与备份策略

在动手打包任何数据之前,先花时间了解新服务器的配置情况,可以省去后续大量的排查时间。这个阶段虽然不会直接产生迁移动作,但直接关系到迁移是否顺利。

2. 手动备份网站文件与数据库

虽然市面上有许多备份插件,但手动备份更直观,能让你清楚掌握文件的存放位置和数据库的导出格式,出现问题也更容易定位。文件和数据库需要分开处理,两者缺一不可。

2.1 正确导出数据库

登录旧主机的phpMyAdmin,选中WordPress对应的数据库。点击顶部的“导出”选项卡,在导出方式中选择“自定义”。确保输出格式为SQL,并在“对象创建”选项区域中,勾选“添加DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT / TRIGGER语句”。这样做能确保在导入新库时,若存在同名表会先被删除,避免表结构冲突导致导入中断。设置完成后点击“执行”,将生成的SQL文件保存到本地电脑。

2.2 完整下载网站文件

使用FTP工具连接旧服务器,进入网站根目录(常见目录名为public_html、wwwroot或站点专属文件夹)。全选目录下所有内容进行下载。注意在FileZilla等工具的菜单栏中,开启“强制显示隐藏文件”选项,否则像.htaccess和wp-config.php这类关键文件会被默认隐藏,导致下载不完整。如果下载过程中遇到大量文件传输失败,不要反复重试某个文件,应立即暂停,考虑改用主机商协助打包的方式,以防因文件缺失造成迁移后网站功能异常。

避坑提醒:数据库导出时若遗漏DROP语句,当新数据库中已有同名表时,导入过程会直接报错。另外,wp-config.php文件中的数据库主机字段与新环境不符,网站会提示“数据库连接错误”。

3. 上传文件并导入数据库到新服务器

在开始导入前,务必确保已在新服务器上创建好空数据库和专用的数据库用户,并为该用户授予全部权限。完成这些前置操作后,即可开始还原数据。

3.1 创建数据库并导入SQL文件

  1. 在旧主机phpMyAdmin的“导出”页面,找到“另存为文件”选项,并将文件名格式设置为gzip压缩格式。若未选择压缩,导出的SQL文件可能较大,导入时容易超出上传限制。
  2. 登录新服务器的phpMyAdmin,点击左侧的数据库名称以选中目标库。切换到“导入”选项卡,点击“选择文件”按钮,上传上一步导出的压缩包文件。保持默认的SQL格式,点击“执行”按钮。导入完成后,页面会显示成功的提示信息。
  3. 导入后建议在“结构”标签页下,检查主要的数据表(如wp_posts、wp_options)是否存在且记录数不为零,以确认数据完整还原。

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

将之前下载的网站文件上传到新服务器的根目录。上传时保持原有的目录层级结构,不要改变文件的位置。同样需要确保隐藏文件被一并上传,例如.htaccess文件对固定链接功能至关重要。上传完成后,你会看到新服务器目录下同时存在wp-admin、wp-includes和wp-content等核心文件夹。

4. 调整配置文件并更新域名解析

文件上传和数据库导入只是迁移的一半,修改配置文件并让域名指向新服务器,才是真正让网站在新环境“活过来”的关键。

4.1 修改wp-config.php文件

在网站根目录找到wp-config.php文件,用文本编辑器打开,找到以下三行代码并修改为新服务器对应的值:

同时,检查wp-config.php中是否有独特的安全密钥(由define定义),如果没有,建议从官方生成密钥并替换,以增强站点安全性。但需注意,修改密钥会导致用户自动退出登录,不影响其他数据。

4.2 更新域名DNS解析

登录你的域名注册商后台,找到DNS解析设置。将原来指向旧服务器IP的A记录或CNAME记录,修改为新服务器的IP地址。DNS生效需要一定时间,通常从几分钟到48小时不等。如果网站在迁移前已经能通过新IP访问,也可以先修改本地电脑的hosts文件进行测试,待确认无误后再做全局DNS切换。

5. 处理域名与固定链接的匹配问题

如果网站迁移后更换了域名,仅修改DNS是不够的,还需要对数据库中的旧域名进行全局替换。否则,文章内部的图片链接、内链地址以及后台设置会继续指向旧域名,导致页面样式错乱或链接失效。

  1. 在phpMyAdmin中,选择目标数据库,点击“SQL”选项卡。
  2. 执行以下SQL语句,将example.com替换为你的新域名(注意将表前缀wp_替换为实际的前缀): UPDATE wp_options SET option_value = REPLACE(option_value, 'http://www.old-domain.com', 'http://www.new-domain.com') WHERE option_name IN ('siteurl', 'home');
  3. 再执行批量替换内容表内链接的语句: UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://www.old-domain.com', 'http://www.new-domain.com');

完成替换后,登录旧域名下的后台,点击“设置-固定链接”,不需要改动任何选项,直接点击“保存设置”以刷新重写规则。如果网站使用了自定义的缓存插件,建议同时清空缓存文件。

6. 迁移后的完整检查清单

DNS生效后,网站应该可以通过域名正常访问。这时候不要急着宣布大功告成,还需要对网站功能和数据进行一次系统性的核对。以下是推荐的检查步骤:

7. 常见问题

7.1 网站迁移后前台能打开,但后台登录页显示重定向次数过多

这个问题通常是缓存导致的。先清空浏览器缓存和站点本地的网页缓存插件(如WP Rocket或W3 Total Cache)。如果仍未解决,检查wp-config.php中是否定义了WORDPRESS_HOME和WP_SITEURL常量,确保其值指向新域名。此外,部分安全插件(如Wordfence)会锁定IP白名单,若旧IP不在新环境的白名单中,也可能触发重定向循环。

7.2 数据库连接错误:无法选择数据库

这是迁移后最常见的报错。首先检查wp-config.php中的DB_NAME、DB_USER和DB_PASSWORD是否准确无误。其次,确认新服务器的MySQL中确实存在该数据库,且用户名具有本地访问权限。部分主机商要求数据库用户主机字段设置为特定值(如localhost或%),若设置不匹配也会导致连接失败。

7.3 迁移后旧域名的图片链接无法正常显示

若未通过SQL语句批量替换wp_posts表中的内容,站内图片等静态资源会继续请求旧地址。需要再次登录phpMyAdmin,在SQL执行窗口运行UPDATE wp_posts SET post_content = REPLACE(post_content, '旧域名', '新域名');,并同步替换自定义字段等。若使用了第三方图床,则需确认外链地址是否仍然有效。

8. 结语

顺利完成WordPress迁移,核心在于严谨的备份、细致的参数核对和迁移后的逐项验证。在整个操作过程中,强烈建议先在本地或临时子目录中完成一次试迁移,熟悉流程后再对线上站点进行正式操作,能极大降低出错风险。迁移完成后,建议及时对全站做一次增量备份,并将新环境的数据库密码、FTP凭据妥善保管,以便在后续出现问题时能快速恢复。

图1 图2

nginx