2026-05-12

为什么 chekak.store 使用 Nuxt 3 SSG 而非 SPA

简短版本 — SEO、Core Web Vitals,以及为何在 2026 年不能把营销网站做成 SPA。

我们的 tools.chekak.store 和 convert.chekak.store 是 Vue SPA。它们是交互式的,水合前的空 HTML 不是问题。

营销网站则不同。

内容网站的 SPA 与 SSG

  • SPA 返回 <div id="app"></div>,等待浏览器下载并运行 JS。之后才渲染标题和正文。Google 会运行 JS,但有 1–14 天的延迟,并非总是正确。Yandex 更慢、更不可靠。Baidu 基本忽略 JS 渲染的页面。
  • SSG 在构建时生成完整的 HTML。任何爬虫都能立即看到完整文本,无需 JS 运行时。

Core Web Vitals

SSG 的 LCP(最大内容绘制)通常为 0.5–1 秒。SPA 通常为 2–3 秒(需等待 bundle 下载与水合)。Google 将 LCP 作为排名因素。

无需重写的混合模式

Nuxt 通过 routeRules 混合 prerender 与 SSR。如果以后需要对特定页面进行服务端渲染,可以就地切换 — 无需迁移到其他框架。