一个以文章为主的网站,并不一定需要常驻的应用服务器。Astro 可以先把内容生成 HTML,再由 Cloudflare Workers 的静态资源能力交付给浏览器。
先决定哪些内容需要动态运行
文章、个人介绍和项目记录,在发布时确定内容即可。将它们静态构建,减少运行时依赖,也更容易检查最终产物。
表单提交、身份验证或数据库操作则不同。它们需要独立的接口和明确的权限边界。静态页面与动态接口可以共存,但没有必要让每篇文章都经过服务器渲染。
内容、构建与交付
基本流程是:Markdown 内容进入 Astro,构建生成 dist/,Wrangler 将产物上传到 Workers Static Assets。
{
"name": "taotao-dev",
"compatibility_date": "2026-10-11",
"assets": {
"directory": "./dist",
"not_found_handling": "404-page"
}
}
只有静态资源时,不需要额外编写一个把请求转交给资源绑定的 Worker 脚本。之后需要 API,再增加入口与路由配置。
域名与规范地址
Astro 的 site 应设置为正式域名,例如 https://taotao.dev。这样 canonical、RSS 和站点地图会指向同一个地址。
Workers 的自定义域名还需要对应域名处于可配置的 Cloudflare 账户中。写入配置文件并不等于域名已经生效,部署之后仍需验证 DNS、证书和页面响应。
验证发布结果
npm run check
npm run build
npx wrangler deploy
发布后检查首页、文章、RSS 和不存在的路径。确认不存在的路径返回 404,而不是悄悄回到首页。
相关资料:Astro 文档、Workers 静态资源。