logo hsb.horse

Architecture Decision Record

Stratégie d’URL i18n pour un site Astro

Conserver le japonais comme langue par défaut (racine) et servir les autres langues via des préfixes de sous-répertoire.

Accepté #astro #i18n #seo #architecture

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: false dans 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 hreflang et 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.