Architektura statického webu na Astro 6 s VPS v roce 2026
Web "Na Dřevo" používá Astro 6 v režimu SSG pro generování čistě statického obsahu: hlavní stránku projektu, produktový landing page MENO a blog. Dvoujazyčná podpora (cs/en) je implementována bez SPA nebo SSR. Na serveru běží Nginx na VPS za 300 rublů, SSL přes Certbot. Analytika – Yandex.Metrika s mechanismem souhlasu.
Technologický stack je minimalizován pro výkon:
- Framework: Astro 6 (SSG)
- Jazyk: TypeScript (strict)
- Obsah: Astro Content Collections + Markdown/MDX
- Server: Nginx
- SSL: Certbot (Let's Encrypt)
- Analytika: Yandex.Metrika (volitelně)
Astro generuje složku dist s HTML, CSS, JS – bez Node.js v produkci. Nginx soubory poskytuje přímo, což je rychlejší než SSR.
Lokalizace a struktura URL
Konfigurace Astro pro i18n:
locales: ['cs', 'en'],
prefixDefaultLocale: true,
redirectToDefaultLocale: false
Struktura:
naderevo.com/cs/– hlavní stránka (CS)naderevo.com/en/– hlavní stránka (EN)naderevo.com/cs/blog/– blog (CS)naderevo.com/en/blog/– blog (EN)naderevo.com/– přesměrovací stránka (noindex)
Kořenová stránka určuje jazyk podle localStorage, cookie nebo Accept-Language a přesměruje. Prefix u obou jazyků zjednodušuje hreflang a canonical. Content Collections zajišťují typizaci frontmatteru – build selže při absenci povinných polí.
SEO-infrastruktura
Každá stránka obsahuje:
- Základní tagy: canonical, hreflang (včetně x-default), Open Graph, Twitter Card.
- Structured Data: JSON-LD v
<head>(WebSite pro hlavní stránku, SoftwareApplication pro landing page, BlogPosting pro články). - Sitemap: generována pomocí
@astrojs/sitemaps filtrem služebních stránek. - robots.txt:
User-agent: *
Allow: /
Sitemap: https://naderevo.com/sitemap-index.xml
Otevřeno pro AI crawlery. astro.config.mjs nastavuje site: 'https://naderevo.com' pro absolutní URL v sitemap/OG.
Nasazení a serverová konfigurace
VPS poskytuje statický obsah přes Nginx. Proč ne Vercel/Netlify: plná kontrola nad přesměrováními, hlavičkami, bez vendor lock-in.
Přesměrování v nginx.conf:
# http -> https
server {
listen 80;
return 301 https://$host$request_uri;
}
# www -> apex
server {
server_name www.naderevo.com;
return 301 https://naderevo.com$request_uri;
}
Ukládání assetů do mezipaměti:
Cache-Control: public, max-age=31536000, immutable
Haše v názvech souborů (Astro) invalidují mezipaměť při nasazení.
Bezpečnostní hlavičky:
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Referrer-Policy: strict-origin-when-cross-origin
SSL se automaticky obnovuje pomocí Certbot. Legacy přesměrování pro staré slugy příspěvků.
Analytika s ohledem na soukromí
Yandex.Metrika se načte až po udělení souhlasu. Cookie banner ukládá volbu do cookie/localStorage. Při odmítnutí:
- Skript se nenačte.
- Analytické cookies se vymažou.
Cíle přes data-metrika-goal. ID z PUBLIC_YANDEX_METRIKA_ID – volitelně pro vývoj.
Webvisor/clickmap jsou vypnuty pro snížení zátěže.
TypeScript a konfigurace
tsconfig.json:
{
"extends": "astro/tsconfigs/strict",
"compilerOptions": {
"paths": {
"@/*": ["./src/*"]
}
}
}
Striktní režim zachytává chyby v komponentách, kolekcích, i18n-konfiguracích.
Omezení implementace
- Přesměrovací stránka
/(noindex) – SEO-kompromis: váha jde na/cs/,/en/. - Univerzální OG-obrázek pro všechny stránky (jedinečné v plánech).
- Žádné session recording v Metrice.
Co je důležité
- Astro SSG + Nginx – maximální rychlost a spolehlivost pro statický obsah.
- Plná typizace obsahu přes Content Collections.
- SEO-ready: hreflang, JSON-LD, otevřený robots.txt.
- Soukromí: analytika pouze se souhlasem.
- VPS je levnější než PaaS, plná kontrola konfigurací.
— Editorial Team
Zatím žádné komentáře.