WPML은 워드프레스를 다국어 사이트로 변환하려는 경우에 사용되는 인기 유료 플러그인입니다. 어제 WPML으로 만들어진 워드프레스 다국어 사이트에서 언어 선택기(언어 전환기)가 제대로 작동하지 않는 문제 해결을 의뢰받았습니다. 상단 내비게이션에 WPML 언어 선택기의 국기 아이콘들이 깨져 표시되었고, 언어 전환 아이콘을 눌러도 해당 언어 사이트로 이동하지 않는 문제가 발생했습니다.
WPML 언어 선택기의 국기 항목을 누를 때 URL에 /?xdomain_data=... 파라미터가 추가되는 것을 발견했습니다. 혹시 이 때문에 언어 전환기가 작동하지 않는 것이 아닌가 의심되지만, 언어 전환기를 통해 도메인 간에 세션 인수를 전달하는 기능이라고 하네요. 이 기능은 "서로 다른 도메인을 사용하는 다국어 사이트에서 방문자의 특정 상태(세션)를 끊김 없이 유지해 주기 위해" 사용된다고 합니다.

워드프레스 WPML 다국어 플러그인 언어 변경 시 ?xdomain_data 파라미터가 URL에 추가되는 현상
워드프레스에서는 다국어 사이트로 쉽게 변환이 가능합니다. 특히 자동번역까지 지원하는 인기 유료 다국어 번역 플러그인으로 WPML이 있습니다. 개인적으로는 수동으로 번역하는 것을 선호합니다. 과거에는 번역을 위해 비싼 번역료를 지불해야 했지만, 이제는 크게 중요한 사이트가 아니라면 챗GPT 등 AI를 사용하여 번역하여 번역을 복붙하는 것을 고려할 수 있습니다. (이런 과정이 번거로우면 API 비용을 지불하고 자동번역하는 것이 가능합니다.)
WPML과 챗GPT를 사용하여 워드프레스 다국어 사이트 만들기 - 워드프레스 정보꾸러미
워드프레스에서는 WPML 등의 플러그인을 사용하여 쉽게 다국어 사이트로 구성할 수 있습니다. WPML으로 영어, 중국어, 일본어 등 언어 버전을 추가한 후에 WPML의 자동 번역 기능(유료)을 사용하거
www.thewordcracker.com
테마포레스트에서 판매되는 여행용 테마인 Travel Tour가 사용된 워드프레스 사이트에서 WPML 언어 전환기가 제대로 작동하지 않는 문제 해결을 맡았습니다.
이 테마는 현재 1만 개가 넘는 판매를 기록하고 있고 WPML과의 호환성을 명시하고 있습니다.

WPML으로 구축한 사이트에서 메뉴의 언어 전환 아이콘을 클릭했을 때 해당 페이지로 이동하지 않고 URL 끝에 ?xdomain_data=... 와 같은 알 수 없는 긴 문자열이 붙는 현상이 발생할 때가 있습니다. 해킹이나 에러로 오해하기 쉽지만, 이는 WPML이 제공하는 중요한 동기화 기능 중 하나입니다. 예시:
?xdomain_data=vo1zRRnNqGyPH4Lqp6T%2FA8bbUr8LK01SOieBO54TlPV9vXArO7KSSS4qm6CmRGXZ
1. xdomain_data 파라미터
언어 선택기 아이콘을 클릭할 때 URL 끝부분에 xdomain_data 파라미터가 붙는 이 현상은 WPML의 '언어 전환기를 통해 도메인 간에 세션 인수 전달(Pass session arguments between domains through the language switcher)' 기능과 관련이 있습니다.
WPML에서 언어마다 다른 도메인(예: 한국어 사이트- example.co.kr, 영문 사이트- example.com 등)을 사용하도록 설정한 경우, 방문자가 언어를 변경하면 브라우저는 완전히 다른 웹사이트로 이동한 것으로 인식합니다. 보안상의 이유로 브라우저는 다른 도메인 간에 세션이나 쿠키 데이터를 공유하지 않기 때문입니다.
WPML은 이 한계를 극복하기 위해 자바스크립트를 이용해 사용자의 세션 정보를 xdomain_data라는 파라미터에 담아 새 도메인으로 안전하게 넘겨줍니다.
2. 이 기능은 어떤 상황에서 필요할까?
단순히 정보만 보여주는 사이트라면 이 데이터가 필요 없지만, 다음과 같은 기능이 포함된 사이트라면 방문자의 경험을 위해 필요합니다.
- 쇼핑몰 (우커머스): 한국어 도메인에서 장바구니에 상품을 담고 결제하기 전, 영어 도메인으로 언어를 변경했을 때 장바구니가 비워지는 현상을 막아줍니다.
- 회원제 사이트: 로그인한 상태에서 언어를 변경했을 때, 강제로 로그아웃 처리되는 불편함을 방지합니다.
3. 내 사이트에 맞는 설정 방법
이 기능은 목적에 맞게 활성화 여부를 결정해야 합니다. 설정은 워드프레스 관리자 메뉴의 WPML » Languages » Language URL Format 섹션에서 변경할 수 있습니다.

참고로 언어 URL 포맷을 A different domain per language(언어마다 다른 도메인)를 선택하는 경우 언어마다 다른 도메인이나 다른 서브도메인을 지정할 수 있습니다. 위의 그림과 같이 하위 디렉터리 형식으로는 설정할 수 없습니다. 이렇게 설정하면 저장이 안 되고, 언어 전환기의 언어 아이콘을 클릭해도 해당 언어 사이트의 URL로 이동하지 않습니다.
이 기능을 켜야 하는 경우 (체크 유지)
- 상품 결제가 가능한 우커머스 쇼핑몰
- 회원가입 및 로그인 기능이 활성화된 멤버십 사이트
- 방문자의 개인화된 세션 유지가 꼭 필요한 플랫폼
이 기능을 꺼야 하는 경우 (Disable this feature 선택)
- 회사 소개, 비즈니스 안내 페이지
- 단순 정보 제공 목적의 블로그나 포트폴리오
- 결과: 이 옵션을 끄면 URL 끝에 파라미터가 붙지 않아서 URL이 깔끔해지며, 캐시 플러그인 등과의 자바스크립트 충돌로 인해 언어 전환이 멈추는 오류를 예방할 수 있습니다.
4. xdomain_data가 SEO에 악영향을 미칠까?
결론부터 말씀드리면 SEO에는 악영향을 미치지 않습니다.
WPML은 이 파라미터를 서버단이 아닌, 사용자 브라우저의 자바스크립트를 통해서만 동적으로 추가합니다. 구글과 같은 검색엔진 봇은 페이지 소스 코드를 읽을 때 이 파라미터를 보지 못하며, 사이트맵에도 추가되지 않습니다. 구글 애널리틱스(GA) 통계에 간혹 이 파라미터가 찍히더라도 검색 노출 순위나 페널티와는 무관하다고 합니다.
마치며
이상으로 WPML에서 언어마다 다른 도메인(서브도메인)을 사용하는 경우 언어 전환기의 언어 전환 아이콘을 누를 때 URL 끝부분에 xdomain_data 파라미터가 추가되는 현상에 대해 살펴보았습니다.
영어, 일본어, 중국어 등 다국어 사이트 구축에 WPML 플러그인이 많이 사용되지만 현재 WPML은 연간 구독제 라이선스만 제공됩니다. 1개 사이트에 대하여 평생 라이선스(라이프타임 라이선스)를 적용하여 기본적인 다국어 사이트 세팅을 원하는 경우 다음 글을 참고하세요. (다만 자동 번역 기능은 지원되지 않습니다.)
워드프레스 다국어 플러그인 WPML 세팅 작업을 저렴하게 제공하고 있습니다 [다국어 사이트 구축]
워드프레스에서 한국어, 영어, 중국어, 일본어 등 여러 개의 언어 사이트 즉, 다국어 사이트를 운영하려는 경우 WPML 플러그인이 많이 사용되고 있습니다. https://ww...
cafe.naver.com
참고
https://avada.tistory.com/3774
워드프레스 WPML로 Salient 테마의 푸터 글로벌 섹션 번역 방법
WPML을 사용하면 워드프레스 사이트에 수월하게 영어, 일본어, 중국어 등 다국어 버전을 추가할 수 있습니다. Salient는 꾸준히 인기를 끌고 있는 다목적 워드프레스 테마입니다. 최근 Salient 테마로
avada.tistory.com
https://avada.tistory.com/3697
엘리멘터로 만든 워드프레스 사이트를 WPML으로 다국어 사이트 변환 작업
엘리멘터는 현재 1,000만 개가 넘는 사이트에 설치되어 사용되고 있는 인기 워드프레스 페이지 빌더입니다. Elementor를 사용하면 코딩에 대한 지식이 없어도 쉽게 원하는 디자인의 사이트를 만들
avada.tistory.com
https://avada.tistory.com/3046
해외웹호스팅: 클라우드웨이즈 vs. 블루호스트 vs. 카페24 비교 (Cloudways vs. Bluehost vs. Cafe24)
저는 오랫동안 블루호스트(Bluehost)를 이용해 왔으며 2021년부터는 클라우드웨이즈(Cloudways) 웹호스팅 서비스도 함께 이용하고 있습니다. 현재 일부 중요하지 않는 블로그는 Bluehost에서 호스팅되고
avada.tistory.com