무료 캐시 플러그인도 전통이 있고 가능한 모든 기술이 반영된 좋은 플러그인들이 많이 있지요.

그래도 좀 더 심플한 환경을 제공하며 강력한 캐시 플러그인을 원하시는 분들 중 WP Rocket을 많이 사용하고 계신데요, 처음 접할 때 보면 낯선 단어들 때문에 난감해 하시는 경우가 많습니다. 멤버쉽, 커뮤니티, 서비스 사이트 등 특수목적/기능의 사이트에는 해당하지 않으며 일반적인 콘텐츠 제공의 경우에만 참고하세요.

어떤 것이 PageSpeed Insights 점수에 좋을지, 어떤 것이 속도향상에 최선일지 보다는 모든 설정을 최적화 하면서도 여러 플러그인들을 설치해서 운영하는 워드프레스 사이트에서 운영에 지장을 주지 않는 범위 내에서 설정을 진행해 봅니다.

WP Rocket 기본 설정 방법

(특별히 필요한 설정 아니면 꺼 두고, 꼭 필요한 경우에는 테스트 과정을 통해 켜는 것을 기본으로 함)

1. Cache

Mobile Cache

  • Enable Mobile cache (separate는 선택, 특별한 경우 아니면 끔) : ON
    • separate mobile cache: 반응형 웹에서는 꺼두면 됨

User Cache

  • Enable caching for logged-in WordPress users: OFF

Cache Lifespan

  • Specify time after which the global cache is cleared: 0
    • 변동되는 콘텐츠는 스스로 캐시 리셋됨, 필요없이 캐시를 clear할 필요 없음(사이트 부하)

2. File Optimization

Basic Settings

  • Minify HTML: OFF
  • Combile Google Fonts files: ON
  • Remove query string from static resources: OFF

CSS Files

  • Minify CSS files: OFF
  • Combile CSS files: OFF
    • Google Page Insight 대응이 필요하다면 켬
  • Optimize CSS delivery: OFF
    • Google Page Insight 대응이 필요하다면 켬

주의:: DIVI 테마와 함께 활용 시 페이지의 CSS 내용이 나중에 적용되어 CSS내용이 순차적으로 적용될 경우 ‘Optimize CSS delivery’ 를 설정을 꺼야 합니다.

JavaScript Files

  • Minify Javascript Files: OFF
  • Combine Javascript Files: OFF
    • Google Page Insight 대응이 필요하다면 켬
  • Load Javascript deferred: OFF (Google Page Insight 대응이 필요하다면 켬)

    • Safe Mode for jQuery: ON (deferred 켰다면)

주의:: 로그인 후 로그인 전 접속했던 (캐싱된)페이지에서 로그인 전의 캐싱된 페이지로 접속된다면  ‘Combine’ 은 끄고, ‘Load Javascript deferred’를 켜면 문제가 해결될 수 있습니다.

덧붙이자면~

  • CSS / JavaScript minify, combile, optimze 설정은 키면 아주 좋습니다. 하지만 켰을 경우 문제가 발생되곤 하는데요, 어느 곳에서 문제가 발생하고 있는지를 확인하기도 어렵고(모르고 지나치기 일쑤) 하나씩 대응하기가 힘들죠
  • PageSpeed Insights 점수에도 아주 큰 향상이 있으니 실제로는 켜면 좋습니다.
    • 위 옵션을 켜고 홈 / 각 메뉴페이지 / 각 목록 페이지들을 점검 해 보았을 때 문제가 없다면  모두 ON
  • 고급 사용자 분들이 Exclude  Rule 적용하는 것은 당연할테니 여기서는 패스~

 

3. Media

LazyLoad

  • Image: OFF
  • iframes / videos: ON

Emoji

  • ON

Disable Embeds

  • ON

 

4. Preload

Activate Preloading

Preloading 기능은 최초 사이트 구축시 한 번만 ON 하여 진행하고 이후에는 꺼(OFF) 둠.

Lifespan이 0(unlimited) 이면 ON  그 외에는 최초에 preload하고 다시 OFF. (Lifespan이 짧고 컨텐츠가 많으면 사이트 부하의 원인이 됨)

  • Activate sitemap-based cache preloading: ON (SEO 플러그인 사용 시)
  • Yoast SEO XML sitemap: ON (사이트맵 XML 주소 입력 불필요함)

Prefetch DNS Requests

//fonts.googleapis.com
//www.google-analytics.com

5. Advanced Rules

Never Cache URL(s)

(우커머스의 예는 아래이며, 나머지 경우 멤버쉽 페이지들 전체를 아래와 같은 Rule 형식으로 추가)

/cart/
/cart/(.*)
/checkout/
/checkout/(.*)
/my-account/(.*)
/my-account/
/account/
/account/(.*)
/user/(.*)
/members/
/members/(.*)
/login/
/login/(.*)
/logout/
/logout/(.*)
/register/
/register/(.*)
/password-reset/
/password-reset/(.*)

## Never Cache Cookie

woocommerce_items_in_cart

Always Purge URL(s)

(카테고리, 태그, 글 목록을 포함한 페이지, 루트 페이지 등 새로운 글/상품 등이 등록되면 내용이 변하는 모든 페이지 주소 추가)

/
/category/(.*)
/tag/(.*)
/product-category/(.*)
/magazine/(.*)
/blog/(.*)

Cache Query String(s)

(검색페이지(/?s=1234) 등에 대한 캐시가 필요한 경우, 플러그인 특유의 URL 형식이 있을 경우 ?xxx=111&yyy=222)

s
xxx
yyy