메뉴 닫기

워드프레스 가장 안정적인 브라우저 캐시 최적화

캐시 플러그인부터 해서 브라우저 캐시까지 이래저래 캐시 설정하려면 한도 끝도 없이 할 수 있지만, 캐시 관련 기능은 정밀하게 조정하지 않는이상 늘리면 늘릴수록 안정성이 떨어진다.
스킨이 깨지기도 하고, 사이트가 제대로 동작하지 않기도 하며, 심각한 경우에는 알 수 없는 에러로 터져버려 복구말고는 답이 없는 지경이 되기도 한다.

때문에 구체적인 목적이 있고, 제대로 된 캐시 사용법을 모르는 일반 유저라면 플러그인이나 복잡한 캐시 구조를 사용하기 보다는, 아주 간단하고 안전한 부분만 활용한 아래의 브라우저 캐시를 사용하면 되겠다.

우선 브라우저 캐시는 라이트세일 워드프레스 기준 /opt/bitnami/apps/wordpress/htdocs 경로에 있는 .htaccess 파일을 수정해주기만 하면 간단하게 적용할 수 있다.

코드는 이런식으로 선언함으로 브라우저 캐시를 사용한다고 말하고

<IfModule mod_expires.c>
ExpiresActive On
</IfModule>

ExpiresActive On 아래에 속성을 적용시키면 된다.
ExpiresDefault "access 1 month" 이런식으로 ‘ExpiresDefault’를 사용하면 그냥 모든 요소에 ‘access 1 month(1달 동안)’ 캐시를 저장하라는 명령이 되고, 사용자가 사이트에 재접속해도 1달동안은 삭제하지 않고 저장해둔 캐시를 불러와 사이트 로딩이 빨라진다.

‘month’ 대신
‘year’
‘month’
‘week’
‘day’
‘hour’
‘minute’
‘second’
를 사용해 캐시의 저장기간을 임의로 변경할 수 있다. ‘1달간 모든 캐시를 저장해라’ 라는 예제는 다음과 같다.

<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access 1 month"
</IfModule>

ExpiresByType image/png "access 1 month" 처럼 특정 확장자라던지 디렉토리, 요소 들을 지정할수도 있다. 예제는 1달간 ‘png’ 확장자를 저장하라는 코드이고, 여러 확장자를 적용한 예제는 아래와 같다.

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 month"
ExpiresByType image/jpeg "access 1 month"
ExpiresByType image/gif "access 1 month"
ExpiresByType image/png "access 1 month"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 month"
</IfModule>

그러나 제목에도 있다시피 무작위적인 캐시는 안정성이 낮아지게 되고, 특히나 css, html 등의 요소는 사이트 리뉴얼시 사용자에게 변경사항이 즉시 적용되지 않는 문제가 있기 때문에 더더욱 디테일하게 사용해야 한다.

만약 본인이 사이트의 리뉴얼도 계속해서 진행하지만 안정적이게 브라우저 캐싱도 하고싶다면, 개인적으로 사이트 로딩 속도를 가장 크게 저해하면서 웬만해선 절대 변경할 일이 없는 이미지 요소만 캐싱을 활용하는 방법을 강력 추천한다.

아래 코드를 사용하면 다른 캐시는 저장하지 않고 jpg, jpeg, gif, png 확장자의 이미지 요소만 1달간 캐시를 저장하기 때문에 사이트 요소를 마음껏 리뉴얼해도 부담이 없고, 그러면서 속도는 최적화시키고, 안정성 면에서 문제를 일으킬 일이 없는 탄탄한 브라우저 캐싱을 사용할 수 있다.

# Browser Caching Code - https://pppage.com/imcode/
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 month"
ExpiresByType image/jpeg "access 1 month"
ExpiresByType image/gif "access 1 month"
ExpiresByType image/png "access 1 month"
</IfModule>
Posted in 지식(Knowledge), All

관련 콘텐츠(Related)

댓글 (정보 필수X)

이메일 구독 - Email Subs

최선을 다해 직접 만든 콘텐츠만 공유합니다.
We share the best content we have created.

이메일 구독 - Email Subs

최선을 다해 직접 만든 콘텐츠만 공유합니다.
We share the best content we have created.