모든 워드프레스 성능 최적화 플러그인의 목표는 방문자에게 페이지를 전달하는 데 걸리는 시간을 줄이는 것입니다. 이를 달성하는 핵심 방법 중 하나가 바로 각 페이지의 사본을 저장하는 '페이지 캐싱(Page Caching)'입니다.
최적화되지 않은 일반적인 워드프레스 사이트의 평균 페이지 로딩 시간은 약 3~5초에 달합니다. 하지만 정적 페이지를 전달하고 권장되는 최적화 기법을 따르면 로딩 시간을 0.5~1초 수준으로 크게 단축할 수 있습니다.

캐싱 없이 페이지가 전달되는 과정
페이지 캐싱을 사용하지 않는 워드프레스 사이트에서 누군가 페이지를 방문할 때마다 서버는 다음과 같은 작업을 수행해야 합니다.
- 모든 워드프레스 코어 파일 로드
- 사이트의 MySQL 데이터베이스에 있는 여러 테이블에서 콘텐츠를 가져옴
- 방문자에게 해당 콘텐츠 전달
이 과정은 상당히 많은 리소스를 소모하기 때문에 페이지가 사용자에게 전달되기까지 시간이 걸릴 수 있습니다. 게다가 누군가 페이지를 로드할 때마다 이 과정을 매번 반복해야 합니다. 대신 워드프레스 캐싱 플러그인은 페이지를 한 번만 처리하여 동일한 사본을 생성해 둡니다.
사이트의 모든 페이지에 대해 캐시된 페이지가 생성되며, 방문자가 사이트에 접속하면 더 빠른 '캐시된(Cached)' 버전의 페이지가 전달됩니다. 대부분의 워드프레스 캐싱 플러그인은 CDN(Content Delivery Network, 콘텐츠 전송 네트워크)도 지원하여 캐시된 페이지를 전 세계 데이터센터에 저장할 수 있습니다. 이를 통해 방문자의 서버 응답 시간을 더욱 단축하고, 트래픽 급증 상황에서도 사이트가 안정적으로 대응하도록 도와줍니다.
업데이트 후에는 반드시 사이트 캐시 삭제하기
웹사이트 업데이트 후 캐시된 HTML 페이지를 재생성하지 않으면 오래된 정보가 그대로 유지됩니다. 페이지의 캐시 버전을 갱신하려면 기존 캐시 파일을 삭제해야 합니다.
기존 캐시를 삭제하는 버튼은 보통 'Delete Cache(캐시 삭제)' 또는 'Clear Cache(캐시 비우기)'라는 이름으로 되어 있습니다. 페이지별로 캐시를 삭제할 수도 있지만, 대부분의 경우 '전체 캐시 비우기(Clear All Cache)' 옵션을 사용하는 것이 좋습니다.

워드프레스 캐싱 플러그인은 기존 캐시가 없으면 새로운 정적 사본을 생성합니다. 기본적으로 다음 방문자가 페이지를 요청할 때 처리되지만, 필요에 따라 캐시를 미리 생성(프리로드)해 둘 수도 있습니다.
블로그 글이나 페이지를 수정하면 캐싱 플러그인이 해당 정적 HTML 페이지를 자동으로 갱신해 최신 상태를 유지합니다. 하지만 아쉽게도 블로그 글·페이지 외의 업데이트에는 캐시가 자동으로 갱신되지 않습니다.
따라서 사이트 디자인 변경이나 워드프레스 플러그인 활성화/비활성화 같은 주요 변경 작업 후에는 반드시 전체 캐시를 수동으로 삭제하는 것이 좋습니다. 이 습관을 들이면 캐시된 페이지가 항상 최신 상태로 유지됩니다.
페이지 캐싱은 사이트 최적화의 한 조각일 뿐입니다
페이지 캐싱은 로딩 시간을 줄이는 가장 효과적인 기법 중 하나지만, 빠른 웹사이트를 보장하지는 않습니다. 이미지 최적화처럼 권장되는 최적화 기법을 함께 적용하지 않으면 페이지는 여전히 느리게 로드됩니다.

제가 '웹사이트 속도 개선을 위한 최고의 워드프레스 캐싱 플러그인'이라는 글에서 소개했듯이, 요즘 워드프레스 캐싱 플러그인은 단순한 페이지 캐싱 이상의 기능을 제공합니다. 데이터베이스 최적화, 자바스크립트 파싱 지연(defer), 사용하지 않는 CSS 제거 같은 추가 최적화 도구들이 포함되어 있습니다. 이런 부가 기능은 별도의 최적화 플러그인 설치를 생략하게 해줄 만큼 유용하지만, 전문 솔루션이 더 나은 결과를 내는 경우도 있으니 참고하세요.
예를 들어 WP-Optimize는 일반 캐싱 플러그인보다 더 다양한 데이터베이스 정리 도구를 제공합니다. 또한 필자의 경우 자바스크립트·CSS·HTML의 결합 및 경량화(minify)에는 Autoptimize가 더 나은 선택이었습니다.
궁극적인 목표는 빠른 웹사이트를 만드는 것입니다. 좋은 웹사이트 최적화 환경의 중심에는 반드시 워드프레스 캐싱 플러그인이 있어야 하며, 여기에 다른 성능 최적화 플러그인을 함께 활용하면 페이지 속도를 한층 더 끌어올릴 수 있습니다.
발생할 수 있는 캐싱 문제와 해결 방법
워드프레스 최적화 기법은 사이트를 더 빠르게 만들어주지만, 캐싱 플러그인 사용 시 몇 가지 사소한 문제나 설정 관련 이슈가 발생할 수 있다는 점에 유의해야 합니다.
심각한 문제가 발생한다면 첫 번째 단계는 마지막에 변경한 설정을 되돌리는 것입니다. 캐싱 플러그인을 기본값으로 초기화하거나 플러그인을 비활성화하면 대부분의 주요 문제를 해결할 수 있습니다.
| 문제 | 해결 방법 |
|---|---|
| 페이지 캐싱으로 인해 사이트 디자인이나 콘텐츠가 최신 상태가 아닐 수 있습니다. | 페이지 캐시 삭제 |
| 불필요한 자바스크립트 파일을 나중에 로드하면 페이지 속도가 개선되지만, 연락 폼 등 일부 콘텐츠에 문제가 생길 수 있습니다. | 중요한 파일과 페이지는 지연 로딩 예외 처리 |
| 브라우저 캐싱은 HTML, CSS, 자바스크립트, 이미지 등을 브라우저에 저장하여 재다운로드를 막아주지만, 저장된 콘텐츠가 오래될 수 있습니다. | 모든 콘텐츠에 만료 날짜(expiration date) 설정 |
호스팅 서버 캐싱의 장단점
일부 호스팅 업체는 서버 수준에서 웹사이트 캐싱을 제공하기 때문에 워드프레스 캐싱 플러그인이 필요하지 않습니다. 빠른 페이지 전달 과정이 간소화되므로 많은 사이트 운영자에게 훌륭한 선택지입니다.
다만 호스팅 업체가 웹사이트 캐싱을 제공하는 경우, 충돌을 방지하기 위해 워드프레스 캐싱 플러그인 설치를 허용하지 않을 수 있다는 점에 유의하세요.
| 완벽한 튜닝 | 호스팅 업체가 자사 서버와 조화롭게 작동하도록 페이지 캐싱을 직접 구성 |
| 간편함 | 호스팅 업체가 모든 것을 처리하므로 캐싱 플러그인 설정이 필요 없음 |
그렇다면 호스팅 업체가 페이지 캐싱을 제공한다면 워드프레스 캐싱 플러그인을 사용해야 할까요? 상황에 따라 다릅니다.
입문자에게는 호스팅 업체에 페이지 캐싱을 맡기는 것이 페이지 속도를 개선하는 간단하고 효과적인 방법입니다. 하지만 숙련된 사용자에게는 캐싱 설정을 원하는 대로 세부적으로 커스터마이즈할 수 없기 때문에 호스팅 업체에 모든 권한을 넘기는 것이 불편할 수 있습니다.
| 제한적인 커스터마이즈 | 세부 캐싱 튜닝 및 커스터마이즈 옵션이 거의 제공되지 않음 |
| 문제 해결의 어려움 | 원하는 방식대로 문제를 진단하고 성능을 최적화하기 어려움 |
사용 중인 호스팅 업체와 사이트 구성에 대해 상담해 보시길 권장합니다. 어떤 캐싱 방식을 선택할지 현명한 결정을 내리는 데 큰 도움이 됩니다.

우커머스(WooCommerce)와 페이지 캐싱
페이지 캐싱은 기본적으로 변하지 않는 정적 콘텐츠를 위해 설계되었으므로, 동적 콘텐츠는 캐싱하지 않는 것이 중요합니다.
우커머스 온라인 스토어에서는 장바구니, 결제 페이지, 계정 영역처럼 동적으로 변하는 페이지는 캐싱해서는 안 됩니다. 장바구니와 주문 정보를 표시하는 위젯도 캐싱 제외 대상입니다. 이렇게 해야 고객이 주문 과정에서 문제를 겪지 않습니다.
우커머스와 캐싱 플러그인을 함께 구성하는 방법에 대해 자세히 알아보려면 우커머스 공식 문서 'Configuring Caching Plugins' 페이지를 참고하세요.
마무리 생각
이 글을 통해 페이지 캐싱이 어떻게 작동하는지, 그리고 워드프레스 사이트의 로딩 시간을 줄이는 데 얼마나 효과적인지 이해하셨기를 바랍니다.
현재 사용할 수 있는 최고의 워드프레스 캐싱 솔루션을 종합적으로 살펴보려면 '웹사이트 속도 개선을 위한 최고의 워드프레스 캐싱 플러그인' 가이드를 확인해 보세요.
행운을 빕니다.
Kevin 드림