"캐시 유효성 검사기 지정" 오류를 수정하는 방법

게시 됨: 2022-06-11

GTmetrix 또는 Pingdom을 사용하여 웹사이트의 성능을 테스트하는 경우 "캐시 유효성 검사기를 지정하십시오"라는 오류가 발생할 수 있습니다. 이 메시지는 브라우저 캐싱을 최대한 활용하고 있지 않음을 의미합니다. 안타깝게도 이는 사이트 성능에 부정적인 영향을 미칠 수 있습니다.

이 기사에서는 "캐시 유효성 검사기 지정" 오류가 의미하는 바에 대해 설명합니다. 또한 WordPress에서 문제를 수정하고 웹사이트 성능을 최적화하는 방법도 보여줍니다. 바로 가자!

"캐시 유효성 검사기 지정"은 무엇을 의미합니까?

캐싱을 활성화하면 방문자의 브라우저 또는 "클라이언트"가 웹사이트를 방문할 때 중요한 파일을 로컬에 저장하도록 지시할 수 있습니다. 이렇게 하면 사용자가 페이지를 열 때마다 전체 사이트와 리소스를 다시 로드할 필요가 없습니다.

캐싱은 웹사이트에서 매우 일반적인 관행입니다. 또한 사이트 성능을 향상시키는 가장 효과적인 방법 중 하나입니다. 그러나 적절한 구현을 위해서는 캐싱 "정책"이 ​​필요합니다.

이 정책은 다음에 대한 명시적 지침을 제공하는 캐싱 헤더를 포함하는 것을 의미합니다.

  • 캐시된 리소스를 확인하는 방법
  • 클라이언트가 캐시해야 하는 리소스
  • 클라이언트가 리소스를 캐시해야 하는 기간
  • 클라이언트가 캐시된 리소스의 변경 사항을 찾는 방법

"캐시 유효성 검사기 지정" 오류는 웹사이트의 응답에 해당 캐싱 헤더가 없음을 의미합니다. 지침이 없다고 해서 캐싱이 작동하지 않는 것은 아닙니다. 그러나 다음과 같이 효율적으로 작동하지 않습니다.

WordPress에서 캐시 유효성 검사기 오류 지정

WordPress 웹사이트의 성능을 분석할 때 이 오류가 발생하면 웹사이트가 최대한 빨리 로드되지 않을 수 있습니다. 그러나 적절한 캐싱 헤더를 사용하여 이 문제를 해결할 수 있습니다.

WordPress에서 캐시 유효성 검사기를 지정하는 방법(3가지 방법)

웹사이트 헤더에 구현할 수 있는 캐시 유효성 검사기에는 여러 유형이 있습니다. 마지막 수정 또는 ETag 유효성 검사기와 같은 일부 경우에는 서버에서 자동으로 추가합니다.

"캐시 유효성 검사기 지정" 오류가 발생하는 경우 가장 가능성이 높은 원인은 캐시 제어 가 누락되었거나 헤더를 만료 했기 때문입니다. WordPress에 두 가지를 모두 추가하는 방법을 살펴보겠습니다.

1. 수동으로 캐시 제어 헤더 추가

캐시 제어 헤더를 사용하면 캐시의 지속 시간 또는 "길이"를 초 단위로 지정할 수 있습니다. 이 헤더를 사용하여 길이가 적용되는 파일 형식을 나타낼 수도 있습니다. 헤더 자체의 구조는 사용 중인 웹 서버 소프트웨어에 따라 다릅니다.

Apache 서버의 경우 .htacess 파일을 편집해야 합니다. WordPress 루트 폴더에서 찾을 수 있습니다. 그러나 FTP(파일 전송 프로토콜)를 통해 액세스하는 것이 좋습니다.

.htaccess 파일 을 열고 다음 코드 조각을 추가한 다음 사용자 지정합니다.

<filesMatch ".(jpg|jpeg|png|gif|js|css)$">
Header set Cache-Control "max-age=604800, public"
</filesMatch>

이 코드는 filesMatch 태그 내의 파일 유형에 대한 캐시 길이를 나타냅니다. 캐시하려는 요소에 따라 파일 유형을 추가하거나 제거할 수 있습니다.

NGINX를 사용하는 경우 서버의 기본 구성 파일을 수정해야 합니다. /etc/nginx 디렉토리에서 찾을 수 있습니다.

파일을 열고 다음 코드를 추가합니다.

location ~* \.(jpg|jpeg|png|gif|js|css)$ {
add_header Cache-Control "public";
}

변경 사항을 파일에 저장하고 닫습니다. 또한 웹사이트의 성능을 다시 테스트하기 전에 만료 헤더를 추가하는 것이 좋습니다.

2. 수동으로 만료 헤더 추가

Expires 헤더는 다소 오래된 유형의 캐시 유효성 검사기입니다. 실제로 캐시 제어 헤더가 이제 이를 대체합니다. 대부분의 최신 브라우저는 캐시 제어 헤더를 먼저 검색하지만 두 유효성 검사기를 모두 표시하여 기반을 커버할 수 있습니다.

만료 헤더를 수동으로 추가하는 것은 Apache 및 NGINX의 캐시 제어 항목과 유사하게 작동합니다. Apache에서 만료 헤더를 추가하려면 .htaccess 파일을 편집해야 합니다.

다음은 복사할 수 있는 헤더의 예이며 충돌을 피하기 위해 파일 하단에 추가하는 것이 좋습니다.

## EXPIRES HEADER CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresDefault "access 7 days"
</IfModule>
## EXPIRES HEADER CACHING ##

Expires 헤더는 각 파일 유형에 대한 특정 만료 날짜를 나타냅니다. 파일 형식에 날짜를 지정하지 않으면 ExpiresDefault 값이 사용됩니다.

NGINX 서버의 경우 기본 구성 파일을 수정해야 합니다. NGINX에서 만료 헤더는 다음과 같습니다.

location ~* \.(png|jpg|jpeg|gif)$ {
expires 7d;
add_header Cache-Control "public";
}

사용 중인 파일에 변경 사항을 저장하기만 하면 됩니다. 웹사이트의 성능을 다시 테스트하고 "캐시 유효성 검사기 지정" 오류가 지속되는지 확인하십시오.

3. WordPress 캐싱 플러그인 사용

마지막으로 플러그인을 사용하여 캐시 유효성 검사기를 지정할 수 있습니다. 가장 인기 있는 WordPress 캐싱 플러그인 중 일부를 사용하면 코드를 건드리지 않고도 사이트의 만료캐시 제어 헤더를 구성할 수 있습니다.

캐싱 플러그인 사용의 단점은 많은 웹 호스트에서 캐싱 플러그인을 허용하지 않는다는 것입니다. 사실, 특히 많은 관리 웹 호스트는 최적의 성능을 위해 사용자의 캐싱을 수동으로 구성하기 때문에 캐싱 플러그인을 사용할 수 없는 경우가 많습니다.

대부분의 캐싱 플러그인은 ETag 또는 Last-Modified 헤더를 사용하도록 웹사이트를 자동으로 구성합니다. 그렇지 않은 경우 기본적으로 캐시 제어로 설정하고 유효성 검사기를 만료 할 수 있습니다.

예를 들어 W3 Total Cache를 사용하면 사용할 수 있는 캐시 헤더 유형을 완벽하게 제어할 수 있습니다.

W3 총 캐시 구성

웹 호스트에서 캐싱 플러그인을 사용할 수 있는 경우 여러 옵션을 탐색하여 어떤 옵션이 더 편한지 확인하는 것이 좋습니다. 또는 캐시 유효성 검사기를 수동으로 지정할 수 있습니다(그리 어렵지 않습니다!).

결론

캐싱은 사용자의 로딩 시간을 줄이는 가장 효율적인 방법 중 하나입니다. 반복 방문자는 로컬에 저장된 파일로 로드 시간이 향상되므로 좋은 캐싱 정책의 이점을 얻을 수 있습니다. 그러나 특정 캐싱 정책을 구성하지 않으면 최상의 웹 사이트 성능을 얻을 수 없습니다.

서버가 기본적으로 그렇게 하지 않는 경우(상대적으로 일반적임) WordPress에서 캐시 유효성 검사기를 지정하는 방법에는 여러 가지가 있습니다. 호스트 및 사이트 요구 사항에 따라 수동으로 캐시 제어 헤더를 추가하거나 수동으로 만료 헤더를 추가하거나 캐싱 플러그인을 사용하면 문제가 해결됩니다. 이 중 어느 것도 해결되지 않으면 호스트의 지원팀에 연락하여 보다 심층적인 지원을 받을 때입니다.

WordPress에서 캐시 유효성 검사기를 지정하는 방법에 대해 질문이 있습니까? 아래 코멘트 섹션에서 그들에 대해 이야기합시다!

apghedia / shutterstock.com을 통한 추천 이미지