Retour à l'accueil

Astro 6 SSG sur VPS : stack du site 2026

Cas de site statique bilingue sur Astro 6 SSG avec Nginx sur VPS. Stack décrit, i18n, infrastructure SEO, analytique avec consentement, TypeScript strict. Décomposition détaillée des configurations et limitations pour développeurs seniors.

Comment construire un site sur Astro 6 + VPS pour 300r
Advertisement 728x90

Architecture de site statique avec Astro 6 et VPS en 2026

Le site "Na Derevo" utilise Astro 6 en mode SSG pour générer des fichiers statiques propres : la page d'accueil du projet, la page de destination du produit MENO et un blog. La prise en charge bilingue (ru/en) est implémentée sans SPA ni SSR. Sur le serveur—Nginx sur un VPS à 300 roubles, SSL via Certbot. Analyse—Yandex.Metrica avec un mécanisme de consentement.

La pile est minimisée pour la performance :

  • Framework : Astro 6 (SSG)
  • Langage : TypeScript (strict)
  • Contenu : Collections de contenu Astro + Markdown/MDX
  • Serveur : Nginx
  • SSL : Certbot (Let's Encrypt)
  • Analyse : Yandex.Metrica (optionnel)

Astro génère un dossier dist avec HTML, CSS, JS—pas de Node.js en production. Nginx sert les fichiers directement, ce qui est plus rapide que SSR.

Google AdInline article slot

Localisation et structure d'URL

Configuration d'Astro pour l'i18n :

locales: ['ru', 'en'],
prefixDefaultLocale: true,
redirectToDefaultLocale: false

Structure :

  • naderevo.com/ru/ — page d'accueil (RU)
  • naderevo.com/en/ — page d'accueil (EN)
  • naderevo.com/ru/blog/ — blog (RU)
  • naderevo.com/en/blog/ — blog (EN)
  • naderevo.com/ — page de redirection (noindex)

La racine détermine la langue via localStorage, cookie ou Accept-Language et redirige. Le préfixage des deux langues simplifie hreflang et canonical. Les Collections de contenu assurent le typage des frontmatter—la construction échoue si des champs sont manquants.

Google AdInline article slot

Infrastructure SEO

Chaque page inclut :

  • Balises de base : canonical, hreflang (incl. x-default), Open Graph, Twitter Card.
  • Données structurées : JSON-LD dans <head> (WebSite pour la page d'accueil, SoftwareApplication pour la page de destination, BlogPosting pour les articles).
  • Plan de site : généré par @astrojs/sitemap avec un filtre pour les pages utilitaires.
  • robots.txt :
User-agent: *
Allow: /
Sitemap: https://naderevo.com/sitemap-index.xml

Ouvert aux robots d'IA. astro.config.mjs définit site: 'https://naderevo.com' pour les URL absolues dans le plan de site/OG.

Déploiement et configuration serveur

Le VPS sert des fichiers statiques via Nginx. Pourquoi pas Vercel/Netlify : contrôle total sur les redirections, les en-têtes, pas de verrouillage fournisseur.

Google AdInline article slot

Redirections dans 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;
}

Mise en cache des ressources :

Cache-Control: public, max-age=31536000, immutable

Les hachages dans les noms de fichiers (Astro) invalident le cache au déploiement.

En-têtes de sécurité :

X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Referrer-Policy: strict-origin-when-cross-origin

Mises à jour automatiques SSL avec Certbot. Redirections héritées pour les anciens slugs d'articles.

Analyse respectueuse de la vie privée

Yandex.Metrica se charge après consentement. La bannière de cookies sauvegarde le choix dans un cookie/localStorage. Si refusé :

  • Le script ne se charge pas.
  • Les cookies d'analyse sont effacés.

Objectifs via data-metrika-goal. ID de PUBLIC_YANDEX_METRIKA_ID—optionnel pour le développement.

Webvisor/clickmap désactivés pour réduire la charge.

TypeScript et configuration

tsconfig.json :

{
  "extends": "astro/tsconfigs/strict",
  "compilerOptions": {
    "paths": {
      "@/*": ["./src/*"]
    }
  }
}

Le mode strict détecte les erreurs dans les composants, collections, configurations i18n.

Limitations d'implémentation

  • Page de redirection / (noindex)—compromis SEO : le poids va vers /ru/, /en/.
  • Image OG universelle pour toutes les pages (des uniques prévues).
  • Pas d'enregistrement de session dans Metrica.

Points clés

  • Astro SSG + Nginx—vitesse et fiabilité maximales pour les sites statiques.
  • Typage complet du contenu via Collections de contenu.
  • Prêt pour le SEO : hreflang, JSON-LD, robots.txt ouvert.
  • Vie privée : analyse uniquement avec consentement.
  • VPS moins cher que PaaS, contrôle total de la configuration.

— Editorial Team

Advertisement 728x90

Lire ensuite