logo hsb.horse

Architecture Decision Record

Astroサイトの多言語URL設計とi18n戦略

日本語をデフォルト(ルート)に維持し、追加言語をサブディレクトリで配信する。

採用 #astro #i18n #seo #architecture

Astroサイトの多言語URL設計とi18n戦略

Decision

  • URLはサブディレクトリ・プレフィックス型を採用する。
  • Astroのi18n設定で prefixDefaultLocale: false を使用する。
  • デフォルト言語(ja)はルート直下(例: /posts/slug)。
  • 追加言語(en等)は言語プレフィックス付き(例: /en/posts/slug)。
  • 記事スラッグは言語間で同一のものを使用する。

Context

生成AIや翻訳APIの活用により多言語化を進めるにあたり、以下の要件を満たす必要があった。

  • 既存の日本語記事URLを変更せず、SEO評価と被リンクを維持する。
  • AstroのFile-based Routingと相性が良く、運用コストが低い構成にする。
  • 日本語がオリジナル(Source of Truth)である前提を崩さない。

Options

  • Option A(Suffix): /posts/slug/en
    • Astro標準のi18nと相性が悪い。
  • Option B(Root English): / を英語、/ja/ を日本語
    • 既存日本語URLの変更が必要。
  • Option C(Prefix + JA Default): / を日本語のまま維持し、英語を /en/
    • 既存URLを維持しつつ多言語化できる。

Rationale

  • 後方互換性の維持: 既存日本語記事のURLをそのまま保てる。
  • 実装コストの最小化: Astroの標準i18n設定だけで実現できる。
  • 品質と信頼性: オリジナル(日本語)と翻訳版の階層を分けやすい。

Consequences

  • ルート(/)にアクセスした海外ユーザーは日本語を見る。
  • 必要に応じて、言語提案UIやAccept-Languageに基づくリダイレクトを検討する。
  • hreflangと言語間リンクは標準ヘルパーで実装可能。
  • 言語間で同一スラッグを維持する運用が必須になる。