← 返回文章列表

把博客部署到 Cloudflare Pages

从本地构建到线上发布:一个静态博客的部署清单,以及容易忽略的站点地址配置。

本文是示例部署笔记。本项目会构建出静态 HTML、CSS 和 JavaScript,不需要运行服务器,也不需要 Pages Functions。

先在本地确认

在项目目录执行:

npm ci
npm run build
npm run preview

预览时检查首页、文章、标签、归档和搜索。直接打开 dist/index.html 不是可靠的测试方式,因为站内资源使用根路径,而且搜索需要 HTTP 请求。

连接 Git 仓库

把项目源码上传到 GitHub 或 GitLab,在 Cloudflare Pages 创建项目并连接仓库。构建参数如下:

配置项 配置值
框架预设 Astro
构建命令 npm run build
输出目录 dist
Node.js 版本 22.16.0 或兼容的更高版本

根目录取决于仓库结构。如果整个项目就在仓库根目录,不必填写子目录。

设置站点地址

在 Pages 构建环境变量中设置 SITE_URL,值为实际生产地址,比如 https://my-notes.pages.dev。绑定自定义域名后,把这个值更新为自己的域名,并重新部署。

这不会改变 Pages 分配的地址,但会影响页面的 canonical、分享元信息、RSS 链接和站点地图。

第一次上线之后

  • 检查文章内的图片是否正常加载。
  • 用 RSS 阅读器订阅 /rss.xml。
  • 访问 /robots.txt 和 /sitemap-index.xml。
  • 打开不存在的地址,确认返回自定义 404 页面。
  • 在手机上检查导航和文章阅读体验。

如果使用直接上传模式,上传的是构建后的 dist 目录,而不是整个源码目录。后续更新也需要重新构建并上传。