WP DEVELOP

EP115. “用 All in One WP Migration 迁移整站”

首页 WordPress 开发课程 网站上线部署 · EP115
约 5 分钟· #EP115#网站上线部署
🔒 登录后可标记已读

把本地开发环境里完整的网站(主题、插件、数据库、上传的文件)一次性搬到刚装好的空白线上 WordPress 上。做法是用免费插件 All in One WP Migration 在本地导出成一个打包文件,再到线上安装同一个插件、导入这个文件,插件会自动处理数据库和文件的迁移,不需要手动操作 MySQL 或用 FTP 一个个传文件。导入前有两个准备工作:清理本地临时的弱密码测试账号(因为导入后这些账号信息会变成线上正式的登录凭证)、删除各主题/插件里体积很大的 node_modules 文件夹(不需要打包进迁移文件里,以后要开发时重新 npm install 就能拿回来)。


涉及文件

无——本讲全程是插件操作和 WordPress 后台操作,不涉及主题/插件源代码文件。


代码实现

本讲不涉及代码,以下是操作步骤记录:

准备工作(本地环境)

  1. 后台 Users 里删除/修改任何弱密码的测试账号(例如作者演示时用的 admin/admin),因为导入后这套账号密码会成为线上网站的真实登录凭证
  2. 进入本地站点的 wp-content 下的每个主题/插件文件夹,手动删除体积巨大的 node_modules 文件夹(构建工具的依赖包,不需要随网站一起打包,以后需要开发时用 npm install 重新生成)

本地导出

  1. 本地后台 → Plugins → Add New → 搜索安装 All in One WP Migration(活跃安装 500 万+,作者/厂商为 ServMask)→ Activate
  2. 左侧菜单新增的 All in One WP Migration → Export → Export to → 选 File
  3. 等待打包完成(大小视网站数据量而定,作者示例约 163MB)→ 下载生成的文件到本地

线上导入

  1. 线上后台同样安装并启用 All in One WP Migration
  2. Import → Import from → 选 File → 选择刚下载的导出文件
  3. 系统会警告这个操作会完全覆盖/清空目标网站现有的一切内容——只应该在目标是一个「全新空白、不在乎丢失任何数据」的网站时执行
  4. 如果本地和线上的 PHP 版本不完全一致,也会有警告,但通常不影响导入结果
  5. 导入完成后会自动登出——因为线上网站的用户名密码已经被替换成本地网站导出时的那一套,需要用本地的账号密码重新登录

[截图: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