Stratégie d’URL i18n pour un site Astro
Décision
- Utiliser une structure d’URL avec préfixe de sous-répertoire.
- Définir
prefixDefaultLocale: falsedans l’i18n Astro. - La langue par défaut (ja) reste à la racine (ex.
/posts/slug). - Les langues supplémentaires (en, etc.) utilisent des préfixes (ex.
/en/posts/slug). - Conserver le même slug entre les langues.
Contexte
Nous devions prendre en charge du contenu multilingue via des workflows AI/traduction tout en préservant les contraintes suivantes :
- Conserver les URL japonaises existantes pour préserver le SEO et les liens entrants.
- Rester aligné avec le routage basé sur les fichiers d’Astro pour réduire la maintenance.
- Considérer le japonais comme source de vérité.
Options
- Option A (Suffixe) :
/posts/slug/en- Peu compatible avec le routage i18n standard d’Astro.
- Option B (Anglais racine) :
/en anglais et japonais en/ja/- Nécessite de modifier les URL japonaises existantes.
- Option C (Préfixe + japonais par défaut) :
/en japonais et anglais sous/en/- Préserve les URL tout en permettant l’i18n.
Justification
- Compatibilité ascendante : aucun changement d’URL pour le contenu japonais existant.
- Coût d’implémentation réduit : réalisable avec la configuration i18n intégrée d’Astro.
- Qualité et confiance : séparation plus claire entre contenu original et traductions.
Conséquences
- Les visiteurs non japonais arrivant sur
/verront du japonais. - Si nécessaire, ajouter une suggestion de langue ou une redirection basée sur
Accept-Language. - Les
hreflanget liens inter-langues sont faciles à générer avec les helpers Astro. - L’exigence de slugs identiques devient une règle de gestion de contenu.
hsb.horse