HaniSeoul

다국어 웹페이지, 메타, 트위터 태그, 검색 엔진 등록 및 SEO 작성 가이드

다국어 웹페이지를 만들 때 알아두면 좋은 메타 태그, 트위터 태그, 검색 노출 설정, 다국어 링크 설정, 구조화 데이터 팁등 모든 내용을 총 정리했습니다.

공유

다국어 페이지 전략 한눈에 보기

  • 방문자의 브라우저 언어와 위치 정보를 참고해 어느 언어 페이지를 먼저 보여줄지 정한다. 자동 판단이 어렵다면 언어 선택 모달을 먼저 띄우는 것도 방법이다.

  • URL 구조는 /ko, /en처럼 언어 코드를 붙이거나 ko.example.com처럼 서브도메인을 쓰는데, 둘 중 하나로 꾸준히 가는 것이 중요하다. 서브도메인은 blog.example.com처럼 앞부분에 새 이름을 붙인 주소를 뜻한다.

  • 언어별 페이지라도 제목과 설명은 그대로 번역하지 말고, 현지에서 자주 쓰는 표현으로 다듬는다. 같은 정보를 말하더라도 말투가 조금씩 달라야 클릭률이 올라간다.

  • 반복해서 쓰는 메타 태그는 레이아웃 컴포넌트나 빌드 스크립트에 기본값을 넣어두고, 언어별로 바뀌는 값만 CMS나 번역 파일에서 불러오면 실수가 줄어든다.

Title 태그 작성법

  • 검색 키워드를 조사해 페이지 주제와 잘 맞는 단어를 넣고, 50~60자 안에 정리한다. 너무 길면 검색 결과에서 잘린다.

  • 브랜드 이름은 뒤쪽에 붙이고, 현지에서 브랜드 인지도가 높다면 앞에 올려도 괜찮다.

  • 경로마다 핵심 키워드와 구체적인 정보를 섞어 중복 타이틀을 피한다. 예를 들어 학습 가이드는 학습 단계나 난이도를 함께 넣는다.

  • 한국어 제목은 조사와 어미를 간결하게 자르고, 영어 제목은 문장보다는 핵심 키워드 조합이 검색 노출에 유리하다.

Description 메타 태그 쓰는 요령

  • 120~155자 사이에 핵심 내용을 담으면 검색 미리보기에서 자연스럽게 보인다.

  • 언어마다 어울리는 콜투액션 문구를 한 번 정도 넣는다. 예: 한국어는 "지금 확인하세요", 영어는 "Get started today".

  • 페이지별로 고유한 설명을 쓰고, 같은 문장을 복사해 쓰지 않는다.

  • 빌드 후 HTML이 깨지지 않았는지 특수문자나 줄바꿈을 미리 검증한다.

썸네일과 오픈 그래프

  • 기본 이미지는 1200×630px 이상, 용량은 300KB 이하로 관리하면 대부분의 플랫폼에서 선명하게 보인다.

  • 이미지 안에 글자를 넣을 때는 언어별로 다른 버전을 준비하거나, 텍스트 대신 아이콘과 색으로 차이를 준다.

  • og:title, og:description, og:site_name은 페이지 언어에 맞춰 번역하고, og:locale에는 ko_KR, en_US처럼 언어와 지역을 함께 적는다. 같은 페이지의 다른 언어 버전은 og:locale:alternate에 추가한다.

  • og:image:alt에는 이미지 설명을 언어별로 적어 접근성과 검색 가독성을 동시에 챙긴다.

트위터 카드 메타 태그

  • twitter:card는 대부분 summary_large_image로 맞추면 큰 이미지를 썸네일로 보여준다.

  • twitter:title, twitter:description, twitter:image, twitter:site를 각 언어에 맞춰 채워 넣고, 트위터가 글자 수를 엄격하게 자르는 편이니 70자 안팎으로 정리한다.

  • 트위터와 X, Threads, LinkedIn은 오픈 그래프 값을 기본으로 읽으므로 가능한 한 동일한 정보를 유지한다.

기본으로 넣는 메타 태그

  • charset, viewport, theme-color 같은 필수 태그는 모든 페이지에 공통으로 둔다.

  • PWA를 지원한다면 manifest 링크와 아이콘 메타 태그를 공통 레이아웃에서 불러오고, 앱 이름은 manifest의 다국어 필드를 써서 언어별로 바꾼다.

  • link rel="preload"preconnect는 언어와 상관없이 꼭 필요한 리소스만 남겨 초기 로딩 속도를 잡는다.

Robots 메타와 인덱싱

  • 일반 공개 페이지는 기본값으로 index, follow를 쓰면 된다.

  • 임시 페이지나 비슷한 내용이 많은 페이지는 noindex, follow로 검색 결과에서 숨기고 링크는 따라가게 한다.

  • 실험용 페이지처럼 아예 숨기고 싶은 곳은 noindex, nofollow를 쓰거나, 서버에서 X-Robots-Tag 헤더로 더 강하게 막는다.

robots.txt 이해하기

  • 사이트 루트에 두는 robots.txt는 "이 경로는 봐도 되고, 이 경로는 건너뛰어 주세요"라고 안내하는 표지판이다.

  • 언어별 디렉터리가 동일한 규칙을 따른다면 User-agent: * 아래에 공통 허용·차단 경로를 적는다.

  • 특정 언어 페이지만 제한하려면 Disallow: /ja/private처럼 경로를 정확히 적는다.

  • 마지막에 Sitemap: https://example.com/sitemap-ko.xml처럼 언어별 사이트맵 주소를 모두 안내한다.

사이트맵 운영 팁

  • 페이지 수가 많다면 sitemap-index.xml을 써서 언어별 사이트맵을 묶는다. 예: sitemap-ko.xml, sitemap-en.xml.

  • 자주 바뀌는 페이지와 거의 바뀌지 않는 페이지를 분리하면 lastmod 날짜를 신뢰도 있게 관리할 수 있다.

  • 이미지나 동영상에 대한 정보를 별도로 알리고 싶다면 전용 사이트맵을 만들어 언어 페이지와 연결한다.

Canonical URL 정리

  • Canonical은 "이 주소가 원본이니 검색 결과에는 이 링크를 보여주세요"라는 신호다.

  • 다국어 페이지라도 각 언어마다 고유한 콘텐츠로 보이면 그 페이지 자체를 canonical로 지정한다.

  • 번역 준비 중이라 다른 언어가 임시로 원문을 보여줄 때는 원문 URL을 canonical로 지정해 중복 노출을 막는다.

  • URL에 ?lang=ko처럼 파라미터로 언어를 나눴다면 canonical을 고정 경로로 지정하고, 실제 언어 연결은 alternatehreflang으로 안내한다.

Alternate와 hreflang 쉽게 이해하기

  • link rel="alternate" hreflang="ko-KR"는 "이 페이지의 한국어 버전은 여기 있어요"라는 표지판이다.

  • 모든 언어 페이지가 서로를 가리키도록 같은 세트를 넣어야 검색엔진이 헷갈리지 않는다.

  • 글로벌 기본 페이지나 언어 선택 허브는 hreflang="x-default"로 지정해 "언어를 직접 골라 주세요"라는 의미를 전한다.

  • Naver는 hreflang만으로는 부족한 경우가 있어 naver-site-verification 메타 태그와 구조화 데이터를 함께 준비하면 좋다.

Table of Contents(목차)로 SEO 보조하기

  • 긴 글 맨 위에 목차를 두면 방문자가 "이 부분만 빨리 보고 싶어" 할 때 곧장 이동해 체류 시간이 늘어나고 이탈률이 줄어든다.

  • 목차에 달린 앵커 링크는 검색엔진이 문서 구조를 더 똑똑하게 파악하게 도와, Google·Naver 같은 곳에서 점프 링크나 sitelink가 뜰 확률을 높인다.

  • 모바일에서는 접을 수 있는 컴포넌트를 쓰고, 공유 가능한 앵커 링크를 걸어두면 특정 언어 섹션으로 바로 안내하기 좋다.

주요 검색엔진에 사이트 등록하기

Google Search Console

  • 루트 도메인을 도메인 자산으로 등록하고 DNS TXT 레코드로 인증한다. DNS는 도메인 주소록이라고 생각하면 이해하기 쉽다.

  • 언어별 사이트맵을 제출하고, 국제 타겟팅 리포트에서 hreflang 오류를 꾸준히 확인한다.

Naver 서치어드바이저

  • 사이트를 등록한 뒤 HTML 파일 업로드나 메타 태그 방식으로 소유권을 증명한다.

  • 검색 로봇 차단 여부, 사이트맵 제출 상태를 자주 확인하고, PC와 모바일 미리보기로 제목과 설명이 원하는 대로 나오는지 살핀다.

Kakao 비즈니스 등록

  • business.kakao.com에 카카오계정으로 로그인한 뒤 통합 약관에 동의하고 비즈니스 계정을 만든다.

  • 이어서 카카오톡 채널을 열고 비즈니스 채널로 전환하면 지도, 챗봇, 광고 등 노출 지점이 한 번에 연결된다.

  • 관리자센터에서 사업자 등록증과 고객센터 정보를 제출하고, 필요하면 카카오싱크나 톡 기반 상담 같은 부가 기능을 추가한다.

DuckDuckGo와 Yahoo 검색 노출

  • 두 서비스는 별도 웹마스터 도구가 없고, Bing Search Console에 사이트를 추가해 사이트맵을 제출하면 대부분 자동으로 반영된다.

  • 구조화 데이터와 명확한 hreflang 체계를 유지하면 Bing 인덱스를 공유하는 파트너 엔진에서도 언어 버전이 함께 노출된다.

  • 새 페이지가 노출되지 않으면 Bing URL 제출이나 IndexNow를 활용해 빠르게 재크롤을 요청한다.

Bing Webmaster Tools

  • Microsoft 계정으로 로그인해 사이트를 추가하고, DNS 인증이나 Google Search Console 가져오기 기능으로 소유권을 확인한다.

  • IndexNow 키를 발급받아 새로 만든 페이지나 업데이트된 페이지를 바로 제출하면 해외 노출 속도를 높일 수 있다.

Brave Search

  • Brave Search는 자체 인덱스를 쓰기 때문에 공식 제출 폼이 없고, Brave 브라우저의 Web Discovery Project 참여가 늘수록 색인이 빨라진다.

  • 크롤러를 가로막는 robots.txtnoindex가 없는지 다시 확인해 기본 노출 조건을 맞춘다.

  • Brave 사용자 커뮤니티에 콘텐츠를 소개하면 직접 방문이 늘어 자연스럽게 데이터가 쌓인다.

Yandex Webmaster

  • Yandex ID로 로그인해 사이트를 추가하고, HTML 파일·메타 태그·DNS TXT 중 편한 방법으로 소유권을 인증한다.

  • 사이트가 검색에 반영되기까지 시간이 걸릴 수 있으니 정기적으로 인덱싱 리포트와 오류 알림을 확인한다.

  • 러시아어 페이지가 있다면 지역 설정을 러시아 또는 CIS 국가로 맞추고, Turbo Pages, Yandex Metrica 연동 같은 추가 도구를 검토한다.

Baidu 검색 자원 플랫폼

  • 중국 대상 서비스를 운영한다면 Baidu 검색 자원 플랫폼(ziyuan.baidu.com)에 사이트를 등록하고 소유권을 검증한다.

  • 검증을 마치면 링크제출, 사이트맵, 빠른 수집 도구를 활용해 자주 업데이트되는 페이지를 적극적으로 알린다.

  • 모바일 전용 페이지가 있다면 PC-모바일 매핑을 등록하고, 빠른 크롤링 정책 공지를 주기적으로 확인한다.

JSON-LD 구조화 데이터 쉽게 넣기

  • JSON-LD는 검색엔진에게 "이 페이지는 어떤 주제를 다루고 있어요"라고 알려주는 카드다. <head> 안에 한 번만 넣는다.

  • inLanguage@language 필드에 페이지 언어를 적어 검색엔진이 언어를 바로 알아차리게 한다.

  • 페이지 성격에 맞는 스키마 타입을 고른다. 정보 글은 Article, 제품 소개는 Product, 자주 묻는 질문은 FAQPage처럼 연결한다.

  • 같은 제품이나 서비스를 여러 언어로 소개한다면 alternateName, description 등을 언어별로 채우고, 각 언어 URL과 @id를 고유하게 유지한다.

  • 날짜는 ISO 8601 형식(예: 2025-09-26), 가격은 ISO 4217 통화 코드(예: KRW)로 표기한다.

  • SPA 구조라면 페이지 이동 시 구조화 데이터가 사라지지 않도록 클라이언트 렌더링에서도 스크립트를 갱신한다.

숙박업 JSON-LD 예시

  • 아래 예시는 기본 뼈대이니 실제 이름, 주소, 리뷰 값을 상황에 맞게 채워 넣는다.

{ "url": "https://haniseoul.com/pages/seoul-mapo-haniseoul-house", "name": "하니서울 하우스 (Haniseoul House)", "@type": "Accommodation", "image": [ "https://cdn.haniseoul.com/pages/7bfc2d4f-7248-43af-a2b4-d590eddd4c70/a058769c-2a34-476a-ad16-d0f0508f59cd.avif" ], "address": { "@type": "PostalAddress", "addressRegion": "Seoul", "streetAddress": "Hongik-ro", "addressCountry": "KR", "addressLocality": "Mapo-gu" }, "@context": "https://schema.org", "telephone": "+82-2-0000-0000", "priceRange": "$$", "description": "개인의 프라이버시가 보장되는 원룸부터 커뮤니티 생활을 즐길 수 있는 쉐어하우스까지 다양한 옵션이 준비되어 있습니다. 모든 지점은 역세권에 위치하여 교통이 편리하며, 풀옵션 가구와 초고속 인터넷을 완비하여 몸만 오시면 바로 생활이 가능합니다.", "amenityFeature": [ { "name": "Free WiFi", "@type": "LocationFeatureSpecification" }, { "name": "Fully Furnished", "@type": "LocationFeatureSpecification" }, { "name": "Shared Kitchen", "@type": "LocationFeatureSpecification" } ] }

다국어 콘텐츠 운영 팁

  • 번역 파일은 버전 관리에서 언어별 폴더로 나눠두면 변경 이력을 추적하기 쉽다. 누락된 키는 빌드 스크립트에서 자동으로 확인한다.

  • QA 체크리스트에 날짜 포맷, 통화, 주소, 문화적 민감 표현 검증 항목을 포함한다.

  • 언어마다 글꼴이 다르면 웹폰트 서브셋을 분리해 불필요한 용량을 줄이고, <html lang="ko" dir="ltr">처럼 언어와 방향 정보를 명시한다.

HS

HaniSeoul Team

HaniSeoul

We help you navigate life and travel in Korea with curated insights and local tips.

Connect with us