[{"data":1,"prerenderedAt":96},["ShallowReactive",2],{"devblog-list":3},[4],{"id":5,"title":6,"author":7,"body":8,"cover":78,"description":79,"draft":80,"extension":81,"locale":82,"meta":83,"navigation":84,"path":85,"publishedAt":86,"seo":87,"slug":88,"stem":89,"tags":90,"updatedAt":78,"__hash__":95},"devblog\u002Fdevblog\u002Fwhy-nuxt-ssg.zh-CN.md","为什么 chekak.store 使用 Nuxt 3 SSG 而非 SPA","ЧёКак Engineering",{"type":9,"value":10,"toc":70},"minimark",[11,15,18,23,53,57,60,63],[12,13,14],"p",{},"我们的 tools.chekak.store 和 convert.chekak.store 是 Vue SPA。它们是交互式的,水合前的空 HTML 不是问题。",[12,16,17],{},"营销网站则不同。",[19,20,22],"h2",{"id":21},"内容网站的-spa-与-ssg","内容网站的 SPA 与 SSG",[24,25,26,47],"ul",{},[27,28,29,33,34,38,39,42,43,46],"li",{},[30,31,32],"strong",{},"SPA"," 返回 ",[35,36,37],"code",{},"\u003Cdiv id=\"app\">\u003C\u002Fdiv>",",等待浏览器下载并运行 JS。之后才渲染标题和正文。Google 会运行 JS,但",[30,40,41],{},"有 1–14 天的延迟",",并非总是正确。Yandex 更慢、更不可靠。Baidu 基本",[30,44,45],{},"忽略"," JS 渲染的页面。",[27,48,49,52],{},[30,50,51],{},"SSG"," 在构建时生成完整的 HTML。任何爬虫都能立即看到完整文本,无需 JS 运行时。",[19,54,56],{"id":55},"core-web-vitals","Core Web Vitals",[12,58,59],{},"SSG 的 LCP(最大内容绘制)通常为 0.5–1 秒。SPA 通常为 2–3 秒(需等待 bundle 下载与水合)。Google 将 LCP 作为排名因素。",[19,61,62],{"id":62},"无需重写的混合模式",[12,64,65,66,69],{},"Nuxt 通过 ",[35,67,68],{},"routeRules"," 混合 prerender 与 SSR。如果以后需要对特定页面进行服务端渲染,可以就地切换 — 无需迁移到其他框架。",{"title":71,"searchDepth":72,"depth":72,"links":73},"",3,[74,76,77],{"id":21,"depth":75,"text":22},2,{"id":55,"depth":75,"text":56},{"id":62,"depth":75,"text":62},null,"简短版本 — SEO、Core Web Vitals,以及为何在 2026 年不能把营销网站做成 SPA。",false,"md","zh-CN",{},true,"\u002Fdevblog\u002Fwhy-nuxt-ssg.zh-cn","2026-05-12",{"title":6,"description":79},"why-nuxt-ssg","devblog\u002Fwhy-nuxt-ssg.zh-CN",[91,92,93,94],"engineering","nuxt","ssg","seo","ay3NwtueBWN6iBTXKT_ObTOf6bd94YdUPi3vDFQjk_4",1781108011987]