워드프레스 사이트의 속도를 높이는 것은 사용자 경험과 검색 엔진 최적화(SEO)에 중요한 역할을 합니다. 속도가 빠른 사이트는 방문자의 만족도를 높이고, 구글과 같은 검색 엔진에서의 순위를 향상시킬 수 있습니다. 흔히 인터넷에 검색하면 나오는 주요 방법은 아래와 같습니다.
1. 최적화된 호스팅 서비스 사용:
웹서버의 성능은 사이트 속도에 큰 영향을 미칩니다. 일반적인 공유 호스팅보다는 관리형 워드프레스 호스팅이나 클라우드 호스팅을 고려해보세요. 이들은 일반적으로 더 빠른 로딩 속도와 더 나은 성능을 제공합니다.
2. 캐싱 플러그인 사용:
캐싱은 웹페이지를 미리 저장하여 빠르게 로드하는 기술입니다. WP-Rocket, W3 Total Cache, WP Super Cache 등의 플러그인을 사용하여 사이트의 캐싱을 설정할 수 있습니다. 사이트에 사용하는 워드프레스 테마와 잘 맞는 플러그인을 선택하는 것이 무엇보다 중요합니다.
3. 이미지 최적화:
이미지는 웹페이지 로딩 시간에 큰 영향을 미칩니다. 이미지를 압축하고 최적화하여 페이지 크기를 줄이세요. Smush, EWWW Image Optimizer와 같은 플러그인을 사용할 수 있습니다. 또한 JPG를 저장할때 웹에 사용할 이미지라면 압축율을 6~7정도로 사용하셔도 고퀄리티 이미지와 구분되지 않습니다.
4. 지연 로딩 사용:
지연 로딩은 사용자가 스크롤할 때만 이미지나 비디오 같은 요소를 로드하는 기술입니다. 이는 초기 페이지 로딩 시간을 단축시킵니다. 하지만 페이지 배경이미지로 사용했거나 포트폴리오, 상품, 서비스 이미지가 많은 경우는 이미지 선명도를 유지하기 위해서 해당 기능 사용을 자제할 필요가 있습니다.
5. 불필요한 플러그인과 테마 제거:
사용하지 않는 플러그인과 테마는 사이트 속도를 느리게 할 수 있습니다. 정기적으로 사이트를 검사하여 불필요한 플러그인을 제거하고 사용하는 테마외 기본테마 1개만 남겨둡니다.
6. 최소한의 외부 스크립트 사용:
외부 스크립트(예: 광고, 분석 도구)는 웹사이트 로딩 시간을 늘릴 수 있습니다. 필요한 것만 사용하고, 가능하다면 비동기 로딩을 사용하세요. 또한 외부폰트(구글 및 타 웹폰트)도 과도하게 사용하지 않는 것이 중요합니다.
7. 데이터베이스 최적화:
오래된 게시물 리비전, 불필요한 댓글, 사용하지 않는 데이터 등을 정리하여 데이터베이스를 최적화하세요. WP-Optimize와 같은 플러그인을 사용할 수 있습니다.
8. 콘텐츠 전송 네트워크(CDN) 사용:
CDN은 전 세계 여러 서버에 사이트 콘텐츠의 복사본을 저장하여 사용자가 가장 가까운 서버에서 콘텐츠를 빠르게 받을 수 있게 합니다.
9. 테마와 코드 최적화:
가볍고 빠른 테마를 선택하고, 필요 없는 코드나 스크립트를 제거하여 사이트의 로딩 속도를 개선하세요.
위 9가지 방법을 적용함으로써 워드프레스 사이트의 속도를 크게 향상시킬 수 있습니다. 이외에 속도를 높이기 위한 전략들은 다양하게 있을 수 있습니다. 그중에 몇가지를 소개 하고자 합니다.
필요하지만 잘 모르는거나 안하고 있는
속도를 높이는 최적화 4가지를 알려드리겠습니다.
첫번째, php 버전업
최근에 개발했더라도 공유호스팅을 사용하는 경우 php 버전이 7.3x 혹은 7.4x 경우가 꽤 많습니다. 워드프레스 코어버전 6.xx 대를 사용하는 경우 권고사항 php버전은 8.2입니다. php 버전업은 체감속도를 가장 많이 느낄 수 있는 최적화입니다. 더구나 보안 측면에서도 꼭 필요하므로 가능하면 8xx번대 php를 사용하도록 해야 합니다. 최근 국내 호스팅사 중 카페24의 경우 php 버전을 8.x 까지 올릴 수 있도록 개선되었습니다.
공유호스팅에서 PHP 버전업을 진행 할때 데이타 백업 뿐 아니라 DB도 백업을 꼭 같이 받아야 합니다. 특히 카페24는 php를 변경하는 경우 DB가 삭제되고 복구되지 않습니다. 따라서 꼭 데이타와 DB를 같이 백업 받아야 합니다. 마이그레이션의 경우 다양한 변수가 발생 할 수 있습니다. 크몽이나 숨고 혹은 개발사 유지보수로 진행하시길 권합니다.
두번째, 최신 버전의 워드프레스 코어 사용
최적화에 가장 쉬운 방법이지만 실제로는 잘 수행되지 않는 요소 중 하나입니다. 하지만 많은 사이트가 사용하는 테마나 플러그인이 최신 워드프레스 버전을 지원하지 못하거나, 혹은 개발사에서 커스텀 개발한 코드가 최신 워드프레스를 인식하지 못해 생기는 오류로 인해 업데이트를 하지 못합니다. 실제로 앞자리가 바뀌는 대규모 업데이트는 각종 오류로 사이트에 문제가 발생 하기도 합니다. 하지만 우리가 분명히 알아야 할 것은 가장 최적화된 워드프레스는 가장 최신의 코어라는 사실입니다.
특히 5.xxx를 아직 사용하고 계신다면 보안 관련 이슈도 있으니 비용을 들이더라도 코어 업데이트를 진행하시길 바랍니다. 보통 개발사에서 앞자리 업데이트는 사이트 규모에 따라 다르지만 자리수 하나 올리는데 100만원입니다. 만약 7.xxx번대가 되면 두배의 가격을 지불하셔야 합니다.
세번째, HTTPS 사용
최신 웹 프로토콜은 보안 뿐 아니라 성능 개선도 제공합니다. 개인정보를 받지 않는 일반 홈페이지나 블로그는 많은 사이트가 아직 https를 사용하지 않습니다. 최신 https는 단순히 보안관련된 부분만 아니라 서버와 브라우저간 통신에서 빠른 속도를 보여줍니다.
HTTP보다 HTTPS가 사이트 속도가 빠를 수 있는 주된 이유는 HTTP/2 프로토콜과 관련이 있습니다. HTTP/2는 HTTPS 연결을 통해서만 전적으로 활용될 수 있는데, 이 프로토콜은 여러 가지 성능 개선 기능을 제공하여 웹 페이지 로딩 속도를 향상시킵니다. 주요 개선 사항은 다음과 같습니다.
다중 요청과 응답
HTTP/2는 하나의 연결을 통해 여러 요청과 응답을 동시에 처리할 수 있는 다중화(multiplexing) 기능을 지원합니다. 이는 여러 리소스(예: 이미지, 스타일시트, 자바스크립트)를 동시에 다운로드할 수 있게 해, 페이지 로딩 속도를 크게 향상시킵니다. 반면, HTTP/1.x는 동시에 하나의 요청/응답만 처리할 수 있어, 여러 리소스를 로드하기 위해 여러 연결이 필요했습니다.
헤더 압축
HTTP/2는 클라이언트와 서버 간에 교환되는 헤더 데이터의 크기를 줄이기 위해 HPACK 압축을 사용합니다. 이는 전송해야 하는 데이터 양을 줄여 네트워크 지연을 감소시키고 사이트의 로딩 속도를 개선합니다.
서버 푸시
서버 푸시 기능을 통해 서버는 클라이언트의 요청을 기다리지 않고 미리 필요한 리소스(예: CSS, JavaScript 파일)를 클라이언트에게 보낼 수 있습니다. 이는 클라이언트가 필요로 하는 리소스를 미리 받아 처리할 수 있게 하여, 웹 페이지의 렌더링 속도를 높입니다.
우선순위 지정
HTTP/2는 리소스의 우선순위를 지정할 수 있어, 브라우저가 중요한 리소스를 먼저 로드하도록 할 수 있습니다. 이는 사용자에게 중요한 콘텐츠의 빠른 표시를 가능하게 하여 전반적인 사용자 경험을 향상시킵니다.
이러한 기능들은 HTTPS 연결을 통해 HTTP/2의 이점을 활용할 때 가장 잘 나타납니다. 따라서 HTTPS가 단순히 보안상의 이유로만 중요한 것이 아니라, 웹 사이트의 성능과 사용자 경험을 개선하는 데에도 중요한 역할을 합니다.
이제 HTTPS를 활성화하여 사이트의 속도와 보안을 동시에 향상 시켜보세요.
네번째, 아파치(Apache) 보다는 엔진엑스(Nginx)
네번째는 웹서버를 선택할 수 있는 경우에 해당됩니다. 워드프레스는 CMS 솔루션으로 사이트와 사용자간 많은 연결과 요청들을 읽고 처리해야 합니다. 특히 어떤 경우는 실제 사용자가 사용하지 않는 요청들을 처리 해야 하는 경우도 있습니다. 이처럼 사이트가 동시에 많은 이벤트를 처리를 해야 하는 경우 비동기 이벤트 기반 구조를 갖고 있는 엔진엑스가 보다 유리합니다.
비동기 이벤트 기반 처리: Nginx는 비동기 이벤트 기반 구조를 사용합니다. 이는 클라이언트 요청을 처리할 때 발생하는 I/O 작업(예: 네트워크 응답 기다림)이 다른 요청의 처리를 방해하지 않도록 합니다. 반면, Apache는 스레드/프로세스 기반 모델을 사용하는데, 이 모델은 동시 연결 수가 증가할 때 더 많은 메모리와 CPU 자원을 소모합니다.
리소스 사용 효율성: Nginx의 비동기 구조는 동시에 많은 연결을 효율적으로 처리할 수 있게 해줍니다. 따라서 고정된 자원으로 더 많은 트래픽을 처리할 수 있으며, 이는 특히 정적 콘텐츠(이미지, CSS, JavaScript 파일 등)를 제공할 때 장점으로 작용합니다.
리버스 프록시 및 로드 밸런서로서의 우수성: Nginx는 원래 리버스 프록시 서버로 개발되었습니다. 이는 다양한 백엔드 서버로 트래픽을 효율적으로 분산시키고 캐시 기능을 사용하여 성능을 향상시킬 수 있다는 것을 의미합니다. Apache도 이 기능들을 제공하지만, Nginx는 이러한 사용 사례에서 더 빠르고 경량화된 성능을 제공하는 것으로 잘 알려져 있습니다.
캐싱 기능: Nginx는 강력한 캐싱 기능을 내장하고 있어 자주 요청되는 웹 페이지와 리소스를 메모리에 저장할 수 있습니다. 이로 인해 반복적인 요청에 대해 더 빠르게 응답할 수 있으며, 백엔드 서버의 부하를 줄일 수 있습니다.
워드프레스 사이트 속도를 올리기 위한 최적화 방법은 개발사들의 노하우 영역이기도 합니다. 그래서 인터넷에는 대부분 쉽고 누구나 알 수 있는 방법들이 올라옵니다. 이번에 올린 최적화 방법, 역시 저희 회사 노하우는 아니지만 일반적인 사용자들은 쉽게 하지 못하거나 생각하지 못한 부분으로 체감적인 효과를 볼 수 있습니다. 여기에 각 개발사의 노하우가 접목되면 꽤 빠른 사이트를 운영하실 수 있습니다.