Déployer un SPA Angular prerendu (SSG) sur Azure Static Web Apps
Prerender natif, sans serveur Node
@angular/ssr , le mode outputMode: 'static' prérend toutes les routes à la compilation et n'émet que des fichiers statiques — aucun serveur Node à héberger. C'est ce qui rend le déploiement sur Azure SWA trivial : on pousse un dossier browser/ .
Le piège des routes paramétrées
:lang avec un redirectTo fonctionnel casse le prérendu : le <router-outlet> ressort vide. La parade est d'exposer deux arbres statiques explicites ( /fr et /en ) plutôt qu'un paramètre. La langue devient un préfixe d'URL, pas un param.
Configurer Azure Static Web Apps
staticwebapp.config.json à la racine du déploiement. Le fallback SPA y est essentiel pour que le routing client prenne le relais sur les routes non prérendues, sans renvoyer un 404.
SEO complet à la compilation
sitemap.xml , robots.txt et llms.txt , pendant que le SeoService pose les <title> , balises Open Graph , canonical , hreflang et le JSON-LD BlogPosting route par route. Comme tout est dans le HTML prérendu, crawlers et IA récupèrent le contenu sans exécuter une ligne de JS . La doc Azure détaille la config dans le guide Static Web Apps configuration .
Le SSG n'est pas qu'une optimisation SEO : c'est un site qui s'affiche avant même que le JS soit téléchargé. Le time-to-content devient indépendant de la connexion du visiteur.