오류의 일반적인 원인(캐시 수명 설정 변경 후) #
캐시 시간 설정을 변경한 이후 갑자기 wpform 전송이 오류가 발생한다면?
이 오류는 사용자 브라우저의 폼 토큰과 WPForms에서 생성된 폼 토큰 사이에 불일치가 있음을 나타냅니다.
캐싱 플러그인의 유효 기간이 폼 토큰의 유효 기간보다 긴 경우 종종 발생합니다.
사용하는 캐싱 플러그인이 웹사이트 데이터를 48시간 이상 저장하도록 구성된 경우
wp form 사용자는 양식을 제출할 때 아래와 같은 오류 메시지가 표시됩니다.
‘The form was unable to submit. Please contact the site administrator.‘’
양식을 제출할 수 없습니다. 사이트 관리자에게 문의하십시오. ‘
해결방법은 아래 코드 테마의 functions.php 파일 가장하단에 복붙합니다.
테마의 functions.php에 코드 추가: #
- 워드프레스 관리자에서
외모 > 테마 파일 편집기로 이동합니다. - 현재 활성화된 테마의
functions.php파일을 열고, 해당 파일의 맨 아래에 코드를 추가합니다. - 주의: 테마가 업데이트될 때 이 파일이 덮어씌워질 수 있으므로, 자식 테마(child theme)를 사용하는 것이 좋습니다.
/**
* Extend cache time on form tokens before today.
*/
function example_add_longer_token_time_before( $times ) {
// Allow the token to persist for 1 year (365 days)
$times[] = 365 * DAY_IN_SECONDS;
return $times;
}
add_filter( 'wpforms_form_token_check_before_today', 'example_add_longer_token_time_before' );
/**
* Extend cache time on form tokens after today.
*/
function example_add_longer_token_time_after( $times ) {
// Allow the token to persist for 1 year (365 days)
$times[] = 365 * DAY_IN_SECONDS;
return $times;
}
add_filter( 'wpforms_form_token_check_after_today', 'example_add_longer_token_time_after' );
wpform 토큰 시간을 늘려도 폼 필드 수정 시 캐시가 자동으로 지워지나요? #
WPForms에서는 폼이 수정되면 캐시가 자동으로 무효화됩니다. 즉, 폼 필드를 수정할 때 해당 폼과 관련된 캐시 토큰도 재생성되므로, 캐시 시간이 길게 설정되어 있더라도 폼을 수정하면 새로운 토큰이 생성됩니다. 따라서, 토큰 시간을 연장해도 폼 수정 시 캐시 문제는 발생하지 않습니다.
이외.잘 되던 폼메일이 갑자기 전송안되는 현상 #

클라우드플레어 CDN과 클라우드웨이즈 Breeze 캐시를 함께 사용하는 경우 폼 메일이 정상적으로 작동하지 않는 이슈는 주로 캐싱 관련 설정 때문일 가능성이 큽니다. 폼 메일의 경우 동적인 요청이 발생하기 때문에, 캐시에서 해당 요청이 적절히 처리되지 않으면 문제가 발생할 수 있습니다. 이를 해결하기 위한 몇 가지 방법을 안내드립니다:
네트워크 요청 확인으로 원인 찾기 (개발자 도구) #
- 브라우저의 개발자 도구(Chrome 기준
F12)에서 네트워크 탭을 열고, 폼 메일을 제출할 때 발생하는 요청을 확인합니다. 폼메일 제출 후 f5번 키를 눌러주세요.
- 상태 코드: 폼 제출 시 요청이
200 OK로 처리되는지 확인합니다. 상태 코드가403,500, 또는404와 같은 오류라면, 해당 상태 코드에 따라 원인을 파악할 수 있습니다. - 상태별 응답코드 설명은 아래표를 참고하세요.
- 상태 코드: 폼 제출 시 요청이
| 상태 코드 | 설명 | 원인 | 해결 방법 |
|---|---|---|---|
| 200 OK | 요청이 성공적으로 처리됨 | 정상 요청 | 문제 없음 |
| 201 Created | 요청에 따라 새로운 리소스가 생성됨 | POST 요청이 성공적으로 처리됨 | 문제 없음 |
| 204 No Content | 요청이 성공적으로 처리되었지만 반환할 내용이 없음 | 주로 PUT 또는 DELETE 요청에 사용됨 | 문제 없음 |
| 301 Moved Permanently | 요청한 리소스가 영구적으로 다른 URL로 이동됨 | URL이 변경됨 | 새 URL로 리다이렉트 설정 |
| 302 Found (Temporary Redirect) | 요청한 리소스가 임시적으로 다른 위치에 있음 | URL이 임시로 변경됨 | 다음 요청에서는 원래 URL 사용 가능 |
| 304 Not Modified | 리소스가 변경되지 않아 클라이언트가 캐시된 리소스를 사용함 | 클라이언트가 이미 최신 버전의 리소스를 가지고 있음 | 문제 없음 |
| 400 Bad Request | 잘못된 요청 | 요청 구문 오류, 잘못된 파라미터 | 요청 데이터나 파라미터를 확인하고 수정 |
| 401 Unauthorized | 인증되지 않은 상태에서 보호된 리소스에 접근 시도 | 인증 토큰이 없거나 유효하지 않음 | 로그인 상태 확인, 유효한 인증 토큰 확인 |
| 403 Forbidden | 클라이언트가 요청한 리소스에 대한 접근 권한 없음 | 리소스에 대한 접근 권한 부족 | 접근 권한 설정 확인 및 수정 |
| 404 Not Found | 요청한 리소스를 찾을 수 없음 | 잘못된 URL 또는 서버에 리소스가 존재하지 않음 | URL 및 리소스 존재 여부 확인 |
| 408 Request Timeout | 클라이언트의 요청이 시간 내에 처리되지 않음 | 네트워크 지연 또는 서버 과부하 | 네트워크 상태 확인, 서버 응답 시간 설정 확인 |
| 500 Internal Server Error | 서버에서 예기치 않은 오류 발생 | 서버 구성 오류, 스크립트 오류, 데이터베이스 연결 문제 | 서버 로그 확인 후 오류 수정, 스크립트나 데이터베이스 문제 해결 |
| 502 Bad Gateway | 서버가 잘못된 응답을 받음 | 백엔드 서버 오류 또는 프록시 서버 문제 | 백엔드 서버 상태 확인, 프록시 서버 설정 점검 |
| 503 Service Unavailable | 서버가 일시적으로 요청을 처리할 수 없음 | 서버 과부하, 유지보수 중 | 서버 상태 확인, 리소스 증대 또는 서버 재시작 |
| 504 Gateway Timeout | 프록시 서버가 응답을 기다리는 중 시간 초과됨 | 백엔드 서버의 응답 지연, 네트워크 문제 | 백엔드 서버 응답 시간 확인, 네트워크 상태 점검 |
이번의 경우 304 Not Modifed 오류입니다. 304 Not Modified 상태 코드는 서버에서 새 데이터를 전송하지 않고 캐시된 데이터를 사용하게 하여 문제가 발생한 것입니다.
저의 경우, Cloudways-Cache와 Cloudflare-Cache가 모두 작동 중임을 응답 헤더에서 확인할 수 있습니다.
이외. 문제해결을 위한 캐시 작업처리 #
- 클라우드웨이즈 캐시를 1년으로 해두었기때문에, 발생한 오류로, 폼메일 페이지의 경우 캐시에서 예외처리를 해주어서 문제 없이 메일이 작동 할 수 있도록 수정해주겠습니다.

▲ Breeze 캐시 설정으로 이동해서, 커스텀 캐시 설정을 해줍니다.

▲ ADANCED OPTIONS – Never Cache URL(s) 에 캐시되지 않아야 하는 url을 입력해주세요.

▲ 폼메일이 정상작동하는 것을 확인 할 수 있습니다.