2026-05-12

Почему chekak.store на Nuxt 3 SSG, а не на SPA

Кратко — про SEO, Core Web Vitals и то, почему marketing-сайт нельзя строить как SPA в 2026 году.

Наши tools.chekak.store и convert.chekak.store — это Vue SPA. Они интерактивные, и пустой HTML до гидрации там — не проблема.

С маркетинговым сайтом всё иначе.

SPA vs SSG для контентного сайта

  • SPA отдаёт <div id="app"></div> и ждёт пока браузер скачает и выполнит JS. После этого начинают рендериться заголовки и тексты. Google рендерит JS, но с задержкой 1–14 дней и не всегда корректно. Yandex — ещё медленнее и менее надёжно. Baidu в основном игнорирует JS-страницы.
  • SSG генерирует готовый HTML на этапе билда. Каждый бот видит полный текст моментально, без JS-рантайма.

Core Web Vitals

LCP (Largest Contentful Paint) у SSG — обычно 0.5–1 секунда. У SPA — 2–3 секунды (нужно скачать bundle, гидратировать). Google учитывает LCP как ранжирующий фактор.

Hybrid mode без переписывания

Nuxt позволяет смешивать prerender и SSR через routeRules. Если позже понадобится server-side рендеринг для отдельных страниц — переключаем без миграции на другой фреймворк.