如何将WordPress网站迁移到另一个主机(完整分步指南)
将WordPress网站迁移到新的托管提供商可能会让人感到不知所措,但采用正确的方法,这是一个直接的过程,可以保留每一篇文章、页面、插件和数据库记录。无论您是升级到更快的服务器、为了获得更好的价格而更换提供商,还是迁移到更强大的环境,本指南都会引导您完成每一步——从备份文件到在新主机上测试您的实时网站。
为什么要迁移您的WordPress网站?
有许多合理的理由将WordPress安装迁移到新的托管环境:
- 性能升级 — 迁移到NVMe驱动的VPS托管与共享环境相比可以显著减少页面加载时间。
- 可扩展性 — 您当前的主机无法跟上不断增长的流量。
- 成本效益 — 以更低的月价格获得更好的资源。
- 安全性改进 — 访问DDoS保护、防火墙和隔离环境。
- 完整的服务器控制 — 根访问权限让您完全按需配置PHP、NGINX、Apache和缓存层。
无论您的原因如何,遵循结构化的迁移过程可确保零数据丢失和最小停机时间。
开始前:迁移前检查清单
在不做准备的情况下仓促进行迁移是导致数据丢失和延长停机时间的最常见原因。在触及任何文件之前,请完成以下步骤:
1. 选择您的新托管提供商
选择与您网站当前和未来需求相匹配的托管计划。考虑:
- 存储类型 — NVMe SSD与传统HDD
- RAM和CPU分配
- PHP版本支持
- 控制面板可用性(cPanel、Plesk、DirectAdmin)
- 支持质量和响应时间
如果您运行的是不断增长的WordPress网站,带有cPanel的VPS为您提供了专用环境的灵活性和图形控制面板的熟悉性——非常适合在没有命令行专业知识的情况下管理数据库、文件和电子邮件帐户。
2. 创建WordPress网站的完整备份
永远不要在没有经过验证的完整备份的情况下开始迁移。完整的WordPress备份包括两个组件:
- 所有WordPress文件(主题、插件、上传、核心文件和配置)
- MySQL数据库(所有文章、页面、设置、用户和元数据)
两者都必须备份并安全存储后才能继续。
第1步:备份您的WordPress文件
选项A:使用FTP客户端(FileZilla)
- 下载并安装FileZilla(或您选择的任何FTP/SFTP客户端)。
- 使用您的FTP凭证连接到您当前的托管服务器:
- 主机:您的服务器IP或域名
- 用户名:您的FTP用户名
- 密码:您的FTP密码
- 端口:
21(FTP)或22(SFTP——出于安全考虑推荐)
- 导航到您的WordPress根目录 — 这通常是
public_html/或www/。 - 选择所有文件和文件夹,包括隐藏文件(例如
.htaccess)。在FileZilla中,在服务器→强制显示隐藏文件下启用隐藏文件可见性。 - 将所有内容下载到您本地计算机上的专用文件夹。
选项B:使用您的托管控制面板文件管理器
- 登录您当前的托管控制面板(cPanel、Plesk等)。
- 打开文件管理器。
- 导航到
public_html/(或您的WordPress根目录)。 - 选择所有文件,将它们压缩为
.zip存档。 - 将存档下载到您的本地计算机。
> 专业提示:在继续之前,验证下载的存档是否完整且未损坏。不完整的备份与没有备份一样危险。
第2步:导出您的WordPress数据库
您的WordPress数据库包含使您的网站独特的所有内容——所有内容、用户帐户、设置和插件数据。正确导出它至关重要。
第2.1步:在您当前的主机上访问phpMyAdmin
- 登录您的当前托管控制面板。
- 导航到数据库部分并打开phpMyAdmin。
- 在左侧边栏中,单击您的WordPress数据库(数据库名称在您的
wp-config.php文件中的DB_NAME下列出)。
第2.2步:导出数据库
- 单击phpMyAdmin界面顶部的导出选项卡。
- 选择快速导出方法以进行标准的完整导出。
- 确保格式设置为SQL。
- 单击执行 — phpMyAdmin将下载一个
.sql文件到您的计算机。
> 重要:保管好这个.sql文件。它是您的WordPress数据库的完整快照,没有您的原始服务器是无法替代的。
第3步:将您的WordPress文件上传到新主机
备份了文件和数据库后,现在是时候设置您的新托管环境了。
第3.1步:连接到您的新托管服务器
使用您的FTP/SFTP客户端和您的新托管提供商提供的凭证。如果您选择了VPS托管计划,您也可以通过SSH连接以使用scp或rsync进行更快的文件传输。
使用SSH上的rsync(推荐给VPS用户):
rsync -avz --progress /local/path/to/wordpress/ user@new-server-ip:/var/www/html/这种方法对于大型网站的传输速度明显快于FTP,并保留文件权限。
第3.2步:上传所有WordPress文件
- 导航到您新服务器上的根网络目录(通常是
public_html/或/var/www/html/)。 - 上传所有文件和文件夹从您的本地WordPress备份,包括隐藏文件如
.htaccess。 - 等待传输完全完成后再继续。
第4步:在新主机上创建新数据库
第4.1步:创建数据库和用户
- 登录您的新托管控制面板。
- 导航到MySQL数据库(或等效项)。
- 创建新数据库 — 选择一个描述性名称(例如
wp_newsite)。 - 创建新数据库用户,使用强密码。
- 将用户分配给数据库,具有所有权限。
- 记下数据库名称、用户名和密码 — 您很快就会需要这些。
第4.2步:通过phpMyAdmin导入数据库
- 在您的新托管控制面板上打开phpMyAdmin。
- 从左侧边栏选择新创建的数据库。
- 单击导入选项卡。
- 单击选择文件并选择您之前导出的
.sql文件。 - 将所有设置保留为默认值,然后单击执行。
- 等待导入完成 — 您应该看到成功确认消息。
> 注意:对于大型数据库(超过50MB),phpMyAdmin可能会超时。在这种情况下,在VPS上使用命令行:
> “`bash
> mysql -u new_database_user -p new_database_name < /path/to/backup.sql
> “`
第5步:更新wp-config.php
wp-config.php文件是您的WordPress文件和数据库之间的桥梁。迁移到新服务器后,您必须使用新的数据库凭证更新它。
定位并编辑wp-config.php
- 在您新服务器的根WordPress目录中,找到名为
wp-config.php的文件。 - 在文本编辑器中打开它(Notepad++、VS Code或通过SSH使用
nano)。 - 使用您的新数据库详细信息更新以下行:
define( 'DB_NAME', 'new_database_name' );
define( 'DB_USER', 'new_database_user' );
define( 'DB_PASSWORD', 'new_database_password' );
define( 'DB_HOST', 'localhost' ); // Usually 'localhost' — confirm with your host- 保存文件,如果您在本地编辑,请将其上传回服务器。
> 安全提示:当您打开wp-config.php时,验证您的AUTH_KEY、SECURE_AUTH_KEY和其他密钥是否存在。您可以使用WordPress密钥生成器重新生成它们。
第6步:更新域名DNS设置
如果您保留相同的域名但将其指向新服务器,您需要更新DNS记录。
第6.1步:登录您的域名注册商
访问您的域名注册的控制面板。如果您还没有注册域名或需要转移一个,通过您的托管提供商进行域名注册可以通过将所有内容保存在一个地方来简化管理。
第6.2步:更新名称服务器或A记录
您有两个选项:
选项A — 更新名称服务器(如果完全更换托管,推荐):
- 用您的新托管提供商提供的名称服务器替换现有的名称服务器。
- 示例:
ns1.newhost.com和ns2.newhost.com
选项B — 更新A记录(如果保留您当前的DNS提供商):
- 更新您的域名(和
www子域)的A记录以指向您新服务器的IP地址。
第6.3步:等待DNS传播
DNS更改可能需要从几分钟到48小时才能在全球范围内完全传播。在此期间,某些访问者可能仍会看到旧网站。要在DNS传播之前测试您的新网站,请使用您系统的hosts文件将域名本地指向新IP。
在Linux/macOS上:
sudo nano /etc/hosts
# Add: NEW_SERVER_IP yourdomain.com www.yourdomain.com在Windows上:
以管理员身份编辑C:WindowsSystem32driversetchosts。
第7步:安装并配置SSL证书
一旦您的域名指向新服务器,请使用HTTPS保护您的网站。有效的SSL证书对于用户信任、数据安全和Google搜索排名至关重要。
如果您的新托管计划不包括免费SSL证书,您可以通过SSL证书获得一个 — 提供域名验证、组织验证和扩展验证等级以适应任何网站类型。
对于VPS用户,您也可以使用Certbot安装免费的Let’s Encrypt证书:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com第8步:测试您迁移的WordPress网站
DNS传播和SSL配置后,在宣布迁移完成之前彻底测试您的网站。
基本测试检查清单
| 测试 | 检查内容 |
|---|---|
| 主页加载 | 正确的内容、图像和布局 |
| 内部链接 | 所有导航链接正确解析 |
| 联系表单 | 表单提交有效且电子邮件已送达 |
| 媒体文件 | 图像和视频显示无损坏链接 |
| 管理员登录 | WordPress仪表板可在/wp-admin/访问 |
| 插件 | 所有活跃插件正常运行 |
| SSL/HTTPS | 挂锁图标可见;无混合内容警告 |
| 页面速度 | 运行GTmetrix或Google PageSpeed Insights测试 |
修复永久链接
迁移后,WordPress永久链接结构有时会中断。要刷新它们:
- 登录您的WordPress管理仪表板。
- 导航到设置→永久链接。
- 单击保存更改(不更改任何内容) — 这会重新生成
.htaccess重写规则。
第9步:排除常见迁移问题
即使经过仔细准备,问题也可能出现。以下是最常见的问题及其解决方案:
错误:”建立数据库连接时出错”
原因:wp-config.php中的数据库凭证不正确。
解决方案:
- 仔细检查
DB_NAME、DB_USER、DB_PASSWORD和DB_HOST在wp-config.php中。 - 确认数据库用户已被授予数据库的完整权限。
- 在某些主机上,
DB_HOST可能不是localhost— 检查您的托管控制面板以获取正确的主机名。
错误:图像损坏或媒体文件丢失
原因:媒体文件未上传,或WordPress引用旧域的URL。
解决方案:
- 验证
wp-content/uploads/中的所有文件都已传输。 - 使用Better Search Replace插件更新数据库中的旧URL:
- 替换:
http://oldsite.com - 为:
https://newsite.com
错误:白屏死亡(WSOD)
原因:PHP错误、不兼容的插件或内存限制。
解决方案:
- 在
wp-config.php中启用WordPress调试模式:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );- 检查
/wp-content/debug.log以获取错误详细信息。 - 通过通过FTP重命名
plugins文件夹来临时停用所有插件。
错误:除主页外所有页面都显示404
原因:迁移后未重新生成永久链接结构。
解决方案:在WordPress管理中转到设置→永久链接并单击保存更改。
错误:重定向循环
原因:SSL/HTTPS设置冲突,或siteurl/home值在数据库中指向错误的URL。
解决方案:
- 通过phpMyAdmin更新数据库中的
siteurl和home:
UPDATE wp_options SET option_value = 'https://yournewdomain.com' WHERE option_name = 'siteurl';
UPDATE wp_options SET option_value = 'https://yournewdomain.com' WHERE option_name = 'home';为您的WordPress网站选择合适的托管
迁移的成功也在很大程度上取决于您新托管环境的质量。以下是将您网站的需求与正确计划相匹配的快速指南:
| 网站类型 | 推荐托管 |
|---|---|
| 小型博客、个人网站 | 共享网络 |
