워드프레스 사이트를 최적화하는 W3 Total Cache 플러그인

워드프레스 캐시 플러그인

워드프레스 사이트의 속도가 느린 경우 캐시 플러그인이 도움이 될 수 있습니다. 대표적인 캐시 플러그인으로 W3 Total CacheWP Super Cache가 있습니다.

WP Super Cache는 처음 워드프레스를 접하는 사용자에게 적합하고, 워드프레스에 익숙해지면 W3 Total Cache 플러그인을 사용하는 게 좋다고 합니다.

최근에는 설정이 간편하고 가벼운 캐시 플러그인도 있으므로 이런 무거운 캐시 플러그인 대신 Cache Enabler와 같은 심플한 플러그인을 고려할 수도 있습니다.

워드프레스 사이트를 최적화하는 W3 Total Cache 플러그인

캐시 플러그인 사용 시 장단점

이 글은 2016년 9월에 작성되었습니다. 이후 많은 캐시 플러그인이 등장했습니다. 캐시 플러그인은 사이트 속도를 크게 개선할 수 있지만, 한편으로는 문제를 일으킬 수 있습니다. 대표적인 문제로 새로운 글이 발행해도 사이트에 반영이 안 되는 경우입니다.

보통 서너 시간이나 하루 정도 지나면 새로 발행한 콘텐츠가 표시되지만, 경우에 따라서는 하루가 지나도 표시가 안 되는 경우가 있을 수 있습니다.

실제로 이 블로그에서는 이 문제 때문에 방문자가 감소한 적이 있습니다. Hyper Cache로 바꾸고 브라우저 캐시 기능을 해제하여 문제를 해결했습니다.

참고로 현재 이 블로그는 클라우드웨이즈(Cloudways)에서 호스팅되고 있고, 캐시 플러그인은 클웨에서 제공하는 Breeze라는 플러그인을 사용하고 있습니다.

Breeze는 캐시 기능과 최적화 기능이 함께 제공됩니다. 이러한 기능들을 잘 설정하여 사이트 속도를 최대로 끌어올리면서 사이트에 문제를 일으키지 않도록 해야 합니다.

클라우드웨이즈의 2GB 램 크기 이상의 서버에서는 Redis가 지원됩니다. Redis 기능과 Objec Cache Pro 플러그인을 사용하면 데이터베이스 캐시를 관리할 수 있으며, 특히 방문자 수가 많은 경우 속도 향상에 도움이 된다고 합니다.

저는 Breeze만 사용했을 때 LCP 문제: 2.5초 초과 경고가 구글 서치 콘솔에 표시되어 Clearfy라는 최적화 플러그인(Autoptimize와 비슷한 플러그인)을 함께 사용하여 세팅했습니다. 캐시 플러그인과 최적화 플러그인을 함께 사용할 때에는 설정이 중복되지 않고 충돌하지 않도록 하는 것이 중요합니다.

W3 Total Cache 플러그인을 Autoptimize와 같은 Minify 플러그인과 함께 사용할 경우에도 마찬가지로 설정이 서로 충돌하지 않도록 세심하게 설정해야 문제가 발생할 것입니다.

아래의 설정은 구 버전을 기준으로 한 것이며 최신 W3 Total Cache 플러그인과는 차이가 있습니다. 그런 점을 감안하여 참고하시기 바랍니다.

General Settings 설정

먼저 Performance > General Settings로 이동합니다.

Page Cache 설정

Page Cache

Minify 설정

Minify

* 참고로 Minify CSS 설정으로 인해 사이트가 깨져나올 수 있습니다. 이 경우 이 설정을 Disable로 지정하면 됩니다(Enable의 체크란 해제).

Database Cache 설정

Database Cache

Object Cache 설정

Object Cache

Browser Cache 설정

Browser Cache

설정 후에 Save all settings를 눌러 설정을 저장합니다.

Performance > Page Cache 설정

이제 Performance > Page Cache로 이동합니다. 다음과 같이 설정합니다.

Page Cache - 2

Save all settings를 눌러 설정을 저장한 후에, 브라우저로 사이트를 열어봅니다. 오른쪽 마우스 버튼을 누르거나 설정에서 "페이지 소스 보기"를 클릭하여 소스 보기 화면을 열도록 합니다. 그런 다음 맨 아래에 다음 그림과 같은 코드가 있는지 확인합니다. 코드가 있다면 정상적으로 작동하는 것입니다.

w3 total cache source

이상으로 W3 Total Cache 플러그인의 설정을 마쳤습니다. 글을 작성하거나 위젯 등을 설치한 후에는 캐시를 지워주는 게 좋습니다. 그렇지 않으면 이전 글이나 설정이 표시되는 문제가 발생할 수 있습니다. 저는 캐시를 쉽게 지울 수 있도록 Clear Cache For Me라는 플러그인을 설치했습니다.

추가

위의 설정은 예시로써 실제 상황에서는 서버 환경에 따라 조금씩 조정하면서 속도 향상 여부를 체크해보시기 바랍니다. 캐시를 지운 후에는 조금 시간 여유를 두어야 제대로 된 속도를 확인할 수 있습니다. (캐시가 쌓이기까지 조금 시간이 걸릴 수 있습니다.)

예를 들어, Page Cache 설정을 Disk: Enhanced를 권장하지만, 이 옵션은 Shared Server(공유 서버)일 경우에 적합합니다. 해외 호스팅 서비스인 블루호스트의 VPS에서 Memcached를 설치한 후에 Memcached를 선택해주니 속도가 조금 더 빨라지는 확인할 수 있었습니다.

블루호스트 Memcached 설정

 2017년 6월 16일 추가: 우커머스 사용 시 "무시하는 쿼리 문자열" 추가

WooCommerce를 사용하는 경우 W3 Total Cache를 활성화하면 맨 위에 오류(알림) 메시지가 표시됩니다.

In order for database caching to work with WooCommerce you must add _wc_session_ to the “Ignored Query Strings” option in W3 Total Cache settings here.

우커머스가 설치된 경우 Database Cache를 사용하기 위해 “Ignored Query Strings" 옵션에 _wc_session_를 추가하면 됩니다. Performance > Database Cache를 클릭하고 Advanced 섹션 아래에 Ignored query stems: 입력란에 _wc_session_를 추가하시기 바랍니다.

WP Super Cache를 사용했을 때 처음 로딩 시간이 너무 걸려서 W3 Total Cache를 설치하여 설정하니까 그런 현상이 사라지네요. 여러 가지 캐시 플러그인을 테스트하여 사용하는 환경에 맞는 캐시 플러그인을 선택하면 좋을 듯 합니다.

참고:

일부 글에 제휴 링크가 포함될 수 있으며 파트너스 활동으로 일정액의 수수료를 받을 수 있습니다.

16개 댓글

    1. 글을 새로 발행하는 등의 작업이 있을 경우에 캐시를 삭제하도록 하는 옵션이 있을 수 있습니다. (이 블로그에 사용 중인 Cache Enabler에서는 글을 새로 발행하거나 업데이트하면 캐시가 삭제되도록 옵션을 설정을 했습니다.) 그리고 browser caching 관련 설정을 하면 일정 시간 후에 사용자 브라우저 캐시가 삭제될 것입니다. 하지만 브라우저 캐싱 설정을 하면 경우에 따라 사용자 브라우저에서 캐시가 제대로 삭제가 안 되어 문제가 발생하는 경우가 있을 수 있습니다.

  1. 현재 토탈캐시 잘 쓰고 있습니다.
    말씀하신대로 minify는 안쓰고 있습니다.
    그 이외에는 전부 적용하고 있으며
    우분투에 redis를 깔아서 disk보다 redis에 캐시 저장소로 지정하는게
    더 좋은 것 같습니다.

    감사합니다.

    1. 최근 어떤 분이 redis로 설정하면 속도가 매우 빨라진다고 하는 글을 본 적이 있습니다.
      Total Cache 플러그인도 사이트와 궁합이 잘 맞으면 좋은 선택 같습니다.

  2. 어제 용량이 600M 이었는데 오늘 오후에 보니 1000M가 넘어서 혹시나 캐시 설정이 잘못 되어서 그런가 하고 보았더니 Database Cache 와 Browser Cache 체크가 안되었네요..
    감사합니다..^^

  3. 저는 wp super cache를 사용할때가 제일 빠른거 같네요. 너무 초보라 따라 한다고 하는데 속도는 여전히 느리네요... PageSpeed Insights로 테스트 해보면 모바일 45 테스크 35 나옵니다.

    1. 안녕하세요?

      Google PageSpeed Insights는 실제 속도보다는 사이트가 얼마나 최적화되어 있는지를 보여준다고 하네요.

      제 사이트는 데스크에서 74점, 모바일에서 71점으로 이전보다 점수가 내려갔네요.

      최근 캐시 문제 때문에 브라우저 캐시를 비활성화했는데, 아마 영향을 미친 것으로 보이네요. 그리고 구글 애드센스 광고를 제거하면 사이트 속도가 훨씬 빨라지고, 점수도 더 높게 나올 것 같습니다.

      플러그인 사용을 최소화하고, 페이지 빌더도 가급적이면 비주얼 컴포저를 사용하지 않으면 도움이 될 것입니다.

      https://www.thewordcracker.com/basic/pros-and-cons-of-page-builder-of-wordpress/

      1. 코딩식이 없서 비주얼 금방 포기할수가 없네요. 그래서 CSS3도 배울려고 하는데 헛걸음 안하게 조언 좀 부탁해도 될까요?

      2. CSS는 다음 글을 참고해보세요.

        https://www.thewordcracker.com/basic/%EC%9B%8C%EB%93%9C%ED%94%84%EB%A0%88%EC%8A%A4%EC%97%90-css%EB%A5%BC-%EC%A0%81%EC%9A%A9%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95%EA%B8%B0%EC%B4%88/

        생활 코딩에서 제공하는 무료 강의나 서점에서 책을 하나 구입하며 보시면 도움이 될 것입니다.

        페이지 빌더의 경우 Elementor 페이지 빌더가 가볍다고 평이 있습니다. 무료니까 테스트해보셔도 괜찮을 것 같습니다.

        https://www.thewordcracker.com/basic/%EB%AC%B4%EB%A3%8C-%EC%9B%8C%EB%93%9C%ED%94%84%EB%A0%88%EC%8A%A4-%ED%8E%98%EC%9D%B4%EC%A7%80-%EB%B9%8C%EB%8D%94-elementor-page-builder/

  4. 안녕하세요. 얼마전에 홈페이지 캐시플러그인 문제로 유료서비스를 받았는데요, 지금은 캐쉬플러그인 제거 후 속도관련 플러그인은 wp optimize만 사용하고 잇습니다. w3 total cache을 함께 사용해도 문제가 없을까요?

  5. 안녕하세요.

    홈페이지 속도를 높이기위해 cache, minify 플러그인을 설치하려는데, 다 실패했습니다.ㅠㅠ

    cache 플러그인은,
    거의 5-6개 정도의 cache플러그인을 깔아보았는데 그중 하나도 실행이 안됩니다.
    minify 플러그인을 깔면 홈페이지가 망가집니다..
    이런경우는 왜 그런거죠
    1. 안녕하세요?
      수고가 많으시네요. 간혹 cache 플러그인이나 minify 플러그인을 설치하면 홈페이지가 깨진다는 글을 본 적이 있습니다. 그래서 이 블로그의 어떤 글에서 "복불복"이라는 표현을 사용한 적이 있는데요, 그런 경우는 드물지만 발생하는 것 같습니다. 캐시 기능은 호스팅 서버 자체에서도 제공할 수 있으므로 웹호스팅 업체에 한 번 문의해보시면 어떨까요? 가령 웹호스팅 서버에서 캐시 기능이 활성화되어 있다면 끄고 시도해본다든지, 혹은 웹호스팅 서버의 캐시 기능을 사용한다든지 등...

    2. 조금 더 부가하자면, 혹은 테마를 변경하여 시도해보시면 어떨까요? 만약 다른 테마에서는 잘 되는데 특정 테마에서 안 된다면 테마 자체의 문제가 될 것입니다. 또는 플러그인을 모두 활성화하고 시도하여 플러그인 충돌 문제인지도 파악이 가능할 것 같습니다. 만약 테마를 바꾸어도 동일한 현상이 나타나고, 플러그인을 모두 비활성화해도 같은 문제가 재현된다면, 서버쪽을 의심해봐야 할 것 같습니다.

댓글 남기기

* 이메일 주소는 공개되지 않습니다.