方案:
如果是通过 MySQL 数据库导出迁移,会非常麻烦,DB、权限、编码、版本 所有都要完全正确。
所以最佳方式还是应用层迁移,即使用 WP 的后台自带的导入/导出功能,能完全保证内容的完整性、正确性。
注意:
导出的 XML 不包含网站的 设置、插件和主题信息,这些都要后面自己补。

旧空间信息:
MySQL 版本:5.7.31-0ubuntu0.16.04.1, 使用PHP扩展 MySQLi
1、购买空间
随便一个自带 cPanel 的主机空间,市面上很多。
2、cPanel 直接安装好 WordPress
一般来说,空间顺带就把 php、mysql、apache 全部安装好了,.htaccess 重定向也自动配置好。
安装时指定好域名自己的主域名。

3、绑 host 测试下
103.14.21.24 myblog.com www.myblog.com
curl -I http://www.myblog.com/ -x 103.14.21.24:80
HTTP/1.1 200 OK
4、登录后台 http://www.myblog.com/wp-admin/ 登录后台改配置:
个人资料:
- 用户 – 个人资料 – 在浏览站点时显示工具栏:取消显示
- 昵称:XXX
- 站点:http://www.myblog.com
设置 – 常规:
- 站点标题:myblog.com
- 副标题:xxxx
- WordPress地址(URL):http://www.myblog.com
- 站点地址(URL):http://www.myblog.com
- 时区:上海
- 日期格式:F d, Y
- 阅读:博客页面至多显示5篇文章
5、导入之前备份的 XML
myblog.com.WordPress.2020-09-27.xml

注:
如果超过2M,需要使用 WP 的导入分割器。
导入前确保原网站正常运行,导入时就会自动下载图片、文件、附件了。
6、插件迁移
把旧插件们通过 FTP 上传 wp-content/plugins/* ,登录网站后台,更新 & 激活 这些插件。
当前包括:
Akismet Anti-Spam
Google Analytics for WordPress by MonsterInsights
Share Buttons by AddThis
Scroll to Top
7、主题迁移
FTP 上传自己的主题 wp-content/themes/kbs_theme ,后台激活:

把之前外挂在 static 目录的图片全部移到主题内默认的目录 images/ 下,方便迁移和设置路径:

8、主题修改
修改图片背景 BaseURL:Appearance -> Theme Editor
样式表(style.css)里面的路径,直接改用相对路径就行:
./images/background.png
如果无法在 WP 后台改 php 模板文件,那就得到 cPanel 后台的文件管理那里进行编辑:

模板函数(functions.php):
// 恢复 WP 默认代码,模板约定用 images 目录存图片
function img() {
echo bloginfo(‘template_directory’) . ‘/images/’;
}
注:这样以后就不用动这个模板了,只需要迁移整个主题就行。
9、图片附件迁移
FTP 上传 /static/upload 覆盖到 wp-content/uploads,补全上传的文档文件,完全覆盖,不漏一个。

10、菜单
外观 – 菜单 – 管理位置 – Primary Navigation :选择 kbs-menu
适配自己的样式。

11、最后改 DNS 解析(略)
12、PHP 版本问题
PHP 5.6+ 运行时是问题的,但到 7.x 以上时,extensions 里面 mysql 默认不是 mysqli 了,升级后要改回来。
