很多人建网站的顺序是:
- 看中一个建站工具(Wix/Squarespace/HTMLPage)
- 直接开干,边做边调
- 做到一半发现"原来应该这样架构就不用重做了"
核心问题:没有在"选工具"之前,先理清"网站是什么类型的"。
这篇文章的目标是:让你在选技术栈之前,先搞清楚"网站架构"——而且这个选择会直接影响你的工作量、维护成本和能支持的功能范围。
结论先说:网站架构决定技术栈,不是反过来
根据你的内容更新频率、交互复杂度、用户群体,网站可以分为三类:
| 类型 | 内容更新 | 交互 | 典型例子 | 适合工具 | 维护成本 |
|---|---|---|---|---|---|
| 内容站 | 频繁(周期性发文) | 简单(导航、搜索、分页) | 博客、文档、教程站 | CMS / 静态生成器 / HTMLPage | ⭐ 低 |
| 多页应用 | 中等(定期更新页面内容) | 中等(表单、筛选、评论) | 企业官网、产品介绍、投资组合 | 建站工具 / Vue SSR / Nuxt | ⭐⭐ 中 |
| 单页应用 | 低(主要是后端数据变化) | 复杂(实时更新、多步骤流程) | SaaS 工具、在线编辑器、仪表板 | Vue/React CSR / Nuxt CSR | ⭐⭐⭐ 高 |
机制讲清楚:为什么架构而不是工具优先
错误的决策顺序
很多人是这样选的:
"我听说 Nuxt 很火"
→ "我就用 Nuxt 建网站吧"
→ 做到一半发现"需要 CMS"
→ "那就加一个 Strapi 吧"
→ 越来越复杂,最后项目维护不动
正确的决策顺序
你的网站内容,谁在管理?
├─ 我自己(手工更新页面)
│ └─ 更新频率?← 关键问题
│ ├─ 很频(每周 > 3 篇新文章)
│ │ └─ 需要 CMS。工具:Strapi + Nuxt,或 WordPress,或 HTMLPage Blog
│ └─ 不那么频(每月 1~2 次)
│ └─ 静态化足够。工具:Git + Markdown,或建站工具
│
├─ 多个人(销售/运营更新页面)
│ └─ 需要 CMS Dashboard
│ └─ 工具:Strapi + Admin,或 Webflow,或 Framer
│
└─ 只有数据变化(内容不变,数据从 API 来)
└─ 需要 SPA。工具:Vue/React CSR,或 Nuxt CSR
实战案例 1:内容站(博客 / 教程站)
典型特征:
- 作者定期发文章(周 2~3 篇)
- 文章有分类、tags、搜索
- 页面结构相对固定(列表页 → 详情页)
- 不需要复杂交互
最小架构长这样:
├─ /blog/ (列表页,显示最新 N 篇)
│ ├─ /blog/tag/ai/ (按 tag 筛选)
│ └─ /blog/[slug]/ (文章详情页)
├─ / (首页)
├─ /about/ (关于我们,静态)
├─ /contact/ (联系表单)
└─ /sitemap.xml (SEO)
适合的工具:
- Git + Markdown(推荐给技术人)
content/blog/[slug].md # 用 Markdown 写文章 → 提交到 Git → CI/CD 自动生成静态网站 → 部署到 Vercel / Netlify
优点:完全版本控制、快、免费 缺点:非技术人员编辑困难 - Strapi + Nuxt(推荐给多人协作)
Strapi 后端 → 运营/编辑在 Dashboard 写文章 → Nuxt 前端自动生成页面 (SSG) → 有必要时实时更新
优点:非技术人员友好、灵活 缺点:需要维护服务器 - HTMLPage(推荐给不想写代码的人)
可视化编辑每个页面 → 系统自动管理分类/搜索/SEO → 实时发布
优点:最快上线、无需 IT 维护 缺点:个性化受限
案例数据:一个技术博客(周 2 篇文章)
- Git + Markdown: 时间成本 = 写文章 + commit,月成本 = 0
- Strapi + Nuxt:时间成本 = 写文章,月成本 = 服务器 $5~20
- HTMLPage:时间成本 = 写文章 + 编辑,月成本 = 服务费(取决于流量)
实战案例 2:多页应用(企业官网 / 产品站)
典型特征:
- 页面相对固定(产品介绍、客户案例、定价、FAQ)
- 定期更新(月 1~2 次,改个案例、改个定价)
- 有表单交互(联系我们、预约演示)
- 需要 SEO(官网流量关键)
最小架构:
├─ / (首页)
├─ /product/ (产品介绍)
│ └─ /product/[slug]/ (各产品详情)
├─ /pricing/ (定价)
├─ /case-studies/ (客户案例)
├─ /blog/ (可选,定期发内容)
├─ /faq/ (常见问题)
├─ /contact/ (联系表单 — 需要 backend API)
└─ /api/contact (表单提交 endpoint)
适合的工具:
- 建站工具(Webflow / Framer / HTMLPage)
拖拽编辑 → 自动生成响应式页面 → 配内置表单 → 发布
优点:最快、无需代码、内置 SEO 缺点:个性化受限、价格较高 - Nuxt SSR(推荐给需要灵活定制的)
pages/index.vue, pages/product/[slug].vue, ... → 动态路由 → SEO 友好(SSR 生成完整 HTML) → 可集成 CMS 管理内容
优点:完全灵活、SEO 好 缺点:需要开发者、需要服务器
决策树:
企业官网,需要改内容吗?
├─ 不怎么改(每年改一次)
│ └─ 用建站工具(快)
├─ 经常改(月 2~3 次)
│ ├─ 有开发团队
│ │ └─ 用 Nuxt(灵活)
│ └─ 没有开发团队
│ └─ 用建站工具(简单)
实战案例 3:单页应用(SaaS / 数据驱动)
典型特征:
- 用户登录后看个性化数据
- 内容页面基本不变,数据从 API 来
- 交互复杂(拖拽、搜索、筛选、实时更新)
- 不是内容导向,而是功能导向
例子:在线编辑器、项目管理工具、购物车
最小架构:
前端(单页应用)
├─ 用户认证(登录/注册)
├─ 仪表板(显示用户数据)
├─ 功能页(编辑器、设置等)
└─ 与后端通过 API 通信(开/改/删数据)
后端(REST API / GraphQL)
├─ 用户管理
├─ 数据存储与业务逻辑
└─ 权限控制
适合的工具:
- Vue 3 CSR(Client-Side Rendering)
import { createApp } from 'vue' // 用户打开页面 // → 浏览器下载 JS 包 // → JS 运行,调用 API 获取数据 // → 显示内容
优点:交互快、用户体验好 缺点:首屏可能慢、SEO 不友好(不过 SaaS 通常不需要 SEO) - Cursor 在线编辑器(本项目)
SPA 框架(Vue/GrapesJS) + Nitro 后端(保存用户编辑) + SQLite / Strapi(持久化存储)
不适合的选择:
- ❌ 用 Nuxt SSR 做 SPA(不必要,浪费资源)
- ❌ 用建站工具(无法处理复杂交互)
选择矩阵:快速决策表
| 问题 | 答案 | 推荐架构 |
|---|---|---|
| 内容更新频率? | 周 > 2 篇文章 | 内容站 + CMS 或 Git |
| 月 1~2 次改页面 | 多页应用 + 建站工具 | |
| 很少改(只有数据) | 单页应用 | |
| SEO 重要吗? | 是(官网/内容站) | SSR / SSG(Nuxt SSR/建站工具) |
| 否(内部工具/SaaS) | CSR(Vue/React) | |
| 有开发团队吗? | 是 | 代码优先(Nuxt/Vue/React) |
| 否 | 无代码优先(建站工具/CMS) | |
| 用户数量? | < 1000/月 | 简单架构 + Vercel/Netlify 免费层 |
| > 10000/月 | 自建服务器 or 专业建站工具 |
Checklist:确定架构后的行动
- 明确内容更新频率(周/月/年)
- 明确谁在更新内容(开发者 / 非技术人员 / 团队)
- SEO 需求有多高?(0-10 分)
- 交互复杂度?(简单 / 中等 / 复杂)
- 根据上表选择架构类型
- 根据团队能力选择具体工具
- 列出页面结构(URL 路径树)
- 定义"页面模板"(尽量复用设计)
FAQ
Q:我想要"既可以实时互动,又要 SEO 好",怎么办?
A:用 Nuxt SSR + 少量前端交互。不是纯 SPA,而是:
- 列表页面:SSR 生成完整 HTML(SEO 好)
- 列表里的"搜索/筛选":前端交互(快)
Q:中途能改架构吗?(比如从建站工具改成代码)
A:能,但成本高。建议一开始就选对。规则是:
- 建站工具 → 代码:需要手工迁移内容(很慢)
- 代码 → 建站工具:基本迁移不了
Q:单页应用能做 SEO 吗?
A:困难。除非:
- 用 Nuxt SSR(不是纯 SPA 了)
- 或者配合 prerender(预先生成 HTML)
但大多数 SaaS(登录后的功能)不需要 SEO,所以无所谓。
Q:同时需要"内容站 + SPA 工具"怎么选?
A:分离:
内容站:Nuxt SSG (localhost:3000)
工具:Vue CSR (localhost:3001)
或者一个 Nuxt 项目里分两个路由:
/blog/... → SSG 内容
/app/... → CSR 工具
内链
- 网页制作从 0 到上线:完整链路
- 网站在线免费怎么做:快速上线指南
- Nuxt 渲染模式选择:技术选择
- 网站 SEO 最小集:搜索优化


