[개안뽑] ⑦워드프레스는 테마 잘 고르면 반, 플러그인 잘 고르면 나머지 반이다

pabii research
워드프레스는 테마만 잘 고르면 이미 반은 완성한 것이다
나머지 반은 플러그인을 잘 골라서 시키는대로만 웹페이지를 만들면 된다
쓰고 싶은 기능 플러그인들도 이상한 거 고르지 말고, 효율적인걸 찾긴 해야겠지만....

2023년 12월 현재, 내가 이 글을 작성하고 있는 테마와 기본 셋팅에 쓴 플러그인은 아래와 같다.

  • 테마: Kadence
  • 플러그인
    • 웹페이지 디자인 블록: Kadence Block

그 외 현재 보이는 홈페이지와 별로 관련이 없는 몇 가지 기능적인 플러그인을 더 쓰고 있기는 하지만, 블로그나 언론사 웹페이지 만들어서 일반에 서비스하는데 더 필요한 기능은 없는 것 같다. 이것만으로 완벽하냐고 물으면 당연히 당신들이 원하는 기능을 갖춘 플러그인을 더 찾아야 된다고 하겠지만, 눈에 보이는 기능은 정말 이걸로 끝이었다. 단지, 저 테마와 플러그인을 최종 선택하는데 많은 시간을 쓰고 시행 착오를 경험해야 했다.

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

워드프레스는 테마를 잘 고르면 반이다

그간 정말 많은 테마를 써 봤다. 유료 테마 구매한 것만해도 종류만 10개가 넘고, 언론사 홈페이지를 여러개 굴린 탓에 Newspaper라는 테마는 라이선스를 6개나 구매했던 걸로 기억한다.

이제 그런 시간 낭비, 돈 낭비, 정신력 낭비의 시절은 끝났다. [개안뽑] ⑤워드프레스로 (거의) 다 되는데 왜 개발자 뽑아요? – 파비리서치 (pabii.com)에서 언급한대로, 우리 회사가 지난 9월부터 새롭게 만든 웹페이지는 모두 Kadence 라는 테마를 쓰고 있고, 나는 이걸 Lifetime으로 Full package를 구매했기 때문에 앞으로 만드는 모든 웹페이지들도 다 이 테마로 만들 생각이다. 이걸 사서 억지로 쓰는 것이 아니라, 이렇게 쓸려고 많은 고민 끝에 Kadence를 선택했다.

선택해서 만든 웹페이지들이라고 해 봐야 고작 언론사들 웹페이지들 밖에 없는 상태지만, 앞으로 대학교 홈페이지, 커뮤니티 홈페이지, 쇼핑몰, 웹소설 플랫폼 등을 만들 계획을 이미 다 짜면서 구조 파악이 끝난 상태이기 때문에, 이 테마를 잘 골랐다는 확신을 갖고 있는 상태다.

이미 언급했던대로 Kadence를 비롯한 블록(Block) 기반 테마들의 가장 큰 장점은 아래와 같다

  • 동일한 블록을 반복해서 활용하기 때문에 웹페이지 파일 크기를 엄청나게 줄일 수 있다
  • 같은 기능을 필요한 곳마다 다른 방식으로 쓰기 때문에, 새로운 기능을 직접 만들기도 편하다
  • 플러그인이 호환 안 될까봐 두려워 할 필요가 사라졌다. 다들 같은 블록들을 다르게 쓰기만 할 뿐이니까.
  • 웹사이트가 가벼우니 로딩 속도도 빠르고, 서버 부하도 줄어서 더 많은 트래픽을 감당할 수 있다

굳이 따지자면 단점은 아래와 같다

  • 완성형 테마들은 로고만 바꿔 끼우면 회사 서비스를 출시 할 수 있었는데, 하나하나 다 만들어야 한다
  • 만들 때 모르는 내용들이 너무 많아 계속 여기저기 물어보게 된다

그렇다고 예전에 썼던 완성형 테마들이 뭐 쉽게 모든 것을 뚝딱 해결해줬던 것은 아니다. 역시 안 되는 것들이 많아 직접 CSS를 수정하거나, 심지어는 Javascript 코드를 수정하는 경우도 있었고, PHP 코드를 직접 쳐야 되는 경우들도 많았다.

디자인에서 좀 더 수고를 해 주면 충분히 완성도가 높은 웹사이트를 뽑아낼 수가 있게 된만큼, 조만간 블록 기반 테마들이 대세가 될 것이다. 아니, 이미 영어권에서는 대세가 된 상태다. 요즘 완성형 테마가 잘 안 팔리는 것 같더라.

Wordpress_Theme_Comparison
WordPress_Theme_Comparison

‘가벼운 테마’, ‘많은 기능’은 언제나 상충관계

개발자들 사이에 반드시 알아야 하는 개념 중에 ‘객체지향(OOP, Object-Oriented Programming)’이라는 개념과 더불어 ‘다형성(Polymorphism)’이라는 개념이 있다. 난 개발자가 아니니까 잘 모르지만, 사실 OOP의 개념 안에 다형성이 들어가 있다고 생각하는데, 이유는 ‘객체 지향’적인 프로그래밍이라는게 결국에는 간략하게 추상화가 잘 된, 그래서 효율적으로 돌아가는 코딩이 되어야 한다고 생각하기 때문이다.

다형성이라는게 뭔가 대단한 개념이 아니라, 하나의 변수나 함수가 다양한 곳에 다른 방식으로 쓰여서 굳이 비슷한 함수를 메모리 상에 많이 띄워놓지 않아도 되는 상황, 하드웨어 자원을 매우 효율적으로 쓰는 상황으로 이해하고 있는데, 개발자들도 그렇게 생각하는지는 모를 일이다.

왜 저 개념을 갖고 왔냐하면, 프로그래밍 뿐만 아니라 모든 작업의 기반이 바로 저런 다형성이기 때문이다. 데이터 과학 뿐안 아니라 기타 모든 학문의 대학원 레벨 지식은 모두 간략화, 추상화된 수학을 바탕으로 짧고 간단 명료하게 정리되어 있다. 그걸 말로 풀어내면 때로 정확도가 떨어지고, 심한 경우에는 정보 손실로 오해가 발생하기도 한다. 그 수학 수식 형태로 그대로 두는 것이 가장 안전한 것이다. (다만 수식을 이해 못하면….)

위의 워드프레스 블록 테마도 완전히 같은 개념이 적용된 상황이다. 워드프레스가 기본으로 갖고 있는 블록들을 재조합하고 일부 변형해서 단 4개의 블록으로 모든 테마를 다 만들었다고 주장하는 GeneratePress는 실제로 테마 파일 자체가 가장 작고, 설치 후 로딩 속도도 충격적으로 빠르다. 어떻게 이렇게 빠를 수 있나 싶어서 처음 설치하고 어안이 벙벙했을 정도였다. 마치 단순한 html 파일 하나 만든 웹페이지 같은 느낌이더라.

다만, 너무 추상화가 잘 된 탓에 내가 원하는 기능들이 없어서 전부 다 만들어야 했다. 그 만드는 시간 비용을 생각하니 좀 고달프더라. 난 CSS도 거의 몰라서 하나하나 찾아야 되는데, 그걸 어느 세월에 다 하고 있어야 되나.

결국 블록 테마 4쌍 중 내가 원하는 기능들을 많이 갖추고 있고, 질문에 1일 안에 총알 대답을 해 주는 걸로 유명세를 탄 Kadence라는 테마를 고르게 됐다. 가격이 많이 비싸긴 했지만, 그래봐야 개발자 1주일 급여도 안 되는 비용이었고, 지난 2달 남짓, 앞으로 몇 년간 그 테마 판매사에서 일하는 직원들을 내가 괴롭힐 것을 생각해보면 가격은 매우 저렴했다고 생각한다.

워드프레스 디자인 블록만 있으면 뭐든지 다 만들 수 있는 시대

사실 처음에 GeneratePress의 테마와 블록을 구매할 때만 해도 믿을 수가 없었다. 워드프레스의 기본 블록 기반(위의 표에서는 Gutenberg로 표현되어 있음)으로 된 디자인 블록만 있으면 뭐든지 다 만들수가 있다고 하는데, 지난 몇 년간 개발자들에게 속았다고 생각한 것 이상으로 워드프레스 테마들에게서도 많이 속아봤기 때문이다. 그런데, 구글 페이지 스피드, GTmatrix 같은 값들에서 모두 100점, A등급이 찍히는 걸 보면서, 이것저것 좀 붙여서 성능이 떨어진다고 해도 정말로 90점 이상 찍혔다는 인증샷들을 너무 많이 봤던 덕분에 그래도 믿음을 갖고 과감히 카드를 ‘긁’었다.

우리회사에서 엔터테인먼트 콘텐츠 전용으로 개발 중인 OTT Ranking 웹페이지도 이미지가 한 페이지에 50개 이상 들어가 무거워졌는데도 불구하고 여전히 최적화에 삼만리는 남은 서버에서 성능 점수로 97점, 나머지 영역은 모두 100점을 찍었다.

저 웹페이지들에 현재 설치된 플러그인은 20개가 넘는다. 글로벌 고객들을 불러 모으려고 뒤에서 번역기까지 돌고 있는데도 성능에서 97점이 나왔다. 벌써 몇 달 동안 저런 숫자를 자주봐서 이젠 충격도 아니지만, 불과 2달 전만 해도 저 숫자를 우리 회사 서버에서 볼 수 있을 것이라고 그러면 나는 믿지 않았을 것이다. 아무 것도 설치 안 된 빈 페이지일 것이라고 생각했을 것이고, 지금 이 글을 보며 내가 한국인 개발자들을 맹비난 하는 것에 불만이 가득차 어떻게든 날 깎아내리고 싶어 안달이 난 개발자들도 비슷한 생각을 할 것이다.

OTT_Ranking_Google_Analytics_20231206_1100
아직 웹사이트 리모델링 중이라 5일 밤 늦게 Google Search Console에 번역본 Sitemap을 막 추가했는데, 6일 오전부터 해외 접속자가 상당히 들어왔다 / OTT_Ranking_Google_Analytics_20231206_1100

그러나, 블록 기반 테마로 이전하면서 플러그인들도 ‘프론트(Front)’쪽은 모두 블록 방식으로 전환 중이고, 블록 방식이 아닌 플러그인들은 일부러 하나도 쓰지 않았다. 기능적으로 반드시 필요한 경우에는 내가 직접 PHP 코드를 쳐서 붙여넣거나, ‘백엔드(Back-end)’ 기능만 갖춘 플러그인을 구한 다음, 그 기능을 프론트의 블록에 연결시키는 방식으로 구현하니 뒤에서 어지간히 무거운 작업이 돌고 있지 않은 이상 서비스 속도를 늦추는 일이 사라져 버렸다.

예전에 AVADA라는 워드프레스 테마가 비슷한 개념으로 모든 것을 다 만들 수 있다는 홍보를 한 적이 있다. 마치 고교시절 ‘나모 웹 에디터’를 쓰는 기분으로 한 1시간 정도 웹페이지 구성을 해 봤는데, 너무 느려서 짜증이 나고, 결국 못 쓰겠다고 집어 던진 적이 있다. 59달러 주고 구매했는데 환불도 안 되는 터라 아직까지 카피만 갖고 있는 상황인데, 그 시절에 내가 꿈꾸던 수 많은 기능이 이렇게 쉽고 간편하게 적용되고, 이렇게 성능 문제도 없는 상태가 되다니, 그것도 불과 6년만에.

지난 6년 동안 내가 쓴 개발자 급여가 너무 아깝다는 생각이 또 들지만, 그 비용을 쓴 덕분에 나는 지금 쓰고 있는 블록 테마, 디자인 블록이 얼마나 완성도 높은 도전의 결과물인지 알 수 있게 됐으니 타협하자고 자위하는 중이다. 이제 앞으로 영원히 개발자 비용은 0원일꺼잖아?

앞으로 몇 달 동안 계획했던 웹페이지들을 하나하나 더 만들고 나면, 일반에 저가에 뿌리면서 다들 개발자들에게 괴롭힘 안 당하시도록 도와드리고 싶다. 우물에 빠지려는 아이를 구하려 한다는 그 불인인지심(不忍人之心)이 막 솟아 오른다.

Similar Posts