EP115. “用 All in One WP Migration 迁移整站”
🔒 登录后可标记已读把本地开发环境里完整的网站(主题、插件、数据库、上传的文件)一次性搬到刚装好的空白线上 WordPress 上。做法是用免费插件 All in One WP Migration 在本地导出成一个打包文件,再到线上安装同一个插件、导入这个文件,插件会自动处理数据库和文件的迁移,不需要手动操作 MySQL 或用 FTP 一个个传文件。导入前有两个准备工作:清理本地临时的弱密码测试账号(因为导入后这些账号信息会变成线上正式的登录凭证)、删除各主题/插件里体积很大的 node_modules 文件夹(不需要打包进迁移文件里,以后要开发时重新 npm install 就能拿回来)。
涉及文件
无——本讲全程是插件操作和 WordPress 后台操作,不涉及主题/插件源代码文件。
代码实现
本讲不涉及代码,以下是操作步骤记录:
准备工作(本地环境):
- 后台 Users 里删除/修改任何弱密码的测试账号(例如作者演示时用的
admin/admin),因为导入后这套账号密码会成为线上网站的真实登录凭证 - 进入本地站点的
wp-content下的每个主题/插件文件夹,手动删除体积巨大的node_modules文件夹(构建工具的依赖包,不需要随网站一起打包,以后需要开发时用npm install重新生成)
本地导出:
- 本地后台 → Plugins → Add New → 搜索安装 All in One WP Migration(活跃安装 500 万+,作者/厂商为 ServMask)→ Activate
- 左侧菜单新增的 All in One WP Migration → Export → Export to → 选 File
- 等待打包完成(大小视网站数据量而定,作者示例约 163MB)→ 下载生成的文件到本地
线上导入:
- 线上后台同样安装并启用 All in One WP Migration
- Import → Import from → 选 File → 选择刚下载的导出文件
- 系统会警告这个操作会完全覆盖/清空目标网站现有的一切内容——只应该在目标是一个「全新空白、不在乎丢失任何数据」的网站时执行
- 如果本地和线上的 PHP 版本不完全一致,也会有警告,但通常不影响导入结果
- 导入完成后会自动登出——因为线上网站的用户名密码已经被替换成本地网站导出时的那一套,需要用本地的账号密码重新登录
[截图:wp-admin All in One WP Migration 插件的 Export/Import 操作界面]
常见坑
- 直接用带弱密码的测试账号(如
admin/admin)做导出——这套凭证导入后会变成线上正式的管理员登录方式,等于把网站大门钥匙设成谁都能猜到的密码,必须先在本地改成强密码再导出 - 打包前不清理
node_modules——这些是本地开发工具用的依赖文件,体积可能达到几百 MB,占用打包时间和空间,完全没必要包含进迁移文件,缺了它们也不影响网站运行(前提是构建产物build/目录已经生成好并且会被打包进去) - 在一个还有内容、不想丢失数据的线上网站上执行导入——这个操作是完全覆盖式的,不是合并,只能用于确认要清空重来的目标网站
延伸 / 后续讲座会用到
网站现在已经完整地跑在线上域名了,但接下来要解决「以后怎么持续更新线上的 PHP/CSS/JS 代码文件」这个问题——不想用老派的 FTP 或后台网页上传,下一讲开始学用 Git 搭建自动化推送更新的工作流。
Sources
Udemy:
- Become a WordPress Developer: Unlocking Power With Code — Section 21, EP115