워드프레스 사이트 속도가 느린 경우 캐시 플러그인을 설치하여 세팅하면 사이트 속도가 크게 개선될 수 있습니다. 워드프레스에는 다양한 캐시 플러그인이 있으며 시간이 지나면서 선호하는 캐시 플러그인이 조금씩 바뀌고 있습니다. 현재 LiteSpeed Cache 플러그인이 500만 개가 넘는 사이트에 설치되어 사용되고 있습니다.
LiteSpeed Cache 플러그인 설정 방법에 대하여 살펴보겠습니다. 아래 내용은 케미클라우드의 How to Configure the LiteSpeed Cache Settings in WordPress 문서를 참고했습니다. 케미클라우드는 블루호스트 등의 해외 호스팅과 비슷한 레벨의 서비스이며 최근 서울 서버를 추가하여 우리나라에서도 속도가 빠른 편입니다.
워드프레스 캐시 플러그인
2024년 8월 현재 많이 사용되는 캐시 플러그인으로 다음과 같은 플러그인이 있습니다.
- LiteSpeed Cache (500만 개 이상 사이트에 활성화)
- W3 Total Cache (100만 개 이상 사이트)
- WP-Optimize (100만 개 이상 사이트)
- WP Fastest Cache (100만 개 이상 사이트)
- WP Super Cache (100만 개 이상 사이트)
- Breeze (30만 개 이상 사이트)
WP-Optimize는 데이터베이스 최적화 플러그인으로 유명한 플러그인이며, 캐시 기능이 추가되었습니다. Breeze는 클라우드웨이즈에서 제공되는 플러그인으로 클라우드웨이즈에서 워드프레스를 설치하면 자동으로 설치됩니다.
W3 Total Cache는 이 사이트에도 오래 전에 설치하여 사용했지만 새 글을 발행해도 전면 페이지에 표시되지 않는 문제 때문에 곤혹을 치른 적이 있습니다.
캐시 플러그인은 사이트 속도 개선에 매우 유용하지만 간혹 변경 사항이 제대로 업데이트되지 않아 문제가 되기도 합니다. 캐시 플러그인을 사용하는 경우 세팅 후에 사이트에 문제가 발생하지 않는지 세심하게 관찰하는 것이 좋습니다. 캐시는 보통 비로그인 상태에서만 작동하므로 로그아웃 상태에서 문제가 나타나지 않는지 모니터링하시기 바랍니다.
캐시 플러그인과 함께 Autoptimize나 Clearfy와 같은 속도 최적화 플러그인을 설치하여 세팅하면 속도가 더욱 개선될 수 있습니다. 최적화 플러그인을 설치하는 경우에는 캐시 플러그인과 세팅이 중복되지 않도록 조심하세요.
워드프레스 LiteSpeed Cache 설정 방법
워드프레스 관리자 페이지에서 플러그인 » 새 플러그인 추가로 이동하여 LiteSpeed Cache로 검색하여 플러그인을 설치할 수 있습니다.
플러그인을 활성화하였다면 LiteSpeed Cache » Cache를 클릭하여 플러그인 세팅을 하도록 합니다.
한국어 버전에서는 문자열이 한국어로 표시될 수 있습니다.
아래에서는 영문 UI를 기준으로 설명합니다. UI가 한국어인 경우 일부 번역은 어색할 수 있습니다.
Cache 탭
Cache 탭에서는 다음과 같이 설정합니다.
1 Enable Cache – ON. 활성화하면 플러그인이 사이트의 페이지를 캐싱하게 됩니다. 캐시 기능을 사용하지 않으려면 OFF로 설정합니다.
2 Cache Logged-in Users – OFF. 이 옵션을 활성화하면 로그인 사용자에 대하여 콘텐츠가 캐싱됩니다. 로그인 사용자에 대하여 캐시를 활성화하면 사이트가 의도하지 않게 작동할 수 있으므로 이 기능은 반드시 OFF로 설정합니다.
3 Cache Commenters – OFF
4 Cache REST API – ON. 워드프레스 API 호출 요청을 캐싱합니다. 이 옵션은 ON으로 두도록 합니다. 만약 이 옵션 때문에 기능이 작동하지 않는 것이 있다면 OFF로 설정합니다.
5 Cache Login Page – ON. 이 옵션을 OFF로 설정하면 사이트 속도에 부정적인 영향을 미칠 수 있다고 합니다. 그냥 ON으로 둡니다.
6 Cache PHP Resources – ON. 이 기능은 잘못 코딩된 테마나 플러그인 사용 시 도움이 될 수 있습니다.
7 Cache Mobile – OFF. 이 옵션을 활성화하면 모바일 방문자에게 별도의 캐시를 제시합니다. AMP를 사용하지 않는 경우 이 기능을 활성화하지 마시기 바랍니다. 반응형 디자인으로 된 사이트에는 이 기능이 불필요합니다.
8 List of Mobile User Agents – 모바일 사용자 에이전트 목록. 기본 설정을 그대로 둡니다. "Cache Mobile"이 ON인 경우에만 사용됩니다.
9 Private Cached URIs – 각 방문자에 대하여 개별적으로 캐싱되어야 하는 페이지를 위한 기능입니다.
10 Force Public Cache URIs – 일반적으로 웹 서버 또는 캐시 서버에서는 특정 페이지나 리소스에 대해 캐시를 사용하지 않도록 설정할 수 있습니다. 이때 "no-cacheable" 설정을 사용하여 해당 리소스가 캐시되지 않도록 지정할 수 있습니다. 어떤 페이지나 리소스가 이 목록에 포함되어 있다면, 비록 해당 리소스가 원래는 "no-cacheable" 설정에 따라 캐시되지 않도록 되어 있었더라도, 이 설정을 무시하고 무조건 캐싱이 됩니다.
11 Drop Query String – 일부 쿼리 문자열에 대하여 불필요한 페이지 캐싱을 방지하는 데 매우 유용합니다. 일부 쿼리 문자열은 콘텐츠를 변경하지 않으며(예: 페이스북/구글 tracker, 어필리에이트 쿠키) 추적 목적으로만 사용되므로 다음과 같은 쿼리 문자열을 여기에 입력해야 합니다.
fbclid
gclid
utm*
_ga
이 글의 설정은 케미클라우드 문서를 참조한 것입니다. 이용하는 호스팅에서 LiteSpeed Cache 플러그인의 설정에 대하여 다른 설정을 권장하는 경우 해당 설정을 따르시기 바랍니다. ChemiCloud는 모든 플랜에 대하여 기본적으로 LiteSpeed 웹 서버를 적용하므로 LiteSpeed 캐시 플러그을 설치하면 다른 캐시 플러그인에 비해 효과가 있으리라 생각됩니다. 사이트 속도가 느린 경우 서울 서버를 제공하는 케미클라우드의 워드프레스 호스팅을 이용하면 블루호스트 등 다른 해외 호스팅에 비해 속도가 빠르게 나올 것입니다.
TTL 탭
TTL 탭에서는 기본 설정을 그대로 사용하는 것이 안전합니다.
- Default Public Cache TTL – 변경하지 마세요.
- Default Private Cache TTL – 변경하지 마세요.
- Default Front Page TTL – 변경하지 마세요.
- Default Feed TTL – 변경하지 마세요.
- Default REST TTL – 변경하지 마세요.
- Default HTTP STATUS 404 Page TTL – 변경하지 마세요.
- Default HTTP STATUS 403 Page TTL – 변경하지 마세요.
- Default HTTP STATUS 500 Page TTL – 변경하지 마세요.
Purge 탭
Purge All on Upgrade - ON – 플러그인, 테마 또는 워드프레스 코어가 업데이트되면 모든 페이지의 캐시를 삭제할지 여부를 선택합니다.
만약 이 옵션을 OFF로 설정한다면 수동으로 테마, 플러그인, 워드프레스 코어 업데이트 후에 Purge All을 클릭하여 수동으로 캐시를 삭제해야 할 것입니다.
Excludes 탭
캐싱되기를 원치 않는 페이지가 있는 경우 유용한 옵션입니다. 사이트의 특정 페이지가 캐싱되지 않도록 예외 설정할 수 있습니다.
Object 탭
Object Cache - OFF – 오브젝트 캐싱은 데이터베이스 캐싱이라 이해하시면 될 것 같습니다. 보통은 OFF로 설정합니다.
참고로 Cloudways의 경우 2GB 램 서버 크기 이상에서 Redis 캐시를 지원합니다. 클라우드웨이즈에는 Object Cache Pro라는 플러그인이 설치되어 오브젝트 캐시를 제어합니다. 하지만 규모가 작은 사이트는 Redis를 활성화해도 효과가 별로 없고 서버에 부담을 줄 수 있다고 합니다. 방문자가 많은 큰 규모의 사이트에 Redis가 효과적입니다.
Browser 탭
브라우저 캐시는 웹사이트 방문 시 불러온 자료들을 사용자의 컴퓨터(브라우저)에 임시로 저장하는 시스템입니다. 이를 통해 재방문 시 페이지 로딩 시간을 단축시키고 데이터 사용량을 줄일 수 있습니다.
브라우저 캐싱 기능을 활성화하면 트래픽이 절감되고 재방문 시 페이지 로딩 시간이 단축되는 이점이 있지만, 사이트의 변경 사항이나 업데이트된 콘텐츠가 브라우저 캐시가 삭제될 때까지 표시되지 않을 수 있습니다.
사이트에 새로운 글이 자주 올라오는 경우에는 브라우저 캐시 시간을 짧게 설정하고, 새로운 글이나 변경사항이 거의 없는 경우에는 브라우저 캐시 시간을 길게 설정하는 것을 고려할 수 있습니다.
저는 브라우저 캐시 때문에 문제가 된 적이 있어서 브라우저 캐시 기능을 비활성화하고 있습니다. 브라우저 캐시를 활성화한다면 설정된 브라우저 캐시 시간이 지나면 브라우저 캐시가 잘 삭제되는지 체크하는 것이 안전할 것 같습니다.
ChemiCloud의 경우 서버 레벨에서 브라우저 캐싱이 활성화되어 있기 때문에 LiteSpeed Cache 플러그인을 통해 활성화할 필요가 없습니다.
Advanced 탭
Instant Click - Off. 사용자가 링크를 클릭하기까지 약간의 시간이 걸립니다. 사용자가 링크 위에 마우스를 올리고 클릭한 다음, 버튼을 놓습니다. 클릭 후 버튼을 놓으면 "클릭"한 것으로 간주됩니다.
이 옵션을 ON으로 설정하면 사용자가 링크 위에 마우스 커서를 올리자마자 페이지가 로드되기 시작하고 마우스 버튼을 클릭하여 해제하면 곧바로 페이지로 이동하게 됩니다.
설정을 변경한 후에 변경 사항을 저장하려면 Save Changes 버튼을 클릭합니다.
수동으로 캐시 삭제하기
사이트 변경 사항이 프런트엔드에 표시되지 않는 경우 수동으로 전체 캐시를 삭제할 수 있습니다.
관리자 페이지에서 상단 툴바에 있는 LiteSpeed Cache 플러그인 아이콘 위에 마우스를 올린 다음, Purge All (모두 제거)을 클릭하면 모든 캐시가 지워집니다.
Cache Enabler를 사용 중인데 이 캐시 플러그인으로 바꾸어야겠네요.
Cache Enabler가 설정이 간단하여 이 블로그에 사용되었지만, 클라우드웨이즈로 서버를 바꾸면서 클웨에서 제공하는 Breeze로 바꾸었습니다.
LiteSpeed Cache 플러그인도 설정이 간단한 것 같습니다.