跳转到内容
如何迁移WordPress网站:手动、插件和主机方法
WordPress教程📖 教程

如何迁移WordPress网站:手动、插件和主机方法

Erik KellerErik Keller更新于: 14 分钟阅读401 浏览

迁移一个WordPress网站——无论是迁移到新的主机、改变域名,还是从临时环境转移到生产环境——都是大多数WordPress用户在某个时候会面临的任务。如果操作正确,迁移只需30-60分钟且不会有停机时间。如果操作不当,可能会导致链接损坏、图片丢失、数据库错误和数小时的故障排除。

在本指南中,我们涵盖了三种迁移方法:手动迁移(完全控制)、插件辅助迁移(简化操作)和托管服务提供商迁移(便捷)。每种方法都包括逐步说明和验证检查清单。

迁移前:准备检查清单

步骤重要性如何操作
创建完整备份迁移失败时的安全网使用 UpdraftPlus 或手动导出
记录当前设置迁移后验证的参考截图wp-admin设置、活动插件列表、永久链接结构
检查服务器要求确保新主机满足WordPress最低要求PHP 8.0+,MySQL 5.7+ / MariaDB 10.4+,支持HTTPS
记录DNS设置迁移后需要更新DNS从注册商导出当前DNS记录
减少TTL加快迁移后的DNS传播在迁移前24小时将DNS TTL设置为300秒(5分钟)

方法1:手动迁移(完全控制)

手动迁移让您对整个过程拥有完全控制权。这是开发人员和具有自定义配置的复杂网站的首选方法。

步骤1:导出数据库

通过SSH或phpMyAdmin连接到当前主机并导出WordPress数据库:

使用命令行(SSH):

  • 运行:mysqldump -u username -p database_name > backup.sql
  • 将backup.sql文件下载到本地计算机

使用phpMyAdmin:

  • 选择您的数据库 → 导出 → 快速导出 → SQL格式 → 转到
  • 保存.sql文件

步骤2:复制所有文件

从当前服务器下载所有WordPress文件:

  • 通过SFTP连接(FileZilla、WinSCP或Cyberduck)
  • 下载整个WordPress目录(wp-content、wp-admin、wp-includes、根文件)
  • 或者,创建一个压缩档案:tar -czf wordpress-backup.tar.gz /path/to/wordpress/

wp-content目录是最重要的——它包含您的主题、插件、上传的文件(图片)和配置文件。

步骤3:将文件上传到新服务器

  • 通过SFTP上传或在新服务器上解压缩档案
  • 确保文件权限正确:目录为755,文件为644
  • 验证wp-config.php文件存在但需要更新

步骤4:在新服务器上创建数据库

  • 在新主机上创建一个新的MySQL数据库和用户
  • 授予用户对新数据库的完全权限
  • 导入数据库:mysql -u new_username -p new_database < backup.sql

步骤5:更新wp-config.php

在新服务器上使用新的数据库凭据编辑wp-config.php:

  • DB_NAME → 新数据库名称
  • DB_USER → 新数据库用户名
  • DB_PASSWORD → 新数据库密码
  • DB_HOST → 通常为'localhost',但请与您的主机确认

步骤6:搜索和替换URL(如果更改域名)

如果您的域名正在更改,您需要更新数据库中的所有URL。WordPress为图片、链接和序列化数据存储绝对URL。使用WP-CLI工具或Search Replace DB脚本:

  • wp search-replace 'https://old-domain.com' 'https://new-domain.com' --all-tables
  • 这正确处理序列化数据(与简单的 SQL 查找和替换不同)

步骤 7:更新 DNS

将您域名的 DNS 记录指向新服务器的 IP 地址。在您的域名注册商处更新 A 记录(以及 IPv6 的 AAAA 记录)。将 TTL 设置为 300 秒(从准备开始),传播通常在 5-30 分钟内完成。

方法 2:插件迁移(最简单)

迁移插件自动处理技术细节。这是推荐给不熟悉 SSH 和数据库管理的用户的方法。

推荐的迁移插件

插件免费限制主要功能
All-in-One WP Migration512 MB 导出一键导出/导入,包含 URL 替换
UpdraftPlus Premium备份免费,迁移付费增量备份,云存储,网站克隆
Duplicator Pro500 MB 导出(免费)创建安装包,处理序列化数据
WP Migrate有限(免费)在环境之间推送/拉取,仅数据库迁移

迁移过程(All-in-One WP Migration)

  1. 在源站点上安装:在当前站点上安装并激活插件
  2. 导出:转到 All-in-One → 导出 → 导出到 → 文件。插件创建一个 .wpress 归档
  3. 在目标上安装 WordPress:在新主机上设置一个全新的 WordPress 安装
  4. 在目标上安装插件:在新的 WordPress 安装上安装相同的插件
  5. 导入:转到 All-in-One → 导入 → 上传 .wpress 文件
  6. 完成:插件自动替换数据库、文件并更新 URL

方法 3:托管提供商迁移

许多托管提供商提供免费的迁移服务或内置迁移工具:

  • SiteGround:通过他们的 Migrator 插件提供免费的 WordPress 迁移
  • Cloudways:由他们的团队提供的第一次免费迁移
  • Kinsta:所有计划均包含免费的迁移,由他们的团队处理
  • WP Engine:自动迁移插件

托管辅助迁移是最简单的选项,但给您控制权最少。对于具有自定义配置、定时任务或非标准设置的网站,手动或插件迁移更可靠。

迁移后验证检查清单

检查如何验证如果失败
主页加载正确在浏览器中访问您的域名检查 DNS 传播,验证数据库连接
管理员登录正常转到 /wp-admin 并登录检查 wp-config.php 数据库凭据
永久链接正常点击任意帖子或页面转到 设置 → 永久链接 → 保存(重新生成 .htaccess)
图像显示正确浏览几个包含图像的页面在上传路径中运行旧域名的搜索替换
表单成功提交测试所有联系表单检查 SMTP 设置,表单插件配置
SSL 证书有效检查浏览器中的锁定图标在新主机上安装 SSL,将 WordPress URL 更新为 https
电子邮件发送正常触发密码重置电子邮件配置 SMTP 插件(WP Mail SMTP)
WooCommerce 正常运行测试添加到购物车和结账流程验证支付网关密钥,运输区域
定时任务运行正常检查 WP-Crontrol 中的计划任务验证 wp-cron 是否启用或设置服务器
搜索功能测试站点搜索如果使用搜索插件,重建搜索索引

常见迁移问题及解决方案

问题原因解决方案
迁移后白屏PHP版本不匹配或插件冲突启用WP_DEBUG,检查PHP版本,通过FTP禁用插件
混合内容警告某些URL仍使用http://而不是https://运行搜索替换: http://domain.com → https://domain.com
图像损坏上传路径未更新或文件丢失验证wp-content/uploads目录,运行URL搜索替换
数据库连接错误wp-config.php中的凭据错误验证DB_NAME,DB_USER,DB_PASSWORD,DB_HOST
除主页外所有页面404永久链接.htaccess未重新生成设置 → 永久链接 → 保存更改
重定向循环旧的CDN或缓存规则冲突清除所有缓存,检查.htaccess以寻找冲突的重定向

有关更多详细信息,请参阅官方文档: WordPress 迁移文档.

常见问题解答

WordPress迁移需要多长时间?

典型的迁移过程需要30-60分钟。DNS传播可能会根据您的TTL设置和ISP缓存增加5分钟到48小时。在迁移前24小时将TTL减少到300秒可以最小化传播延迟。

迁移过程中会丢失数据吗?

如果您遵循备份优先的方法,就不会丢失数据。在开始之前创建完整备份,并且在验证新主机上的一切正常之前不要删除旧站点。备份确保您可以在出现问题时恢复到原始状态。

我可以在不宕机的情况下迁移WordPress网站吗?

可以。关键是在更新DNS之前完成新服务器上的迁移。在新主机上设置网站,验证一切正常(使用临时URL或hosts文件条目),然后更新DNS。在DNS传播之前,用户将由旧服务器提供服务,之后无缝切换到新服务器。

迁移后我需要重新安装插件和主题吗?

不需要。完整迁移(文件 + 数据库)包括所有插件、主题、上传和设置。一切都按原样转移。您应该验证插件是否处于活动状态并正确配置,但不需要重新安装。

如果我的网站太大,无法使用迁移插件怎么办?

超过2-5 GB的网站(媒体密集型网站常见)可能会遇到上传限制或迁移插件的超时问题。在这种情况下,请使用手动方法:通过SSH/SFTP传输文件,并通过命令行导入数据库。可以使用--max_allowed_packet参数拆分大型数据库。

我应该在迁移之前还是之后更新WordPress、插件和主题?

在源站点上迁移之前更新,并在更新后验证一切正常。迁移已经更新的网站可以避免在不熟悉的服务器上排查更新问题的复杂性。有关安全性和性能最佳实践,请参阅我们的WordPress维护清单

可靠的WordPress备份和迁移

获取UpdraftPlus Premium以实现自动备份、云存储集成和一键站点迁移。GPL许可,适用于无限站点。

浏览UpdraftPlus Premium →

常见问题

WordPress迁移需要多长时间?
典型的迁移时间为1-4小时,具体取决于网站规模和方法。使用插件迁移的小型网站通常在一小时内完成。大型网站如果有大量数据库、媒体库或复杂配置,可能需要几个小时。
迁移期间我的网站会有停机时间吗?
通过合理规划,停机时间可以缩短到几分钟。推荐的方法是先在新主机上设置网站,测试一切正常后再更新DNS记录。DNS传播通常需要24-48小时,但访问者会逐渐被重定向。
迁移后我需要重新安装插件和主题吗?
不会。完整的迁移包括所有文件(主题、插件、上传)和数据库(设置、内容、选项)。所有内容都会按原样转移。如果域名更改,可能需要更新文件路径或URL。
我可以将WordPress网站迁移到不同的域名吗?
是的。在移动文件和数据库后,使用WP-CLI或搜索替换工具更新数据库中的WordPress URL和站点URL。所有内部链接和引用需要从旧域名更新到新域名。
完成迁移后我应该检查什么?
验证主页和关键页面是否正确加载,测试表单和结账流程,检查图像和媒体是否正常显示,验证SSL证书是否有效,测试电子邮件功能,并检查计划任务和定时任务是否正常运行。

分享此文章

关于作者

Erik Keller
Erik Keller

WordPress 专家

资深WordPress专家,在主题、插件和WooCommerce开发方面拥有丰富经验。热衷于帮助企业通过WordPress解决方案取得成功。

WordPressWooCommerce主题开发插件开发性能优化

保持更新

在您的收件箱中获取最新的WordPress技巧和教程。