父亲从 2005 年开始在 WordPress.com 写博客,到 2025 年一共 786 篇文章、591 条评论、78 段视频。这几天把它整站搬到了 Hugo + Cloudflare Pages,托管在 wuwufu.com。
记录一下工具链和几个要留意的地方。
整体方案
- 内容:wp2hugo 从 WordPress 导出的 WXR XML 转 Markdown
- 主题:PaperMod,自定义布局模仿原站 Twenty Seventeen 的头图风格
- 评论:REST API 抓回来,生成静态 HTML 嵌入每篇文章末尾
- 视频:ffmpeg x265 2-pass 压缩,从 10.1GB 压到 587MB
- 托管:Cloudflare Pages,DNS 也搬到 Cloudflare
内容转换:wp2hugo
WordPress 后台导出 WXR XML(Tools → Export),然后跑 wp2hugo,出来就是 Hugo 友好的目录结构:content/posts/*.md + static/wp-content/uploads/。
转换后 Markdown 里会有一些残留的 WordPress shortcode([gallery]、[embed] 这些),还有空标题、重复文章,写了几个清理脚本扫一遍。
评论:自己抓,嵌进去
WordPress.com 因为不是自托管,用不了评论迁移插件。但 20 年下来 591 条评论不能丢。
好在 WordPress.com 开放了 REST API,按文章 ID 翻页抓: