迁移前:准备工作(至关重要!)
在开始任何操作之前,请务必完成以下准备工作,这能帮你规避 90% 的风险。
-
备份,备份,再备份!
- 网站文件备份:通过 FTP 或主机控制面板的文件管理器,下载你网站根目录下的所有文件,通常是一个名为
public_html、www或htdocs的文件夹。 - 数据库备份:登录你的主机控制面板(如 cPanel, Plesk),找到“phpMyAdmin”工具,选择你的 WordPress 数据库,然后点击“导出”,选择“快速”导出格式,确保格式为“SQL”,然后点击“执行”下载
.sql文件。 - 推荐插件:安装并使用插件(如 UpdraftPlus 或 All-in-One WP Migration)进行一键备份,它们会同时备份文件和数据库,并生成一个可下载的压缩包,非常方便。
- 网站文件备份:通过 FTP 或主机控制面板的文件管理器,下载你网站根目录下的所有文件,通常是一个名为
-
记录关键信息
- 旧站点信息:
- 网站地址:
http://www.oldsite.com - 数据库信息:主机名、数据库名、数据库用户名、数据库密码,这些可以在
wp-config.php文件中找到,也可以在主机控制面板的数据库设置里看到。
- 网站地址:
- 新站点信息:
- 网站地址:
http://www.newsite.com(或临时域名,如http://temp.newsite.com)
- 网站地址:
- 旧站点信息:
-
选择迁移方法
- 新手/懒人方法:使用插件(强烈推荐,最简单、最安全)。
- 手动方法:通过 FTP 和 phpMyAdmin 进行(适合有一定技术基础的用户,能更好地理解原理)。
- 主机自带工具:一些主机服务商(如 SiteGround, Kinsta)提供免费的站点迁移服务或一键迁移工具。
使用插件迁移(最推荐)
这是最简单、最不容易出错的方法,强烈推荐给所有用户。
步骤 1:在旧站点安装迁移插件
- 登录你的旧站点 WordPress 后台。
- 进入“插件” -> “安装插件”。
- 搜索并安装 All-in-One WP Migration 或 UpdraftPlus。
- All-in-One WP Migration:界面直观,操作简单,有免费版和付费版(免费版对大多数迁移足够了)。
- UpdraftPlus:功能强大,支持多种云存储,免费版也完全够用。
步骤 2:使用插件导出网站
以 All-in-One WP Migration 为例:
- 安装并激活插件后,在左侧菜单会看到“All-in-One WP Migration”。
- 点击它,然后选择“导出”。
- 插件会自动打包你的网站文件、主题、插件和数据库。
- 打包完成后,会提供一个下载按钮。点击下载完整的网站包,这个文件通常是一个
.wpress或.zip格式的文件。
步骤 3:在新站点导入网站
- 重要:在新站点上,请务必先安装并激活 同一个迁移插件(旧站点用的是 All-in-One,新站点也要安装 All-in-One)。
- 登录新站点的 WordPress 后台。
- 进入该插件的页面(All-in-One WP Migration”)。
- 选择“导入”。
- 点击“选择文件”按钮,上传你在旧站点下载的那个
.wpress文件。 - 上传并导入完成后,插件会提示你进行“站点替换”或“站点配置”。
步骤 4:处理域名和站点地址
这是最关键的一步!插件通常会自动帮你完成,但最好检查一下。
- 在导入成功后,插件会提供一个“站点设置”页面。
- 你需要修改两个地址:
- WordPress 地址 (URL):将其改为你的新域名,
http://www.newsite.com。 - 站点地址 (URL):同样改为你的新域名。
- WordPress 地址 (URL):将其改为你的新域名,
- 保存设置。
步骤 5:完成并测试
- 清除缓存:在新站点的缓存插件(如 WP Rocket, W3 Total Cache)中清除所有缓存,如果使用了 CDN(如 Cloudflare),也要在 CDN 后台清除缓存。
- 测试网站:
- 访问你的新域名,确保网站能正常打开。
- 检查所有页面、文章、图片是否都显示正常。
- 检查导航菜单、侧边栏、页脚等元素是否完好。
- 测试一下联系表单、购物车等交互功能是否正常。
- 更新 DNS:确认网站在新域名上一切正常后,再到你的域名注册商那里,将域名的 DNS 指向新主机的服务器,这个过程可能需要几分钟到 48 小时不等(DNS 解析生效时间)。
手动迁移(FTP + phpMyAdmin)
如果你想深入了解迁移过程,或者插件迁移失败,可以尝试手动方法。
步骤 1:下载旧站点文件
- 使用 FTP 客户端(如 FileZilla)连接到旧主机。
- 下载整个网站根目录(
public_html或www)到你的电脑。
步骤 2:导出旧站点数据库
- 登录旧主机的控制面板,进入 phpMyAdmin。
- 选择你的 WordPress 数据库。
- 点击“导出”选项卡。
- 选择“快速” - 显示“SQL”,然后点击“执行”。
- 将下载的
.sql文件保存到电脑上。
步骤 3:上传文件到新站点
- 使用 FTP 连接到你的新主机。
- 将你从旧站点下载的所有文件上传到新主机的根目录中。注意:如果新站点已经有默认的页面文件(如
index.html),请先删除它们,再覆盖上传。
步骤 4:创建新数据库
- 登录新主机的控制面板。
- 找到“MySQL 数据库”或“数据库”工具。
- 创建一个新的数据库,记下数据库名、用户名和密码。
步骤 5:修改 wp-config.php 文件
-
在你的电脑上,找到刚刚上传的
wp-config.php文件(它在网站根目录下)。 -
用文本编辑器打开它,找到以下几行并修改为新数据库的信息:
/** WordPress 数据库的名称 */ define('DB_NAME', 'new_database_name'); /** MySQL 数据库用户名 */ define('DB_USER', 'new_database_user'); /** MySQL 数据库密码 */ define('DB_PASSWORD', 'new_database_password'); /** MySQL 主机 */ define('DB_HOST', 'localhost'); // 大多数情况下是 localhost,如果不是,请查看你的主机商提供的信息
步骤 6:导入数据库
- 登录新主机的 phpMyAdmin。
- 选择你刚刚创建的那个新数据库。
- 点击“导入”选项卡。
- 点击“选择文件”,然后选择你从旧站点导出的那个
.sql文件。 - 点击“执行”等待导入完成。
步骤 7:搜索并替换域名
这是手动方法中最容易出错的一步!数据库中仍然存储着旧域名,必须全部替换。
-
在 phpMyAdmin 中,确保你仍在那个新数据库里。
-
点击顶部的“SQL”选项卡,执行一个搜索替换命令。
-
在输入框中粘贴以下代码,务必将
http://www.oldsite.com和http://www.newsite.com替换成你自己的旧域名和新域名!UPDATE wp_options SET option_value = replace(option_value, 'http://www.oldsite.com', 'http://www.newsite.com') WHERE option_name = 'home' OR option_name = 'siteurl'; UPDATE wp_posts SET guid = replace(guid, 'http://www.oldsite.com', 'http://www.newsite.com'); UPDATE wp_posts SET post_content = replace(post_content, 'http://www.oldsite.com', 'http://www.newsite.com'); UPDATE wp_postmeta SET meta_value = replace(meta_value, 'http://www.oldsite.com', 'http://www.newsite.com');
注意:如果你的数据库表前缀不是
wp_,请将其修改为你自己的表前缀。 -
点击“执行”。
步骤 8:完成与测试
这一步与插件方法的步骤 5 完全相同:
- 清除缓存。
- 测试网站所有功能。
- 更新 DNS。
迁移后常见问题及解决方法
-
网站显示“建立数据库连接时出错”
- 原因:
wp-config.php中的数据库信息错误,或数据库用户权限不足。 - 解决:检查数据库名、用户名、密码、主机名是否全部正确,确保该用户对新数据库有“所有权限”。
- 原因:
-
网站显示“首页无法显示,或重定向循环”
- 原因:
wp_options表中的siteurl和home仍然是旧域名。 - 解决:
- 方法 A(推荐):安装 Better Search Replace 插件,在后台直接搜索旧域名并替换为新域名。
- 方法 B:通过 phpMyAdmin 手动执行上述的搜索替换 SQL 语句。
- 原因:
-
图片显示不出来,或显示为“?”
- 原因:图片路径仍然是旧域名,或者上传目录权限不正确。
- 解决:确认你已经执行了搜索替换域名操作,如果问题依旧,检查新站点
wp-content/uploads文件夹的权限是否设置为 755。
-
部分插件或主题不工作
- 原因:可能是插件/主题与新版 PHP、WordPress 或新服务器环境不兼容。
- 解决:暂时禁用所有插件,然后逐一启用,找出问题插件,检查主题和插件的官方页面,看是否有更新说明。
- 新手首选:All-in-One WP Migration 插件,简单高效,几乎零风险。
- 技术爱好者:手动方法,能让你对网站结构有更深的理解。
- 核心原则:备份!备份!备份! 迁移前后的测试和缓存清理同样重要。
希望这份详细的指南能帮助你顺利完成 WordPress 网站的迁移!如果在操作中遇到任何具体问题,可以随时提问。
