다국어가 보이는 것보다 중요한 이유
지역 비즈니스는 한 가지 언어로 생각합니다. 관광, 숙박, 전문 서비스, 이커머스처럼 해외 고객을 원하는 비즈니스는 실제 고객이 검색하는 언어로 사이트가 네이티브하게 존재해야 합니다. 나중에 덧붙이는 것이 아니라요. 본국 밖으로 도달 범위를 넓히고 싶은 클라이언트의 사이트를 만들 때는 처음부터 다국어 라우팅을 넣습니다. 단일 언어 사이트에 나중에 붙이려면 메타데이터, URL 구조, 그리고 종종 콘텐츠 전략까지 처음부터 다시 해야 하기 때문입니다.
뻔한 두 가지 지름길이 모두 실패하는 이유
누구나 가장 먼저 손을 뻗는 지름길이 두 가지 있는데, 둘 다 진짜 SEO에서는 실패합니다. 첫째는 떠다니는 번역 위젯(Google Translate 임베드 등)입니다. 이는 페이지가 이미 원래 언어로 로드된 뒤 클라이언트 쪽에서 동작하므로, 검색 엔진은 원본 텍스트를 색인합니다. 스페인어로 검색하는 스페인어권 방문자는 Google에게 스페인어로 읽히는 페이지를 절대 찾지 못합니다. 둘째는 ?lang=es 같은 쿼리 파라미터가 붙은 단일 URL입니다. 검색 엔진은 쿼리 파라미터 변형을 독립적으로 순위를 매길 수 있는 별개의 페이지로 안정적으로 취급하지 않습니다. 같은 URL의 중복 콘텐츠로 처리되는 경우가 많아서, 스페인어 콘텐츠가 스페인어 검색에서 독립적으로 순위를 얻지 못하고 영어 콘텐츠와 경쟁하게 됩니다.
해법: 언어마다 하나씩, 진짜 라우트
모든 언어가 크롤링 가능한 자신만의 경로(/it/, /en/, /es/)를 가지며, 각각 완전히 번역된 콘텐츠, 고유한 <html lang> 속성, 고유한 메타데이터와 함께 서버 사이드에서 렌더링됩니다. Next.js에서는 localePrefix를 “always”로 설정한 next-intl이 이를 기본으로 제공합니다. JavaScript로 텍스트만 바꾸는 하나의 페이지가 아니라, 검색 엔진이 크롤링하고 색인하고 독립적으로 순위를 매길 수 있는 진짜로 분리된 페이지를 얻게 됩니다. 각각이 해당 언어의 진짜 완전한 페이지이며, 같은 콘텐츠 위에 씌운 번역 껍데기가 아닙니다.
이 사이트가 실제로 어떻게 연결되어 있는지
이렇게 하면 실제로 얻는 것
각 언어 변형은 자기 조건으로 순위를 얻습니다. 이탈리아어 검색에는 이탈리아어 페이지가, 스페인어 검색에는 스페인어 페이지가 나오며, Google의 눈에는 어느 쪽도 서로 경쟁하거나 희석하지 않습니다. 전환에서도 똑같이 중요한 점은 방문자가 구석에 번역 위젯이 눈에 띄는 페이지가 아니라, 정말 그들의 언어로 쓰인 것처럼 읽히는 페이지에 도착한다는 것입니다. 국제 독자에게 신뢰감을 주려는 레스토랑, 호텔, 전문 서비스에게 이 차이는 종종 이탈과 고객 확보를 가르는 간극입니다.
이 아키텍처를 여러분의 사이트에서 돌리고 싶으신가요?
이야기해 봅시다 →About
Patrick Chen — Sublimearts.io를 만든 독립 개발자 겸 웹 디자이너. next-intl, localePrefix always, 언어별 메타데이터로 이루어진 바로 이 라우팅 구성이, 지금 여러분이 읽고 있는 이 페이지를 9개 언어 중 보고 계신 언어로 렌더링하고 있습니다.