博客迁移到Astro

554 字
3 分钟
博客迁移到Astro

更新:2026-07-21#

迁移到 Astro 之后,又围绕 Swup 换页和 PageSpeed 折腾了一轮,顺手把几个实际会影响体验的问题清掉了。

  • 关闭 Swup 预加载,并在 Cloudflare 关闭 Speed Brain,避免预取响应被接管后出现 503 Service Unavailable (from prefetch cache)
  • 修复 Twikoo 在 Swup 换页后丢失基础样式的问题:把 Twikoo 的基础 CSS 作为独立样式表恢复,评论区进入视口后再加载。现在跳转文章后评论区不会再乱掉。
  • 搜索索引改成打开搜索框或进入搜索页时才加载;Twikoo 和 Turnstile 也都延后到实际需要时再下载。
  • PageSpeed 复测发现移动端的主要剩余负担是 Google Analytics 和 Microsoft Clarity。两者现在会等页面完成加载、浏览器空闲后再初始化,不再和首屏资源抢网络和主线程。

重新跑移动端和桌面端 PageSpeed 后,结果已经很理想:

移动端 PageSpeed 结果
移动端 PageSpeed 结果

桌面端 PageSpeed 结果
桌面端 PageSpeed 结果


前段时间把博客整理了一次,顺手迁移到了 Astro。我现在用的主题是 CuteLeaf/Firefly,它本身又是基于 saicaca/fuwari 做的二次开发。整体体验比我之前的方案轻很多,页面更清爽,文章管理也更顺手。

这次迁移我大概按下面几步做:

  1. 先把旧博客文章、分类、标签和关于页内容导出备份。
  2. 本地 clone 新主题,先跑通开发环境,确认构建和部署没问题。
  3. 按新主题的内容结构,把旧文章转换成 Markdown,放进 src/content/posts/
  4. 逐步修改站点配置,比如域名、评论、导航、个人资料和配色。
  5. 检查旧站文章里的内部链接,统一改成新站的文章地址。
  6. 本地预览没问题后,再推送到仓库交给 Cloudflare 构建。

常用命令其实不多:

Terminal window
pnpm install
pnpm dev
pnpm build

Astro 给我的最大感受就是省心。静态内容站不需要太重的运行时,构建完成后直接部署就行,速度和维护成本都更友好。以后如果还要继续折腾博客主题,大概率也会继续留在 Astro 这条线上。

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

博客迁移到Astro
https://blog.qiui.net/posts/2026-07-05-blog-migrate-to-astro/
作者
Qiui
发布于
2026-07-05
许可协议
CC BY-NC-SA 4.0

评论区

文章目录