본문 바로가기

지적자본/워드프레스

워드프레스 다국어 플러그인 사용 후 오류해결 후기

by 디런치 2023. 2. 25.

워드프레스로 만들어진 홈페이지를 다국어로 만드는 방법은 여러가지가 있다. 대표적으로 플러그인을 이용해서 다국어 사이트를 만드는 것이지만, 필자는 예전의 글에서 밝혔듯이, WPML이나 Polylang 같은 플러그인으로 다국어 사이트를 만드는 것을 비추천한 바가 있다. 여러가지 이유가 있지만, 근본적으로 워드프레스의 플러그인 중 다국어 플러그인만 있으면 오류가 적지만, 이미 많은 플러그인이 설치 된 경우 다국어 플러그인이 그것과 호환되지 않는 경우도 있으며, 이는 테마 역시 기본테마가 아니라 유료로 구매했거나 다른 사이트에서 다운 받는 경우 해당 다국어 플러그인과의 호환이 잘 안되기 때문이다.

 

여하튼 오늘은 워드프레스 다국어 플러그인을 설치한 후 사이트 접속이 불가능해졌거나, 서버가 미친듯이 돌아가거나 CPU 점유율이 갑자기 높아지는 경우를 경험한 바를 공유하려고 한다.

 

필자는 이미 WPML은 현재 사용하고 있는 테마와 호환이 되지 않아서 사용하고 있지 않고, 그 대안으로 PolyLang과 translate press를 이용하여 다국어 사이트를 만들려고 시도하였다. 폴리랭의 경우는 이미 설치된 여러 플러그인과의 호환성, 그리고 테마의 레이아웃을 제대로 뽑아주지 못하는 문제가 발생해서 사용을 하지 않았다.

 

그리고 translate press를 이용하여 다국어 사이트를 구축하려고 하였다. 생각보다 호환적인 측면에서는 괜찮았다. 다만, 자동번역의 경우는 구글의 번역 API를 사용하는데, 일정 문자수 이상의 번역의 경우는 구글이 비용을 청구하기 때문에 테스트만 하는 측면에서 시도해보았다. 

 

하지만, 잘 작동되나 싶었는데, 원래 한글 사이트에는 문제 없이 로딩 속도도 잘 나오지만, translate press를 이용해서 다국어로 만든 페이지는 로딩도 느리고 갈수록 버벅대는 느낌을 받았다. 그리고, 몇시간이 지난 후 서버의 CPU와 RAM 점유율이 미친듯이 올라갔다. 이러한 경우 서버가 쿼리를 처리하는 과정에서 무엇인가 과부하가 생긴 경우가 많았는데, 그날 translate press 외 다른 플러그인은 설치하지 않았기 때문에 이 플러그인이 문제라고 판단하였다.

 

하지만, 시간이 흐른 뒤 웹사이트 자체가 접속이 되지 않았으며, CPU와 RAM 역시 높은 점유율을 나타내고 있었다. 그리고 FTP로 들어가 임시방편으로 플러그인을 비활성화 하는 방법을 사용했는데, 플러그인 폴더로 들어가 translate press 폴더를 삭제한 것이다. 그러나 여전히 사이트는 접속 불가 상태였다.

 

다시 워드프레스 파일들을 점검하였고, 그날 수정된 파일을 살펴본 결과 워드프레스의 wp-content/plugins/mplugin.php 파일이 변경된 사실을 발견하였고, 이 파일을 삭제 후 백업 본의 것으로 교체를 해주니 사이트는 정상적으로 접속이 되었고, 이내 CPU와 RAM 역시 안정을 찾았다.

 

 

mplugin.php은 워드프레스의 플러그인을 관장하는 파일로 플러그인을 활성화, 비활성화 등의 것을 처리하는 파일로 보인다. 찾아보니 이 파일을 이용해 바이러스를 코드를 삽입해서 워드프레스를 망가트리는 경우도 있다는 글도 찾게 되었다. 물론 정확한 것은 필자도 잘 모르지만, 결과적으로 translate press 플러그인이 서버에 과부하를 주었고, 이로 인해 사이트가 먹통이 되었는데, 플러그인을 비활성화하고 파일을 삭제 한 후, 이 플러그인을 설치하기 이전의 mplugin.php파일로 복원하니 해결되었다. 물론 중간에 이 파일이 바이러스에 감염되었을 수도 있다.

 

여하튼 이러한 과정에서 필자가 말하고 싶은 것은,

 

만약 홈페이지를 최초 제작시 다국어사이트로 처음부터 개발한다고 했을 때에는 다국어 플러그인을 사용해서 구축하는 것을 추천하지만, 이미 오랜시간 사이트가 운영되어 있는 상태에서 이러한 플러그인들을 함부로 사용하였다가는 웹사이트가 먹통이 되는 경우가 발생할 수 있음으로, 다국어 사이트를 만들고 싶다면, 별도의 워드프레스와 데이터베이스로 사이트를 추가해서 만들 것을 추천한다.

반응형


댓글