게시판이든, 블로그든, 설치형 도구를 겪어봤다면, 데이터 백업과 유지관리 덕분에 한 번쯤(대개는 여러 번) 악몽을 맛보았을 듯 싶다. 그냥 포털이 제공하는 서비스를 이용한다면... 정말 편하다. 몇 번의 클릭이면 뚝딱! 완성에, 손을 쓸 수 있는 부분도 제한되어 있어서 그다지 코드가 꼬일 일도 없다. 하지만 그럼에도 설치형을 찾는 이유. 귀찮고 번거롭고 힘들기에 내 마음대로 할 수 있는 건 물론, 그리고 '정말' 온전히 내 것이라는, 기분을 가지게 하기 때문이다.

별로 대단한 사이트를 만들었거나 운영해 본 적은 없었다. 그럼에도 '홈페이지'는 내게 언제나 애증의 대상이었다. 네띠앙과 프리첼 시절에서부터, 제로보드로 수렴되었던 각종 보드들의 시대를 거쳐, 싸이와 네이버를 겪은 후, 워드프레스로 잠시 외도도 해봤다. 나이도 들고 이거 저거 다 귀찮고, 편하면서도 그래도 제한적이나마 설치형만의 손맛을 느끼게 해주는, 티스토리는 적당한 타협이었다. 어차피 대단한 것도 없는데, 적당히 슬슬 티스토리에 애정을 붙여보려는 찰나, 하나의 공지가 심장을 싸늘케 했다. 말도 많고 탈도 많았던 백업 기능의 종료 소식이었다.

물론 유저들의 반발에 부딪혀 실현되지는 않았다. 하지만 이미 복원 기능의 종료로 약간쯤은 마음의 상처를 받았던 차였다. 사실 복원이 안 되는 이상 백업을 받는다고 해서 어디 쓸모가 있는 건 아니었다. 그렇지만 그럼에도, 굳이 어쩌다 한 번씩 데이터베이스를 내 컴퓨터의 한 구석에 짱박아 놓으면서 느끼는 기이한 기쁨마저 포기할 수 있다는 의미는 아니었다. 편리함? 물론 조금만 마음을 비운다면 얼마든지 편하게 살 수도 있겠다. 하지만 그럴 수 없는 종류의 사람도 있는 거니까. (언제였지는 모르지만 결국 종료되었으므로 삭제)

그래도 귀찮은 건 사실이라서 조금씩 차일피일 미루다, 해가 지나가기 전에 마침내 일을 벌이기로 했다. 원래는 데이터를 옮겨놓고 적당히 조금만 손을 보는 정도로 멈추고 싶었으나... 힘겨운 한 달이었다. 누가 시키는 것도 아닌데, 조금만 더 조금만 더 하다보니 벌써 훌쩍 아침바람이 달라져버렸다. 다시 돌아온 워드프레스. '방문자도 없는데' 미칠 듯한 트래픽 탓에 포기해야 했던 지난 경험을 되살리며, 이번에 어찌되었든 속도만은 잡아야 한다는 신념 아래 TTXML로 이사를 마친 후 고난의 행군에 들어갔다.





첫 번째. 테마 이야기

실상 가장 오랫동안 씨름했던 건 삽입된 이미지의 부하를 줄이는 문제였으나, 플러그인에 대해 썰을 풀면서 이야기하도록 하자. 그냥 지금은 인내심이 없이는 설치형을 사용할 수 없고, 또 설치형을 사용하다 보면 저절로 인내심이 키워지더라는 정도로만 요약해두기로 하겠다. 물론 갈수록 편해지고 있다지만 데이터베이스가 쌓이다보면 가끔 노가다를 피할 수 없을 때가 있다.

이번의 이사에서는 테마부터 문제였다. 어떤 식으로든 커스터마이징을 하기 전에는 꼭 한 가지를 유념해두어야 한다. 바로 워드프레스는 끊임없이 '업데이트'를 한다는 것이다. 그냥 예전에 사용했던 테마를 적당히 다듬기만 하면 될 줄 알았으나, 그 사이 워드프레스는 2.x에서 4.0으로 진화해있었다. 그리고 사용했던 테마는 지원이 중단된 상태.

css에 자신있고 php와도 어느 정도 친숙하다면 어떤 테마를 사용하건 무슨 상관이 있겠느냐라고 생각할 수도 있겠다. 하지만 테마의 지속적인 업데이트는 생각 외로 중요하다. 변화하는 환경에 얼마나 쉽사리 적응할 수 있느냐, 그리고 그에 발맞춰 이루어지는 워드프레스의 판올림에 얼마나 쉽사리 적용할 수 있느냐 하는 문제와 직결되기 때문이다. 게다가 코덱스(codex; 명령어)가 사라지거나 구조가 변하기도 한다. 업데이트되지 않는 테마는 이를 모두 수작업의 몫으로 남겨놓는다.

대략 초창기부터 웹과의 악연이 있었던 지라, 여러 차례에 걸쳐 겪었던 난관을 기억하게 된다. 제일 처음에는 640x480, 800x600, 1024x760의 해상도 차이를 고려해야 했던 시절이 있었다. 그 다음에는 사각모니터와 HD모니터 사이에서 또 다시 해상도가 문제가 되었다. 그리고 그 다음에는 익스플로러와 파이어폭스, 크롬이라는 브라우저와 웹표준이 도마 위에 올랐다. 또 얼마 지나지 않아 데스크탑과 스마트폰 사이의 격심한 해상도 차이 때문에 다시금 골머리를 썩혀야 했다.

특별한 목적이 있어 유료테마를 사용하는 경우가 아니라면, 개인적으로는 워드프레스 기본테마를 사용하기를 적극 권하고 싶다.
현재 최신테마인 twenty-fourteen는 그냥 사용하더라도 썩 훌륭한 데다가, WPtouch와 같은 별도의 플러그인을 설치하지 않더라도 무려 모바일까지 기본적으로 지원한다.(최근엔 반응형이 필수이므로 삭제) 기본테마인만큼 업데이트도 지속적으로 이루어질 뿐더러, 테마를 교체할 때마다 새로 구조를 파악해야 하는 귀찮음이라든지, 데스크탑과 모바일 테마를 따로 적용함으로 인해 발생하는 이중의 수작업을 최소화하는 데에도 기본테마는 좋은 선택일 것 같다.

물론 테마편집기로 직접 코드에 손을 댄다면 백업은 필수, Simple Custom CSSPHP Code Widget, Wp-Insert, Advanced Code Editor, Theme Check 등의 플러그인으로 여러모로 수고를 덜 수 있겠다.




두 번째. 플러그인 이야기

악마의 유혹은 달콤하다고 했던가. 무한하다고 해도 그리 과언은 아닌 워드프레스의 다양한 플러그인은 바로 그런 악마의 유혹과도 같다. 처음에는 오! 이것도 좋군, 오호! 저것도 있네, 라면서 이것저것 깔아보면서 뿌듯해 하는 게 사실이다. 사이트는 풍성해지고, 원하기만 한다면 어떠한 기능이든 거침없이 집어넣을 수 있다. 그리고 얼마 지나지 않아 두 가지의 곤경에 빠지게 된다. 하나는 앞서 테마 선택에서도 언급했던 업데이트 문제와, 또 하나는 느려지는 속도이다.

워드프레스는 꾸준히 판올림을 하지만, 테마처럼 플러그인의 경우엔 꼭 그렇지만은 않다. 사용하는 플러그인이 많다면 워드프레스의 새 버젼 소식이 그리 달갑지만은 않을 수도 있다. 실제로 플러그인 때문에 업데이트 버튼을 선뜻 누르기가 망설여졌을 때도 있었다.

한 때 거의 50여개가 넘는 플러그인을 동시에 적용해봤던 경험 덕에, 이제는 어떻게 하면 하나라도 더 플러그인을 적게 사용할 수 있을까를 고민하게 되었다. 줄이면 줄일수록 좋다. 플러그인이 늘어날수록 그만큼 사이트도 무거워진다는 건 너무나도 당연하다.

그렇다면 어떤 플러그인을 설치해야 할까. 이에 대한 글들은 이미 많을 뿐더러, 여전히 초보자에 불과한 터라 자신있게 말할 수 있는 주제도 아니다. 그렇지만 사용해보고 느꼈던 점들쯤은 풀어놓아도 무방하겠다.




1. 기능관련 플러그인


Akismet

스팸필터이다. 더 이상 설명이 필요한지? 설치형 사용자라면 누구라도 겪어봤을 지독한 스팸공격으로부터 거의 완벽하게 사이트를 보호해준다. 축복, 축복, Akismet은 그야말로 설치형에게 내린 축복과도 같은 존재. 매일마다 적게는 수십 개씩의 스팸에 시달리며 수작업으로 하나씩 ip를 차단해야 할 필요를 과거지사로 만들었을 정도로 효과가 훌륭하다. 적어도 이 플러그인만큼은 필수.





젯팩 Jetpack

좋다. 워드프레스 자체에서 제공하는 플러그인이기도 하고, 유용한 기능도 많다. Akismet이 기본장착 되어있고, CSS를 따로 관리한다든지, 관련글 추출, SEO(검색어) 및 방문자통계 관리, 공유 버튼, 모바일 테마, 이미지 클라우드 등 여러모로 편리한 건 사실인데... 결정적으로 느리다. 기능이 많은만큼 서버부하도 상당할 뿐더러, wordpress.com과의 지속적인 동기화 때문에 더욱 느려진다. 이거 하나면 다른 플러그인을 찾아야 할 필요가 상당히 줄어들지만, 사실상 다른 플러그인을 찾기가 부담스러워진다고 하는 편이 더욱 정확할 듯 싶다. 기능을 원한다면 추천, 속도를 원한다면 비추.

추가 : CPU 제한이 있는 호스팅이나 무료 호스팅에선 사용불가. 플러그인 적용 후 반나절 이내에 사이트가 블락 당해있는 모습을 확인할 수 있을 것이다. 잿팩 뿐만 아니라 지속적인 동기화가 필요한 플러그인은 shared hosting에선 거의 사용하기 어렵다.





All In One SEO Pack (Google Analyticator / Google XML Sitemaps) /
댓글 알리미 WP-Reply Notify 등

젯팩을 설치하지 않는다면 필요할 플러그인들. 취향에 따라 선택이 가능하다. Google Analyticator류의 플러그인은 방문자 통계를, All In One SEO Pack이나 Google XML Sitemaps등의 플러그인은 검색엔진에 대한 노출여부와 관련되어 있다. 근래에는 All In One SEO Pack의 기능이 강화되어 괄호 안에 묶은 플러그인들을 대신해서 사용할 수도 있다. 다만 세부적인 기능에 있어서는 모자란 게 사실.

필요에 따라 공유버튼을 추가한다든지, 혹은 페이스북이나 트위터와 같은 소셜미디어에 자동발행해주는 플러그인은 매우 많으므로 굳이 특정한 플러그인을 추천할 필요는 없을 것 같다. 다만 다른 사이트와의 지속적인 동기화가 필요한 플러그인은 젯팩처럼 속도가 느려지는 데에 지대한 영향을 끼친다는 정도만 참고하는 편이 좋겠다. 이런 건 부하와는 또 별개의 문제라서 답이 없으므로 신중하게 선택하는 편이 바람직. 특히나 소셜댓글 관련해서는... 아직 만족스러운 플러그인을 찾을 수가 없었다.

WP-Reply Notify는 익히 알려진대로 다른 사이트에 내가 남긴 답글의 반응을 확인할 수 있는 나름 유용한 툴.(유용했던 툴이라 판단되어 삭제)





TinyMCE Advanced

글쓰기 플러그인. 워드프레스 기본 글쓰기 에디터를 대체한다. 이것도 Akismet처럼 말이 필요없겠다. xmlrpc(원격발행)로만 사용할 생각이 아니라면 설치하는 편이 좋겠다.





Date/Time Now Button

아아... 이 간단한 버튼이 왜 기본으로 포함되지 않았는지가 오히려 이상할 지경. 포스팅 시간을 현재로 바꾸어준다.





Simple Tags

대규모 카테고리/태그 편집 시에 활용.




2. 이미지(혹은 미디어) 관련 플러그인


Google Drive WP Media

위대하다. 업로드 경로를 구글 드라이브!로 바꾸어준다. 트래픽의 공포를 가지고 있다면 정말 정말 강추. 구글 드라이브 서비스가 종료되지 않는 한(그런 건... 그냥 상상하지 않기로 하자), 찬양받아 마땅하다. 사용방법은 여기 http://wpu.kr/tip/better-integrate-google-drive-into-wordpress-website/에서 참고. 업로드 경로가 완전히 대체되는 게 영 마땅치 않다면 플리커나 피카사 등을 활용하는 방안도 있겠다.





EWWW Image Optimizer / Enable Media Replace / Custom Upload Dir / Featured Image Admin Thumb / Force Regenerate Thumbnails / Video Thumbnails

Google Drive WP Media 플러그인을 설치하지 않는다면 필요할 수도 있을 플러그인들. 대개 파일 최적화와 관련되어 있다. EWWW Image Optimize는 이미지 용량 줄이기, Enable Media Replace는 업로드 파일 갱신, Custom Upload Dir은 저장경로 변환, 나머지들은 이름 그대로 썸네일 이미지 관리에 유용하다.





Media Library Assistant

미디어 파일 관리에 상당히 도움을 준다. 첨부경로, 삽입경로 등 업로드 파일과 관련된 상세한 정보와 편집기능을 제공한다. 다만 좀 무거운 편이라 사용할 때에만 활성화하는 편이 좋다.





Lightbox Plus Colorbox

이것도 취향에 따라. 이미지 링크를 일종의 팝업 슬라이드로 바꾸어 준다. 은근 페이지 로딩속도에 영향이 있다.




3. 유지관리 플러그인


W3 Total Cache, WP Super Cache, WP Fastest Cache 등 Cache 플러그인들

서버부하를 줄여주는 Cache 플러그인은 어느 것이든 꼭 필요하다. 간편하게 사용하고 싶다면 Super Cache나 Hyper Cache를, 좀 더 세부적인 기능까지 조절하고 싶다면 W3 Total Cache를 이용할 수 있겠다. 해외유저들 사이에서는 W3 Total Cache의 평가가 가장 좋고, 개인적인 체감으로도 그런 것 같기는 한데... 정말 디테일하게 설정해야 해서 사용이 까다롭기는 하다. 서버에 대해선 완전 문외한이라 상당히 고생을 했으나 좋은 가이드 http://www.hwangc.com/w3-total-cache-tutorial-fast-wordpress-loading/가 있어 많은 참고가 되었다.

추가: Nginx 기반 호스팅에서는 WP Fastest Cache를 권한다. W3 Total Cache나 WP Super Cashe의 경우 서버 셋팅이 필요한데, 임대형의 경우 그게 불가능해서 자칫하면 502에러를 내뿜는 광경을 볼 수 있다.





Wordfence Security, iThemes Security 등 보안 플러그인

Wordfence의 경우 Cache 플러그인으로도 유용하고, 사이트에 접속하는 모든 활동을 기록해줄 뿐더러, IP 차단이라든지 방화벽으로 매우 효과적으로 대처할 수 있는 플러그인이기는 한데... 이걸 전부 데이터베이스에 저장시켜서 사이트를 무겁게 만들며 서버부하에도 상당한 영향을 끼친다는 게 문제. 젯팩과 비슷한 느낌. 좋다, 좋은데... 쫌.

추가: iThemes Security는 좋은 대안. 더 가볍고 사용하기도 편리해서, 다양한 기능보다 그냥 덜 귀찮은 적당함을 원한다면 매우 강추.





깨진 링크 검사기 Broken Link Checker

말 그대로 데이터베이스 상의 모든! 링크(삽입경로까지 포함)를 검사해준다. 서버부하를 최소화하도록 세심하게 설계되어 있다.





P3(Plugin Performance Profiler)

Akismet처럼 필수 아이템. 특히나 사이트가 느린데 왜 느린지 당췌 알 수 없다면 반드시 필요하다. 사이트 반응속도를 세세하게 분석해서 어떤 플러그인이 원흉인지를 지목해준다. 지금의 감상기를 쓰는 데에도 결정적인 도움을 주었다.




4. 데이터베이스 관리 플러그인


WP-DBManager

데이터베이스를 관리할 생각이 없다면 설치형은 위험하다. 내가 지금 위험하다라고 했나? 그렇다. 위험하다. 어떤 것이든 DB 관련 플러그인은 반드시 하나쯤은 설치해야 한다. WP-DBManager는 백업 및 최적화, 오류수정 등 다양하게 관리할 수 있는 툴 중의 하나이다. '발행된 글이 없습니다'와 같은 아스트랄한 상황에 처했을 때, 성급한 복원보다는 우선 Repair DB를 한 번쯤 돌려보기를 권하는 바이다. 정말 심각한 상황을 위해 myPHPadmin에서 가끔씩 추가로 백업을 받아놓는 편도 좋다.

WP-Optimize도 비슷하지만 보다 간편하게 사용할 수 있는 플러그인.





Plugins Garbage Collector

개인적인 생각으로는 이것도 필수. 일부 플러그인은 완전히 삭제한 후에도 데이터베이스에 찌꺼기를 남긴다. Plugins Garbage Collector으로 이거뜰을 한방에 해결할 수 있다. Mass delete unused tags처럼 사용되지 않는 태그나 첨부되지 않은 파일들을 지워주는 플러그인도 있으니 참고. 깔끔한 정리는 사이트의 속도향상을 위한 지름길과도 같다.




가급적 꼭 언급해야겠다 싶은 것들로만 추렸는데에도 양이 만만치가 않다. 역시 플러그인의 세계는 무궁무진. 스크린샷을 찍기 위해 안 쓰는 플러그인들까지 켰었더랬다. 아무튼 다시금 설치형은 (적어도 상대적으로) 까다롭고 손이 많이 간다는 사실을 강조하고 싶다. 하지만 그만큼 활용할 수 있는 여지가 풍부할 뿐더러, 각종 서비스 정책변화에 휘둘리지 않을 수 있다. 설치형의 매력이라는 건 어쩌면 그런 게 아닐까. 내 꺼라는 것, 그래서 내 맘대로 할 수 있다는 것, 그만큼 관리 상의 (거의) 모든 책임도 나에게 있다는 것.
그리고 인내심 증진에 매우 좋은 훈련장이기도...모쪼록 초보자의 사소한 경험이나마 자그마한 참고가 되기를.