为什么选择静态站?
薄荷编程的官网本质上是一个营销展示站——内容更新频率不高,不需要用户登录,也没有复杂的动态交互。对于这类场景,静态站点生成(SSG)是最佳选择:加载速度快、部署成本低、SEO 友好、安全性高。
我们考察了 Hugo、Astro、Next.js 等方案。最终选择 Next.js,核心原因是团队对 React 生态非常熟悉,Next.js 的 App Router 提供了优秀的开发体验,而 output: "export" 配置让我们能享受 Next.js 的全部开发时特性,同时输出纯静态 HTML。
技术架构设计
我们的架构遵循「数据驱动」原则:所有内容都定义在 TypeScript 数据文件中,页面组件只负责渲染。这样做的好处是类型安全、易于维护,且不需要引入 CMS 或数据库。
路由结构使用 Next.js App Router,每个页面对应一个目录。动态路由(如课程详情页)通过 generateStaticParams() 在构建时生成所有静态页面。
样式方面,我们采用 Tailwind CSS v4,定义了薄荷绿(mint)主题色系,确保全站视觉一致性。中文排版使用 PingFang SC + Microsoft YaHei + Noto Sans SC 字体栈,覆盖主流操作系统。
小团队的技术选型应该「够用就好」—— 不追求技术栈的新潮,而是追求开发效率和可维护性。
SEO 优化实践
作为一个面向贵阳本地市场的教育品牌,百度 SEO 是我们的重点。我们做了几件关键的事情:
第一,每个页面都有独立的 title、description 和 keywords 配置,通过统一的 generatePageMetadata() 函数生成,确保格式一致。
第二,大量使用 Schema.org 结构化数据(JSON-LD),包括 Organization、Course、FAQPage 等 schema,帮助搜索引擎更好地理解页面内容。
第三,通过 next-sitemap 自动生成 sitemap.xml 和 robots.txt,确保所有页面都能被搜索引擎发现和索引。
部署方案:腾讯云 COS + GitHub Actions
静态站点的部署非常简单。我们使用腾讯云 COS(对象存储)托管静态文件,配合 CDN 加速,国内访问速度极快。
部署流程完全自动化:通过 GitHub Actions 的 workflow_dispatch 触发,执行 npm run build 生成静态文件到 out/ 目录,然后使用 coscmd 同步到 COS 存储桶。整个过程不到两分钟。
这个方案的月度成本几乎可以忽略不计——COS 存储和 CDN 流量对于一个企业官网来说微乎其微,远低于传统云服务器方案。
总结与思考
对于小团队来说,技术选型的核心是「降低认知负担」。Next.js + TypeScript + Tailwind CSS 这套组合,团队中任何一个前端开发者都能快速上手,不需要学习新的模板语言或 CMS 系统。
静态站点生成不是万能的,但对于内容更新频率不高的营销站来说,它是性价比最高的方案。如果未来需要更频繁的内容更新,我们可以引入 Headless CMS,而不需要重写整个站点。
最好的技术方案不是最先进的,而是最适合团队当前阶段的。
