폴리랑(Polylang)핵심 설정. 퍼머링크,언어감지,동기화,문자열 번역

사실 폴리랭(Polylang)을 설치하고 나서 언어 설정보다 가장 먼저 해야 하는 것이 폴리랭 세팅(Settings)이다. 이유는 한번 번역해서 발행하기 시작하면 변경하기 곤란한 URL 세팅(URL modifications) 이라던지 동기화(Synchronization), 그리고 실제 방문자를 해당 언어 페이지로 연결해주는 브라우저 언어 감지(Detect browser language) 시스템 같은, 선행되어야 하고 핵심적인 기능들이 있기 때문이다.

물론 기본 세팅이 굉장히 잘 되어있어서 딱히 건드리지 않고 사용해도 큰 무리는 없으나, 기능들 하나하나가 필수적이고 유용하며, 사용법을 제대로 알아야만 실제로 활용해 사이트의 번역 시스템을 구성할 수 있기 때문에, 핵심 세팅들을 짚고 가도록 하자.

URL 수정 – URL modifications

번역본의 고유주소(퍼머링크, Permalink)를 설정하는 메뉴다.

  • The language is set from content – 언어는 내용으로 결정됩니다

번역본의 퍼머링크를 생성하지 않겠다는 이야기다. 특별한 이유가 있지 않은 이상, 방문자의 언어에 따라 감지해 페이지를 이동시키고, SEO를 향상시켜 검색엔진에 노출시키려면 이 메뉴는 고를 필요가 없다.

  • The language is set from the directory name in pretty permalinks – 하위 디렉토리로 생성

카테고리처럼, 메인 주소의 하위 디렉토리로 URL을 설정한다. 기본 세팅이며 개꿀몬도 가장 추천하는 방식이다. 서브 도메인 방식이 아니라 호스팅이나 서버 설정을 건드릴 필요도 없으며, 검색엔진에 독립적인 사이트로 인식되지 않고 같은 콘텐츠의 번역본이라는 사실을 알리는데 효과적인 방식이다.

만약 이 방식으로 영어 번역을 추가한다면 아래처럼 구현된다

example.com/
example.com/post/

example.com/en/
example.com/en/post/
  • The language is set from the subdomain name in pretty permalinks – 하위 도메인 생성

번역본의 URL을 하위 도메인으로 설정한다. 원래 멀티 사이트에서 하위 도메인으로 표현하려면 서버나 호스팅 설정을 만져줘야 하고, 여러 개가 가능한 곳도 있고 그렇지 않은 곳도 있는데, 플러그인으로는 어디까지 지원되는지 모르겠으며, 하위 도메인으로 설정하게 되면 SSL 보안인증서도 와일드카드로 발급받는 등 여러 가지로 복잡해진다.

때문에 한 사이트에서 블로그, 뉴스, 상품페이지 등 커다란 메뉴를 나누는 게 아닌 이상, 번역본의 URL을 하위 도메인으로 생성하는 건 비추천한다. 하위 도메인으로 설정한다면 아래와 같이 구현된다.

example.com/
example.com/post/

en.example.com/
en.example.com/post/
  • The language is set from different domains – 다른 도메인에서 설정

번역본의 고유주소를 다른 도메인에서 설정한다. 말 그대로 하위 디렉터리도, 도메인도 아니라 각자 다른 언어를 각자 다른 도메인에서 구현하는 메뉴다.

선택하게 되면 폴리랭(Polylang)에서 설정해놓은 언어별로 도메인을 입력하는 텍스트폼이 생기고, 각각 원하는 도메인을 입력하면 된다. 어떤 경우에 필요한지 구체적으로 생각해보진 않았지만, 비용면에서건 노동면에서건 굉장히 번거로워 보인다. 설정한다면 이런 식으로 구현할 수 있다.

ko = example-ko.com/
en = example-en.com/

브라우저 언어 감지 – Detect browser language

역시나 기본적으로 켜져 있는 설정. 단순하지만 정말 핵심적인 기능이다. 이 기능이 켜져 있어야먄 방문 시 사용자의 브라우저에서 실제로 그 사람이 사용하는 언어로 사이트가 전환되고, 국가별로 hreflang을 설정하기 때문에 구글 검색엔진의 SEO 최적화가 이루어진다.

사용자를 본인의 언어로 리다이렉션 시켜주는 것 만으로도 훌륭한 기능이지만, 사용자뿐만 아니라 검색엔진과 봇에게도 최적화 되어있는 유용한 기능이라는 소리다.

동기화 옵션 – Synchronization

번역본끼리 공유할 정보를 설정하는 메뉴다. 예를 들어 여기서 게시 날짜(Published date)를 켜놓으면 한글로 글을 쓰고 영어 번역본을 올렸을 때 같은 날짜가 적용된다.

정말 편리한 기능이지만, 태그가 다 번역되지 않았을 때 번역본을 업로드 하면 원본의 태그까지 함께 사라지는 불편함이 있다. 동기화시킬 수 있는 메뉴는 아래와 같다.

  • Taxonomies – 카테고리 등의 분류설정
  • Custom fields – 사용자 정의 필드
  • Comment status – 댓글 상태
  • Ping status – 핑 상태
  • Sticky posts – 고정 포스트
  • Published date – 게시 날짜
  • Post format – 게시물 형식
  • Page parent – 상위 페이지
  • Page template – 페이지 템플릿
  • Page order – 페이지 순서
  • Featured image – 미리 보기 이미지, 썸네일

이 세 가지가 Settings메뉴의 핵심 설정이고, 미디어 동기화, 문자열(Strings)등을 동기화 시켜주는 WPML 호환성 모드(WPML Compatibility), 폴리랭 삭제 시 데이터를 제거하는 Tools과 Polylang Pro에서 사용할 수 있는 유료 기능인 Share slugs(슬러그 공유), Translate slugs(슬러그 번역)가 있다.

문자열 번역 – String translations

본문이나 페이지 내부의 내용 말고도 사이트 제목이나 카테고리 명 같은 문자열들을 번역한다. Content가 아니라 사이트의 오브젝트 텍스트들을 번역하는 세팅이고, 메뉴에 집입하면 번역 가능한 문자열을 각 언어별로 어떻게 번역할지 입력하는 텍스트폼이 있다.

굉장히 편리하고 직관적이면서도 완벽한 다국어 사이트를 구축하는데 필수적인 기능이지만, 인식되어 번역할 수 있는 문자열이 한정적이라는 단점이 있다. 이 점은 폴리랭(Polylang) Strings translations 커스텀 문자열 번역 추가하기에서 제시하는 대로 번역할 문자열을 추가하거나 커스텀 함으로서 해결할 수 있다.