从Wordpress搬家到Hexo:十多年老博客的迁移之路
从Wordpress搬家到Hexo:十多年老博客的迁移之路
博客从WordPress迁移到Hexo已经有一段时间了,终于有时间整理一下完整的搬家过程。
说起来,WordPress这个博客平台我已经用了十几年,从2007年一直用到2025年。十几年间积累了一百多篇文章,也见证了从学生时代到工作多年的成长。虽然WordPress功能强大、插件生态丰富,但随着时间推移,越来越感觉它变得”臃肿”——需要PHP、MySQL等环境,每次更新都要小心翼翼,生怕出现兼容性问题。
为什么换Hexo?
主要原因有两个:
一是服务器性能有限。 现在的博客跑在一台性能普通的小机器上,同时还要跑OpenClaw等AI服务,WordPress的PHP+MySQL组合占用资源较多,网站加载速度越来越慢。
二是想简化架构。 Hexo是纯静态网站生成器,只需要Node.js环境,生成的HTML页面可以直接由Caddy或Nginx托管,速度快、资源占用低,也更适合个人博客的场景。
当然,WordPress用了这么多年还是有感情的。幸好Hexo提供了迁移工具,可以把文章批量导入,虽然中间有一些格式调整的工作,但整体还算顺利。
一、WordPress备份
搬家第一步自然是备份原WordPress的数据。
1.1 后台导出
登录WordPress后台,进入「工具」→「导出」,选择「所有内容」,点击「下载导出文件」。
这会导出一个XML文件,包含了所有文章、页面、评论等数据。

1.2 图片等媒体文件
WordPress的图片默认在 wp-content/uploads/ 目录下。可以直接用FTP或文件管理器下载到本地。
1.3 文章固定链接
建议记录下原来文章的URL结构,方便后续做301重定向。
二、服务器环境准备
Hexo需要Node.js环境,以下是完整的安装步骤。
2.1 创建用户
1 | # 创建普通用户 |
2.2 安装Node.js
推荐使用NVM管理Node版本:
1 | # 安装NVM |
2.3 安装Git
1 | sudo apt-get install git-core |
2.4 安装Hexo
1 | npm install -g hexo-cli |
2.5 初始化博客目录
1 | sudo mkdir -p /var/www/blog |
三、配置Caddy
Hexo生成的静态页面需要Web服务器来托管,这里使用Caddy。
3.1 安装Caddy
1 | sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https |
3.2 配置静态文件服务
编辑 /etc/caddy/Caddyfile:
1 | apher.com { |
1 | sudo systemctl restart caddy |
四、WordPress数据迁移
4.1 安装迁移插件
1 | npm install hexo-migrator-wordpress --save |
4.2 执行迁移
将之前下载的WordPress导出文件(XML格式)放到博客目录,然后执行:
1 | hexo migrate wordpress 你的wordpress.xml |
Hexo会自动解析XML文件,将文章转换为Markdown格式保存到 source/_posts/ 目录。
4.3 检查迁移结果
1 | ls source/_posts/ |
打开几篇文章检查图片路径、标签、分类是否正确。
五、必要的插件安装
5.1 链接美化插件
解决文章链接中文乱码问题:
1 | npm install hexo-abbrlink --save |
修改 _config.yml:
1 | permalink: posts/:year:month:abbrlink.html |
5.2 搜索插件
1 | npm install hexo-generator-searchdb --save |
修改 _config.yml:
1 | search: |
5.3 压缩插件
减少生成的HTML/CSS/JS体积:
1 | npm install hexo-neat --save |
六、创建分类和标签页
6.1 创建分类页
1 | hexo new page categories |
编辑 source/categories/index.md:
1 |
|
6.2 创建标签页
1 | hexo new page tags |
编辑 source/tags/index.md:
1 |
|
七、Hexo常用命令
| 命令 | 说明 |
|---|---|
hexo new "标题" |
新建文章 |
hexo clean && hexo g |
清理并生成静态文件 |
hexo s |
本地预览(localhost:4000) |
hexo d |
部署到服务器 |
hexo migrate wordpress <file> |
从WordPress迁移 |
八、主题安装
我目前使用的主题是Next,简洁大方。
1 | npm install hexo-theme-next --save |
九、结语
从WordPress迁移到Hexo的过程并不复杂,主要是数据迁移和链接格式的调整。Hexo的静态HTML加载速度快、资源占用低,服务器可以腾出更多资源跑AI相关服务。
十几年WordPress的使用经历教会了我很多建站知识,现在换到Hexo也是一种新的尝试。博客的本质是记录和分享,工具在变,但初心不变。
如果你也在考虑搬家,希望这篇文章对你有帮助!
有问题欢迎留言交流。
住千佛山附近,每天可以免费爬爬山








