[개안뽑] ⑮번역 서비스 붙여서 해외 유저 불러오기

pabii research
개발자 없이 만든 워드프레스에 번역기까지 붙여 해외 서비스 가능
번역기 붙이는데는 하루 밖에 안 걸려, 세부 셋팅도 개발자 없이 가능
서비스 시작 2주일만에 1일 7천명이 방문하는 웹사이트로 성장

개발자들 불러 모아서 Java나 Javascript 기반의 웹서비스를 만들지 않고, 진입 장벽이 낮은 워드프레스를 써서 웹서비스를 한다고 하면 보통은 상대방이 무시하는 표정을 짓는다. 개발자를 못 뽑아서 그런거 아니냐는 의미도 담겨 있는 것 같고, 다른 한편으로는 기술력이 낮다는 표현을 대놓고 쓰는 경우도 있다.

개발자를 안 뽑아봤으면 그런 말이 괜히 가슴에 못으로 박힐텐데, 이제 몇 년간 개발자들에게 사실상 ‘사기’를 당하고 나니 생각이 완전히 달라졌고, 워드프레스의 무궁무진한 플러그인과 이 시스템에 붙어있는 분들이 만들어낸 세계관을 이해하고 나면, 굳이 개발자 없이도 엄청나게 좋은 서비스를 할 수 있겠다는 생각이 마치 강화학습(Reinforcement learning)처럼 계속 반복적으로 주입된다.

대표적인 예시 중 하나가 번역 서비스 붙이기다. 현재 시범적으로 가장 해외 유저가 많을 것 같은 OTT Ranking(OTT랭킹) 서비스에 영어를 비롯해 약 20개 언어로 번역해주는 기능을 추가해놨다.

걸린 시간은? 시스템 셋팅하는데 대략 하루 정도 썼고, 다른 언어로 번역되니 폰트가 망가지고 화면 구성이 좀 깨지길래 디자인 작업을 1-2일 정도 했고, 해외 사용자가 한국 서버에 접속하는 시간을 줄여주기 위해 글로벌 CDN 구성에 시행착오를 겪는데 1주일 정도를 썼다. 이제 다른 서비스로 확장할 때는 기존 서비스 반복이니까 시스템 셋팅 1일이면 충분할 것이다.

개발자-안-뽑음_202312
개발자-안-뽑음_202312

번역 서비스 붙이고 해외 트래픽 모으는데 1주일?

지난 10월부터 11월 하순까지 언론사 웹페이지들을 완전히 새로 만들면서 각종 시행착오를 겪은 덕분에, 워드프레스라는 시스템이 어떻게 작동하는지에 대한 이해도 높아졌고, 해외의 우수한 플러그인들에 대한 정보도 쌓였다. 가끔은 플러그인의 코드 몇 줄을 직접 뜯어고쳐서 내가 원하는 방향으로 바꾸기도 하는데, 이번에 사용한 플러그인은 번역 알고리즘을 워드프레스 플러그인 하나로 연동할 수 있는 기능을 담았다.

우리 회사 유럽 본사 담당자가 소개해주면서 SIAI 홈페이지에 이걸 쓰면 한국어 웹페이지를 따로 만들지 않아도 되지 않냐는 의견을 냈었다. 기껏해야 구글 번역기 수준일텐데, 초벌번역 정도 밖에 안 되는 걸로 서비스에 쓸 수는 없다고 부정적인 의견을 냈는데, 아래의 수치를 제시해주면서 자기네가 쓰는 독일어, 프랑스어, 이탈리아어 번역은 거의 완벽하다는 경험담을 담아서 답장을 보냈더라.

  • 원문 10점 만점 기준
  • 초벌번역: 평균 6점 (전문 콘텐츠는 3~4점)
  • 구글 번역기, 챗GPT: 평균 7점대 초반
  • DeepL: 평균 8점대 초반
  • 자기네 번역기: 평균 8.3점
  • 중급 번역가: 평균 8.5점
  • 상용 서비스의 번역 결과물: 평균 9점

유럽 본사 담당자가 이런 저런 사업에 발을 걸치는 사람이니까 그 쪽에서 듣는 이야기가 많은 탓에 여러 조언을 듣지만 이번처럼 눈에 번쩍 들어온 적이 드물었었다.

저 플러그인을 다운 받아 설치하고, 회사에 연락해서 이런저런 셋팅을 하고, 이미 [개안뽑] ⑦워드프레스는 테마 잘 고르면 반, 플러그인 잘 고르면 나머지 반이다 에서 소개했던대로, OTT랭킹에 적용해서 돌아가는 중이다.

OTT_Ranking_Google_Analytics_20231206_1100
OTT_Ranking_Google_Analytics_20231206_1100

번역기 하나로 해외 사용자를 엄청나게 끌어모을 수 있다?

저 플러그인의 가장 큰 장점을 2가지 뽑으면 아래와 같다

  • html 에 담긴 text 값만 번역하기 때문에 실시간 번역이 가능하다
  • 구글SEO가 되도록 구글이 갖고가는 Sitemap을 언어별로 생성할 수 있다

그간 내가 봤던 워드프레스 번역 플러그인들은 웹사이트 내에서 내가 뭔가 직접 손을 봐야 했었다. 그리고, 글이 1개씩 더 생기니까 그만큼 워드프레스를 더 무겁게 하고, 관리하기도 보통 귀찮은게 아니었다. 자동으로 번역을 해준다지만 구글 번역기의 성능이 그렇게 좋질 못하기 때문에 효과도 못 봤다. 이번에도 이야기를 듣고 냉소적인 반응을 보였었는데, 번역 서버를 유럽에 두고, 웹페이지 html을 캐시로 갖고 간 다음, 거기서 번역한 정보를 들고 있으면 처음 1번만 번역해주고 그 이후로는 캐시된 웹페이지만 보여주면 된다.

웹사이트가 엄청나게 큰 경우면 모르겠지만, 고작 html 전달해주고, 기껏해야 한 달에 몇 십만, 몇 백만 단위의 트래픽이라면 좋은 서버 하나로 충분히 감당이 가능하니까 저런 시스템을 만들었을 것이다.

언뜻보면 개발자들이 많이 고생한 것 같지만, 가만보면 핵심인 번역기를 얼마나 잘 만들었냐에 달려있고, 나머지는 그냥 기존 서비스들을 짜집기해서 개발하면 되는 서비스다.

딱 그 상황이었어도 난 큰 관심이 없었을 것 같은데, 구글SEO 지원을 위해 Sitemap을 언어별로 다 만들어준다는 이야기에 눈이 번쩍 뜨였다.

6년 전에 처음 워드프레스 세계에 진입했을 때, 좋은 SEO 플러그인을 구입하고, 그 플러그인이 만들어주는 고급 sitemap.xml 파일 하나가 구글 검색 순위를 얼마나 크게 높여주는지 절감한 적이 있기 때문에, 항상 SEO 관련 플러그인들의 기능들을 점검한다. 어지간한 국내 개발자를 써 봐야 Vue.js, React.js 같은 개발 언어에서 제공해주는 기본적인 구글 노출 이외에 답이 없다는 것을 알고 있기 때문에 워드프레스를 고집한 것도 있다. 한국인 개발자를 써서는 아예 답이 없고, 내가 가진 지식은 한계가 있고, 해외의 전문SEO 업체를 고용하는 것보다 전문 플러그인에 1년 100달러 남짓을 쓰는게 훨씬 더 저렴하니까.

근데, 저 분들이 만드는 Sitemap은 내가 쓰고 있는 플러그인이 만든 sitemap을 단순히 언어만 변경시켜서 만드는거더라. 말을 바꾸면 내가 SEO 플러그인만 잘 고르고, 셋팅만 제대로하면, 내가 정한 모든 언어에서 내가 원하는 수준의 구글SEO가 가능하다는 뜻이 된다. 근데 우리 회사 웹사이트들은 구글SEO 기준으로 모조리 100점이잖아?ㅋ

OTT_Ranking_Google_Search_Console_20231218
OTT_Ranking_Google_Search_Console_20231218

모든 언어에 대해 구글 검색 노출이 되는 웹사이트

서브도메인(Sub-domain)을 각 언어별로 설정하고, 해당 언어에 대한 sitemap을 만들고, 그걸 구글 서치 콘솔 (Google Search Console)에 적용하니 1일 남짓 만에 웹페이지들을 다 긁어가더라. 위의 스크린 샷은 인도네시아어, 우크라이나어, 러시아어, 포르투갈어, 폴란드어 번역된 sitemap을 구글 서치 콘솔에 등록한 정보다. 빠르면 1일, 늦으면 5일이 걸린 것을 확인할 수 있다.

물론 저 페이지들이 실제로 구글 검색에 노출되도록 만들려면 단순히 ‘Discover’상태가 아니라 ‘Crawled’ -> ‘Indexed’ -> ‘Verified’ 등등의 절차를 더 거쳐야하니 결국에는 사용자 행동 기록이 실질적으로 반영될 때까지 시간이 걸리기는 하겠지만, sitemap을 언어 별로 독립적으로 만들 수 없으면 아예 꿈도 못 꾸는 도전이었다.

이젠 그간 한국어에 내가 SEO 관련해서 해 줬던 각종 작업들을 언어 별로 해 주면 해외 사용자들이 우리 서비스를 검색으로 발견하고 찾아올 수 있다는 뜻이 된다.

한국이야 구글의 검색 시장 서열이 네이버에 비해 낮으니 반응이 별로겠지만, 구글이 사실상 독점적 지배자인 해외 검색 시장에서 구글SEO가 완벽하게 갖춰진 웹사이트에 콘텐츠까지 신선한 콘텐츠, 사람들이 찾는 콘텐츠, 연결된 웹사이트들이 모두 고급 콘텐츠를 다루는 웹사이트라는 3박자가 추가되면 구글 검색 상위 진입은 도전 과제가 아니라 시간 문제가 된다.

OTT_Ranking_CloudFlare_20231218
OTT_Ranking_CloudFlare_20231218

해외 접속 속도를 끌어올리는 방법

위에 3박자라고 표현했지만, 지난 1년간 해외 방화벽을 써 보면서 느낀 건, 아무리 다른 작업을 다 해놔도 접속이 느리면 구글이 검색 상위에 올려주질 않는데, 해외 사용자들의 접속 속도 문제는 Cloudflare라는 CDN(및 기타 기능을 묶은 서비스)을 활용해서 해결했다.

처음에는 CDN 셋팅을 잘못해서 웹사이트 접속조차 안 되기도 했지만, 남들이 다 쓰는 서비스인만큼 시스템 이해를 위해 열심히 Q&A가 담긴 커뮤니티 게시판을 읽고, Cloudflare의 문서들을 찾아 읽으니 어렵지 않게 셋팅이 가능하더라.

위의 스크린 샷은 이 글을 쓰는 12월 18일 오전 11시에 뽑은 정보다. 12월 11일부터 17일까지 7일간 방문자 유입이 꾸준히 증가한 것을 볼 수 있고, 특히 Cloudflare의 문서를 제대로 읽고 Cache 비율을 90% 수준까지 끌어올리고 난 다음에 유입 속도가 더 크게 늘어난 것을 볼 수 있다.

예를 들어 싱가포르에 있는 K-OTT팬이 우리 OTT랭킹에 접속해서 영어로 된 콘텐츠를 보고 싶다고 할 경우, 기존 셋팅은

  • 한국 서버 접속 -> 유럽 서버의 번역 정보 받아오기 -> 한국에서 이미지 파일 불러오기 -> 싱가포르 사용자에게 전송

같은 방식으로 이뤄져서 접속이 엄청나게 느렸을 것이다. 마치 현재 테스트 서버에 남겨놓은 예전 우리회사 개발자들의 SIAI 홈페이지 (test.siai.org) 접속과 유사한 상황이다. 한국에 서버를 옮겨놨다지만 스위스에 있는 이미지 파일 불러온다고 유럽을 다녀오는 바람에 접속에 거의 10초씩이나 걸리는 것을 이미 다른 글([개안뽑] ①개발자만 안 뽑았더라면)에서 언급한 바 있다.

이미 유사한 경험이 있기 때문에, 저런 문제를 피하기 위해서 많은 고민을 했는데, 현재는 아래와 같은 방식으로 작동한다

  • 싱가포르에 있는 Mirror 페이지에 접속 -> 유럽 서버에서 번역 정보 받아오기 -> 싱가포르에 있는 Mirror 페이지에 캐시되어 있는 이미지 파일 불러오기 -> 싱가포르 사용자에게 전송

만약에 번역된 html 파일마저도 이미 캐시가 되어 있는 상태라면

  • 싱가포르에 있는 Mirror 페이지 접속 -> 싱가포르 사용자에게 전송

의 작업이 진행되고 끝난다.

과거 경험과 위의 지식이 쌓여있던 상태였기 때문에, 이미지 파일들을 최대한 Cache해서 갖고 가라고 Cloudflare의 각종 설정 값을 조작했고, 마찬가지로 유럽 번역 서버의 설정도 이것저것 손을 봤다.

OTT_Ranking_Translation_20231218
OTT_Ranking_Translation_20231218

한국에서 영문 OTT랭킹 (https://en.ottranking.com)을 접속하는 것은 당연히 시간이 좀 걸리기는 하지만, 기자들이 기사를 다 쓴 오후 늦은 시간이 되면 접속자가 많아서 속도가 느려지는 일은 있어도, 접속하는 서버가 캐시를 안 갖고 있어서 속도가 느려지는 일은 없을 것이다. 다른 언어로 번역 수준이 궁금하신 분들은 홈페이지 하단에 언어 별로 위젯을 띄워놨으니까 직접 눈으로 확인해보시기 바란다. 내가 할 줄 아는 언어는 영어, 일본어, 약간의 중국어인데, 적어도 영어, 일본어만 놓고보면 어지간한 번역 전문가를 쓴 것 보다 수준이 더 높다. 가끔 몇몇 문장은 직접 번역해도 저런 문장을 뽑을 자신이 없는 경우도 있었다.

이걸 우리 SIAI 학생들한테 이야기해주면서 이제 SIAI 홈페이지 리뉴얼이 끝나면 거기에 붙이고, 학교 수업 내용들을 한국어로 정리한 Knowledge base를 만들어도 외국인들이 자기네 나라 언어로 바꿔서 볼 수 있게 된다, 학교 수업 잘 듣고 정리 잘 하면 국제적으로 명성이 쌓이는 Data Scientist가 된다며 놀려줬다.

단순히 웹페이지 글 번역을 넘어서, SIAI의 교육 기능 전반에 적용해볼려고 하는데, 잘 풀리면 언어적 제약 때문에 Korean module을 만들면서 온갖 서류를 제출하고 각종 제한이 걸렸던 것을 풀어낼 수 있지 않을까는 생각도 든다. 아마 한국에서 학생 숫자를 더 받아라고 압박해봐야 안 된다는 사실을 깨달은 본사에서도, 교육 난이도 문제는 한국의 열악한 사정을 뛰어넘기 힘들더라도 언어 문제는 이런 도구를 쓰면 좀 더 해결할 수 있지 않을까는 생각에 SIAI 홈페이지에 저 기능을 적용해보자고 나섰을 것이다.

Similar Posts