Astro 사이트의 i18n URL 전략
결정
- 하위 디렉터리 접두사 기반 URL 구조를 사용한다.
- Astro i18n에서
prefixDefaultLocale: false를 설정한다. - 기본 언어(ja)는 루트에 유지한다(예:
/posts/slug). - 추가 언어(en 등)는 접두사를 사용한다(예:
/en/posts/slug). - 언어 간 동일한 슬러그를 유지한다.
배경
AI/번역 워크플로를 활용한 다국어 콘텐츠를 지원하면서 다음 제약을 유지해야 했다.
- SEO와 유입 링크를 보존하기 위해 기존 일본어 URL을 유지한다.
- 유지보수 비용을 낮추기 위해 Astro의 파일 기반 라우팅과 정합성을 유지한다.
- 일본어를 원본의 기준으로 한다.
옵션
- 옵션 A(접미사):
/posts/slug/en- Astro의 표준 i18n 라우팅과 부합하지 않음
- 옵션 B(영어 루트):
/를 영어로 두고 일본어를/ja/로 이동- 기존 일본어 URL 변경이 필요
- 옵션 C(접두사 + 일본어 기본):
/는 일본어로 유지하고 영어를/en/에 배치- URL 보존과 i18n을 동시에 달성
근거
- 하위 호환성: 기존 일본어 URL 변경 없음.
- 구현 비용 감소: Astro 내장 i18n 설정으로 구현 가능.
- 품질과 신뢰: 원문과 번역을 분리하기 쉬움.
결과
- 일본어 외 방문자는
/에서 일본어를 보게 된다. - 필요 시 언어 제안 UI 또는 Accept-Language 기반 리다이렉트를 추가한다.
- hreflang 및 언어 간 링크는 Astro 헬퍼로 쉽게 생성 가능.
- 언어 간 동일한 슬러그를 강제하는 것이 콘텐츠 관리 규칙이 된다.
hsb.horse