2026-05-12

Why chekak.store is Nuxt 3 SSG, not a SPA

Short version — SEO, Core Web Vitals, and why you can't build a marketing site as a SPA in 2026.

Our tools.chekak.store and convert.chekak.store are Vue SPAs. They are interactive, and an empty HTML shell before hydration is not a problem there.

A marketing site is different.

SPA vs SSG for a content site

  • SPA serves <div id="app"></div> and waits for the browser to download and run JS. Headings and copy render only after that. Google does run JS, but with a 1–14 day delay, not always correctly. Yandex is slower and less reliable. Baidu mostly ignores JS-rendered pages.
  • SSG generates ready HTML at build time. Every bot sees the full text instantly, no JS runtime needed.

Core Web Vitals

LCP (Largest Contentful Paint) is 0.5–1 s for SSG, typically 2–3 s for SPAs (you wait for the bundle download and hydration). Google ranks on LCP.

Hybrid mode, no rewrite

Nuxt mixes prerender and SSR via routeRules. If we later need server-side rendering for specific pages we switch in place — no migration to a different framework.