플러그인 하이브리드로 워드프레스 가볍게 운영하는 방법

얼마 전 오래 운영한 쇼핑몰 사이트를 점검했는데, 플러그인이 47개 깔려 있었습니다. 겉으로는 멀쩡했지만 관리자 화면은 느렸고, 장바구니 Ajax는 가끔 멈췄고, 백업 플러그인은 1년 넘게 실패 로그를 쌓고 있었습니다. 이런 사이트를 바로 뜯어고치면 더 크게 깨집니다. 저는 이럴 때 플러그인 하이브리드 방식으로 줄입니다.
플러그인 하이브리드는 모든 기능을 플러그인으로 처리하지 않고, 플러그인·호스팅 기능·테마 코드·간단한 커스텀 코드 역할을 나눠 쓰는 방식입니다. 플러그인을 무조건 안 쓰자는 얘기가 아닙니다. 돈 받고 유지보수되는 기능은 검증된 플러그인에 맡기고, 단순 설정이나 반복 출력 같은 가벼운 기능은 더 작은 방식으로 처리하자는 뜻입니다.
플러그인 하이브리드가 필요한 순간
워드프레스는 플러그인을 몇 개 설치했는지보다 어떤 플러그인이 언제 실행되는지가 더 중요합니다. 플러그인 10개짜리 사이트가 30개짜리 사이트보다 느릴 수도 있습니다. 특히 모든 페이지에서 CSS, JavaScript, 데이터베이스 쿼리를 뿌리는 플러그인은 숫자보다 영향이 큽니다.
운영하면서 자주 보는 위험 신호는 비슷합니다. 관리자 화면 진입이 3초 이상 걸리고, 글 저장 후 흰 화면이 뜨거나, 캐시를 비우면 첫 화면이 5초 넘게 늦어집니다. 보안 플러그인, 최적화 플러그인, 페이지 빌더, 애널리틱스, 팝업, 폼 플러그인이 서로 기능을 겹쳐 쓰는 경우도 많습니다.
- 같은 기능을 하는 플러그인이 2개 이상 있다
- 마지막 업데이트가 1년 이상 지난 플러그인이 있다
- 단순 문구 출력 때문에 무거운 플러그인을 쓰고 있다
- 호스팅에서 제공하는 기능을 또 플러그인으로 처리한다
- 삭제한 플러그인의 테이블과 옵션이 데이터베이스에 남아 있다
이 상태에서 플러그인을 더 깔면 당장은 편합니다. 그런데 업데이트 날이 오면 문제가 됩니다. 한 플러그인이 PHP 버전과 충돌하고, 다른 플러그인은 편집기 스크립트를 깨고, 캐시 플러그인은 로그인 사용자 화면까지 저장합니다. 사이트가 느려지는 것보다 무서운 건 원인을 찾기 어려워지는 겁니다.
기능을 네 갈래로 나누면 덜 깨집니다
저는 기능을 먼저 네 갈래로 나눕니다. 반드시 플러그인으로 처리할 기능, 호스팅에서 처리할 기능, 테마에서 처리할 기능, 작은 커스텀 코드로 처리할 기능입니다. 이 구분만 해도 설치 개수가 꽤 줄어듭니다.
플러그인에 맡길 기능
결제, 회원 권한, 폼 저장, SEO, 다국어, 보안 로그, 쇼핑몰 같은 기능은 검증된 플러그인을 쓰는 편이 낫습니다. 이런 기능은 예외 처리와 업데이트 대응이 중요합니다. 직접 만들었다가 나중에 개인정보, 결제 실패, 권한 누락 문제가 생기면 수습 비용이 더 큽니다.
호스팅에 맡길 기능
SSL, 서버 캐시, 일일 백업, 방화벽, PHP 버전 관리, 스테이징은 호스팅에서 제공하면 그쪽을 우선합니다. 특히 백업은 플러그인 하나만 믿으면 안 됩니다. 파일은 저장됐는데 데이터베이스가 빠졌거나, 복구 테스트를 한 번도 안 한 경우를 많이 봤습니다. 백업은 보관보다 복구가 기준입니다.
테마나 코드로 처리할 기능
푸터 문구, 헤더 스크립트 한 줄, 글 하단 안내 박스, 특정 카테고리 배지, 간단한 리다이렉트 정도는 플러그인 없이 처리할 수 있습니다. 다만 운영 중인 사이트의 테마 파일을 바로 수정하는 건 위험합니다. 자식 테마나 전용 코드 관리 방식을 쓰고, 수정 전에는 파일 백업과 관리자 접속 경로를 확보해야 합니다.
초보 사이트에 맞는 기본 구성
처음 만드는 블로그라면 플러그인은 8개 안팎으로 시작해도 충분합니다. 캐시 1개, SEO 1개, 보안 1개, 백업 1개, 폼 1개, 이미지 최적화 1개, 스팸 방지 1개 정도면 기본 운영은 됩니다. 여기에 통계나 목차를 추가할 수는 있지만, 사이트 성격에 따라 나중에 붙여도 늦지 않습니다.
무료로 되는 일에 처음부터 유료 플러그인을 넣을 필요는 없습니다. 예를 들어 단순 블로그의 목차는 무료 플러그인이나 테마 기능으로 충분한 경우가 많습니다. 반대로 쇼핑몰 결제, 예약, 멤버십처럼 장애가 매출로 이어지는 기능은 무료만 고집하면 더 비싸질 수 있습니다. 무료와 유료의 기준은 가격이 아니라 장애가 났을 때 감당할 비용입니다.
- 캐시는 서버 캐시와 플러그인 캐시 중 하나를 기준으로 잡기
- 이미지 최적화는 업로드 시 자동 압축 정도만 먼저 쓰기
- 보안은 로그인 보호, 파일 변경 감지, 알림 범위부터 제한하기
- SEO는 제목, 설명, 사이트맵, 색인 설정 정도만 손대기
- 백업은 자동 저장보다 복구 테스트를 먼저 확인하기
근데 최적화 플러그인은 욕심내기 쉽습니다. CSS 합치기, JavaScript 지연 로딩, 폰트 최적화, 데이터베이스 청소를 한 번에 켜면 점수는 올라갈 수 있습니다. 대신 슬라이더, 결제창, 지도, 댓글 스크립트가 깨질 수 있습니다. 변경은 한 번에 하나씩 켜고, 모바일 화면과 로그인 상태 화면까지 확인하는 게 맞습니다.
기존 사이트를 줄이는 순서
이미 플러그인이 많은 사이트는 삭제부터 하면 안 됩니다. 먼저 전체 백업을 만들고, 가능하면 스테이징에서 같은 작업을 합니다. 관리자에서 비활성화만 했다고 데이터가 사라지는 건 아니지만, 쇼트코드나 위젯이 화면에 그대로 노출될 수 있습니다.
첫 단계는 목록 만들기입니다. 플러그인 이름, 용도, 마지막 업데이트, 대체 가능 여부를 적습니다. 그다음 기능이 겹치는 것부터 봅니다. 보안 플러그인 2개, 캐시 플러그인 2개, 이미지 최적화 2개는 충돌 확률이 높습니다. 하나를 기준으로 남기고 나머지는 비활성화 후 화면과 로그를 확인합니다.
두 번째는 프론트에 영향을 주는 플러그인과 관리자 전용 플러그인을 구분하는 겁니다. 글 복제, 데이터베이스 검색, 임시 마이그레이션 도구처럼 관리자에서만 쓰는 플러그인은 작업 후 꺼두는 편이 낫습니다. 매일 쓰지 않는 플러그인이 매 페이지마다 로드될 이유는 없습니다.
세 번째는 삭제 후 청소입니다. 일부 플러그인은 삭제해도 옵션과 테이블을 남깁니다. 바로 지우면 복구가 어려우니 최소 1~2주 운영 로그를 보고, 문제가 없을 때 데이터베이스를 정돈합니다. 이때도 백업 없이 데이터베이스를 직접 건드리면 사이트가 죽을 수 있습니다. 특히 접두사가 비슷한 테이블을 착각하면 복구 말고는 방법이 없습니다.
제가 권하는 운영 기준
플러그인 하이브리드는 멋진 기술 이름보다 운영 습관에 가깝습니다. 새 기능이 필요할 때 바로 설치하지 않고, 기존 기능으로 되는지, 호스팅에서 처리할 수 있는지, 짧은 코드로 충분한지 먼저 보는 방식입니다. 이 과정을 거치면 설치 개수보다 관리 가능한 구조가 됩니다.
업데이트도 미루지 않는 쪽이 낫습니다. 다만 운영 사이트에서 바로 전체 업데이트를 누르는 건 조심해야 합니다. 플러그인, 테마, 워드프레스 코어 순서를 정하고 백업 시간을 확인한 뒤 진행합니다. 매출이 있는 사이트라면 방문자가 적은 시간에 하고, 업데이트 뒤에는 메인 화면, 글 상세, 문의 폼, 결제 흐름, 관리자 저장까지 봐야 합니다.
제 기준으로 좋은 워드프레스 사이트는 플러그인이 적은 사이트가 아닙니다. 어떤 기능이 어디에 의존하는지 운영자가 설명할 수 있는 사이트입니다. 기능이 많아도 역할이 분명하면 버팁니다. 반대로 작은 블로그라도 아무 플러그인이나 겹쳐 깔면 어느 날 업데이트 한 번에 관리자 화면부터 막힙니다. 그래서 저는 새 플러그인을 설치하기 전, 이 기능을 1년 뒤에도 계속 책임질 수 있는지부터 봅니다.
