글로벌 웹사이트에 다국어를 적용한 후 흔히 발생하는 문제는 “번역문이 있느냐”가 아닙니다. 영어 제품 페이지를 업데이트한 뒤 독일어 페이지에서 무엇을 동기화해야 하는지 알 수 없거나, 사용자가 언어를 전환했는데 홈페이지로 돌아가거나, 이미 게시 중단된 번역문이 언어 탐색 메뉴에 계속 표시되는 경우입니다. 이러한 관계를 관리하려면 제목이나 URL을 보고 대응 관계를 추측하는 대신, 안정적인 콘텐츠 그룹 식별자로 각 언어 버전을 연결하고 언어, 지역, 게시 상태, 원본 버전을 각각 기록해야 합니다.
Headless CMS for global websites solution을 평가할 때는 콘텐츠 모델, 번역 워크플로 및 프런트엔드 출력을 함께 검증해야 합니다. CMS에 관계를 저장한다고 해서 웹사이트가 언어를 올바르게 전환하거나 hreflang을 생성한다는 의미는 아닙니다. 제공되는 API는 프런트엔드가 “동일한 콘텐츠 중 어떤 언어 버전을 공개적으로 이용할 수 있는지” 식별할 수 있도록 충분한 정보를 제공해야 합니다.
같은 제품에 대한 영어 및 독일어 소개는 일반적으로 하나의 콘텐츠 그룹에 속하지만, 서로 다른 시장을 대상으로 하고 혜택 조건도 다른 프로모션 페이지는 단순히 번역 관계에 있는 것이 아닐 수 있습니다. 모델링하기 전에 어떤 페이지가 동일한 비즈니스 정체성을 공유하고 어떤 페이지가 독립적인 시장별 콘텐츠인지 명확히 해야 합니다. 그렇지 않으면 억지로 연결한 페이지로 인해 사용자가 동등하지 않은 페이지로 이동할 수 있습니다.
언어별 제목이나 경로가 바뀌어도 연결이 끊기지 않도록 비즈니스 정체성과 언어 버전의 정체성을 분리하는 것이 좋습니다.
언어 코드는 BCP 47 형식을 사용하는 것이 좋습니다. en-US와 en-GB로 세분화할지는 목표 국가를 기준으로 판단하는 것이 아니라 콘텐츠 차이에 따라 결정해야 합니다. 비즈니스 시스템의 시장 번호는 별도로 저장하고 언어 필드와 혼용하지 마세요.

두 모델 모두 관계를 설정할 수 있으며, 차이는 편집 및 게시 단위에 있습니다.
제품 모델명과 기술 사양은 공유할 수 있지만, 제목, 설명 및 SEO 문구는 언어별로 관리할 수 있습니다. 가격, 인증 안내 및 배송 조건은 시장별로 재정의해야 할 수도 있습니다. 모든 필드를 일률적으로 번역하지 말고, “공유 필드”가 실제 지역별 차이를 가리지 않도록 하세요.
관련성은 참조 콘텐츠에도 적용되어야 합니다. 독일어 제품 페이지에서 영어 다운로드 자료를 참조하는 경우, 시스템은 해당 자료를 공유해도 되는 자산으로 명시하는지, 아니면 독일어 버전이 없는 상태인지 분명히 해야 합니다. 페이지의 기본 텍스트만 확인해서는 안 됩니다.
번역문이 있다는 사실만으로 번역문이 여전히 유효하다고 볼 수는 없습니다. 원문이 수정되면 번역문에 기록된 원본 개정본과 현재 개정본을 비교하고, 영향을 받는 버전을 바로 덮어쓰는 대신 “검토 대기”로 표시해야 합니다. 이전 번역문을 게시 중단할지는 수정 위험에 따라 결정해야 합니다. 표현 수정과 안전 사양 변경에 동일한 정책을 적용해서는 안 됩니다.
작업 콜백은 재시도 시 중복 항목이 생성되지 않도록 멱등성을 보장해야 합니다. 미리보기 API와 공개 제공 API도 분리하여 초안이 언어 연결 목록을 통해 실제 서비스에 노출되지 않도록 해야 합니다.
프랑스어 페이지를 요청했는데 영어 콘텐츠가 반환되었을 때 프런트엔드가 이를 여전히 프랑스어로 표시하면 언어 선언과 페이지 본문이 일치하지 않게 됩니다. API는 요청 언어, 실제 반환 언어, 대체 처리가 발생했는지 여부를 반환해야 하며, 본문만 반환해서는 안 됩니다.
콘텐츠 본문, 메뉴 및 공유 자산에 각각 대체 규칙을 설정하는 것이 좋습니다. 메뉴에 번역문이 없는 경우 제품 정책에 따라 대체 언어를 사용할 수 있습니다. 전체 페이지의 번역문이 아직 게시되지 않은 경우에는 해당 언어의 진입점을 숨길지, 이용할 수 없다고 안내할지, 원본 언어 주소로 이동시킬지 명확히 선택해야 합니다. 대상 언어 URL에서 원문을 아무런 안내 없이 복사해 제공해서는 안 됩니다.
캐시 키는 최소한 콘텐츠, 언어 및 제공 환경을 구분해야 합니다. 그렇지 않으면 데이터베이스의 연결이 올바르더라도 캐시가 혼용되어 서로 다른 언어로 요청해도 동일한 페이지가 반환될 수 있습니다.
언어 전환과 hreflang은 동일한 게시 완료 연결 데이터를 사용해야 합니다. 언어를 전환할 때 경로의 언어 접두사만 바꾸지 말고 콘텐츠 그룹을 유지해야 합니다. 대상 버전이 없다면 유효해 보이는 링크를 생성하지 마세요.
검수 시 동일한 콘텐츠 그룹을 사용하여 “원문 수정”, “번역문 미게시”, “언어 버전 게시 중단”, “slug 이름 변경”의 네 가지 상태를 테스트하고 API, 언어 탐색 메뉴, 캐시 및 hreflang이 함께 변경되는지 확인할 수 있습니다. 백오피스에는 연결이 정상으로 표시되는데 실제 서비스에는 비활성 주소가 계속 남아 있다면 번역 관계를 다시 설정하기보다 게시 이벤트와 프런트엔드 빌드 체인을 우선 점검해야 합니다.
관련 기사
관련 제품


