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.
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.
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/sitemapavec 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.
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
Aucun commentaire pour le moment.