WordPress迁移到Hexo踩坑记录
WordPress 导出文件
工具 → 导出 → 所有内容 → 下载导出文件
安装hexo
1 | node -v |
迁移文章和页面
安装迁移工具
1 | npm install hexo-migrator-wordpress --save |
把导出的xml文件上传到服务器执行命令
1 | hexo migrate wordpress /path/to/wordpress-export.xml |
完成迁移检查目录
可以发现会有不少草稿、未编辑的旧文章,这个可按需处理
1 | source/_posts/ |
另外在source目录下,也会有不少原有的页面转换成page了,也是需要按需处理和清理的。例如原本的‘关于’页会变成source/about/index.md
可以在_config.yml文件中添加页面入口,如:
1 | url: https://example.com |
启动看看
1 | hexo clean |
访问http://localhost:4000
坑一
迁移工具:hexo-migrator-wordpress可能会导致启动失败或者卡死,转换完成后建议卸载掉它
1 | npm uninstall hexo-migrator-wordpress |
坑二
还是迁移工具hexo-migrator-wordpress问题,会运行报错。
导出的标准 WordPress xml文件,若原站点的title为空会认为格式错误; hexo-migrator-wordpress@2.1.2 对 rss/channel/title 的过度简陋检测。先查看xml文件 channel 下的 title 是否为空;若为空,补一个站点标题即可。
坑三
原有的页面你可能是自定义的html页面,但是会粗暴的转换成md文件。我们需要手动迁移
在source目录下对应的页面文件夹,修改index.md文件,如source/about/index.md
html的格式要如下配置
需要注意的点:
- 将原 HTML 中 标签里的内容放进去;不要保留完整的 、、、body> 等外层标签。
- 不用使用全局的css,不然会影响主题样式。将页面专属样式限制在指定页面内。
- HTML 容器内部尽量不要出现空行。
示例:
1 | --- |
迁移媒体文件
推荐策略:保持原路径
如原媒体 URL 为:
https://example.com/wp-content/uploads/2024/06/photo.jpg
将 WordPress 的:
wp-content/uploads/
完整复制到:
source/wp-content/uploads/
这样生成后仍然是:
https://example.com/wp-content/uploads/2024/06/photo.jpg
在 _config.yml 中配置:
1 | skip_render: |
安装主题
可在官网选择各种主题装饰,我选择的是Butterfly主题
坑四
_config.butterfly.yml 配置。模板要求 subtitle 是一个配置对象,如果没有配置会导致运行失败报错:
1 | Cannot read properties of null (reading 'enable') |
- Title: WordPress迁移到Hexo踩坑记录
- Author: Karl Lao
- Created at : 2026-09-04 18:36:48
- Updated at : 2026-09-04 18:43:00
- Link: https://lao.plus/2026/09/04/WordPress-migration-to-Hexo/
- License: This work is licensed under CC BY-NC-SA 4.0.