Skip to content
기능요금제제휴블로그도움말회사 소개문의하기
무료로 시작하기로그인
블로그로 돌아가기
guides2026-07-135 분 읽기

지역 타기팅 QR 메뉴: 방문자 IP로 언어 다르게 제공

안탈리아 라라의 180석 올인클루시브 리조트가 Cloudflare Workers와 CF-IPCountry로 같은 QR을 터키어·독일어·러시아어 메뉴로 분기하는 방법.

th

thMenu Team

thmenu.com

안탈리아 라라 지구의 180석 올인클루시브 리조트에서는 모든 테이블이 같은 QR 코드를 달고 있다——하지만 뮌헨에서 온 가족은 브런치에 독일어를, 상트페테르부르크 커플은 디너에 러시아어를 기대한다. 코드 하나, 경험 셋.

CF-IPCountry로 IP 기반 라우팅

Cloudflare Workers는 모든 요청에 CF-IPCountry 헤더를 붙인다——IP에서 도출한 ISO 3166-1 alpha-2 국가 코드. 워커는 이를 읽고 302 리다이렉트한다: DE → /de, RU → /ru, TR 및 폴백 → /tr. 결정은 5ms 미만, 엣지에서 끝난다.

매핑 테이블을 KV에 두면 관리와 A/B 테스트가 쉽다. 여름에 네덜란드 게스트가 급증하면 운영팀이 NL → /de를 추가하면 끝—재배포 불필요.

브라우저 언어 오버라이드: 논쟁

Accept-Language 접근은 "독일어를 쓰는 터키인" 엣지 케이스에서 실패한다. 베를린에 20년 거주한 터키 가족은 독일어 브라우저를 쓰지만, 안탈리아 휴가 중에는 터키어 메뉴를 선호할 수 있다. CF-IPCountry는 위치를, Accept-Language는 선호를 신호한다.

권장: IP 우선, 브라우저 언어는 타이브레이커. 둘이 충돌하면 수동 스위처를 크게 노출.

수동 언어 스위처라는 폴백

지역 타기팅은 절대 강제여서는 안 된다. thMenu는 메뉴 헤더에 국기+언어 필을 두고 12개 언어를 원탭으로 전환한다. 선택은 쿠키에 저장되어 이후 스캔에서 우선한다.

통계: 3개월간 12,400회 스캔 중 8%가 수동 스위처를 사용——이 8%가 GDPR 준수의 핵심이다.

FAQ

VPN을 쓰는 손님은 어떤 언어를 볼까? CF-IPCountry는 출구 IP를 해석한다. 독일 ExpressVPN을 경유하면 독일 국기가 뜬다. 수동 폴백이 구해 준다.

로밍이 외국 IP를 반환하면? Turkcell 국제 로밍 IP는 터키 CIDR 블록 내에 머문다. 문제 없음.

SEO에 해를 끼치는가? 아니. 메뉴 페이지는 어차피 noindex. 미국 IP의 Googlebot은 기본 /tr로 떨어진다.

도움이 되셨나요? 공유해 주세요.