Hero

构建个人网站的技术选型:为什么选择 Astro + Cloudflare Pages

AstroCloudflare技术选型前端

作为独立开发者,拥有一个个人网站几乎是必需品。它不仅是作品集,更是你的数字名片。但技术选型往往让人纠结——框架太多,平台太多,如何做出正确的选择?

需求分析

在开始选型之前,我先梳理了核心需求:

  1. 内容为主:网站以展示内容为主,不需要复杂的交互
  2. SEO 友好:希望通过博客吸引搜索流量
  3. 零成本:作为个人项目,尽量不花钱
  4. 性能优先:页面加载要快,用户体验要好
  5. 开发体验:写起来要舒服,部署要方便

框架对比

我主要对比了以下几个方案:

Next.js

功能最强大,但对于纯内容网站来说太重了。SSR/SSG 混合模式很灵活,但默认会加载大量 JavaScript。而且部署到 Vercel 免费版有一些限制。

Hugo / 11ty

纯静态生成器,性能极好。但模板语法不太直观,组件化开发体验一般。

Astro

最终选择。原因如下:

// Astro 的 island 架构:默认零 JS
// 只有需要交互的组件才会加载 JavaScript
---
import StaticComponent from './Static.astro'; // 零 JS
import InteractiveComponent from './Interactive.tsx'; // 按需加载
---

<StaticComponent />
<InteractiveComponent client:visible />
  • 零 JS 默认:内容页面不会加载任何 JavaScript
  • 组件化:支持 .astro 组件,语法类似 JSX
  • 内容集合:内置 Markdown/MDX 支持,自带类型安全
  • 框架无关:需要时可以混用 React/Vue/Svelte

部署平台选择

Cloudflare Pages 是我的首选,理由很简单:

  • 完全免费:无限带宽,无限请求
  • 全球 CDN:Cloudflare 的网络覆盖全球
  • 自动部署:连接 GitHub 后自动构建
  • 自定义域名:免费 SSL 证书

对比 Vercel 和 Netlify,Cloudflare Pages 在免费额度上最慷慨,没有带宽限制。

实际效果

网站上线后的 Lighthouse 得分:

  • Performance: 100
  • Accessibility: 100
  • Best Practices: 100
  • SEO: 100

这就是选择正确工具的力量——不需要额外优化,开箱即满分。

总结

对于个人网站和博客,Astro + Cloudflare Pages 是一个近乎完美的组合。如果你也在纠结技术选型,希望这篇文章能给你一些参考。

最好的技术选型不是选最强的,而是选最合适的。