블로거도 꼭 알아야 할 페이지 워드프레스 캐시 이야기

블로거도 꼭 알아야 할 페이지 워드프레스 캐시 이야기

워드프레스에서 워드프레스 캐시, 그중에서도 페이지 캐시는 말 그대로 한 번 완성된 페이지를 그대로 저장해두는 방식입니다. 보통 사용자가 블로그에 접속하면 서버에서는 PHP가 실행되고, 데이터베이스에서 글을 불러오고, 테마를 적용해 하나의 HTML 화면을 만들어내느라 꽤 많은 작업을 거치게 됩니다. 그런데 방문자가 많아질수록 이 과정을 매번 반복하면 서버는 점점 느려지고 부담도 커집니다.

그래서 워드프레스 캐시 기능 중 하나인 페이지 캐시는 이미 완성된 HTML 결과물을 미리 저장해두었다가, 다음 방문자에게는 다시 처리 과정을 거치지 않고 바로 꺼내서 보여주는 역할을 합니다. 마치 한 번 완성한 요리를 계속 새로 만들지 않고 바로 제공하는 것과 같은 원리입니다.

덕분에 페이지 로딩 속도가 훨씬 빨라지고, 서버 자원도 효율적으로 사용할 수 있습니다. 특히 방문자가 늘어날수록 워드프레스 캐시는 사이트 안정성과 속도를 지켜주는 핵심 요소가 됩니다. 안정적인 트래픽 운영을 위해서라도 워드프레스 캐시 설정은 선택이 아니라 필수에 가깝다고 할 수 있습니다

워드프레스 관리자 페이지의 ‘사이트 건강’ 메뉴에서“루프백 요청 문제(403 Forbidden)”경고로 확인 할수있습니다. 서버가 자기 자신에게 “너 살아있어?”라고 말을 걸었는데, 보안 설정 때문에 “저리 가!”라고 거절당한 상태입니다.

이 문제를 깔끔하게 해결해서 페이지 캐시가 정상 작동하도록 만드는 방법을 원인 분석부터 필살기 코드까지 순서대로 정리해 드립니다!

블로그 페이지 캐시

1. 왜 이런 문제가 생길까요? (원인 분석)

보통 서버 보안 설정이 너무 깐깐할 때 발생합니다.

  • 보안 플러그인: All In One WP Security, Wordfence 등이 서버 IP의 자기 자신 접속을 차단한 경우.
  • 서버 방화벽(UFW 등): 리눅스 자체 방화벽에서 내부 접근 포트(80, 443)를 막은 경우.
  • 외부 보안 서비스: 클라우드플레어 등을 사용하면서 서버 본체의 IP를 허용 목록에 넣지 않은 경우.
  • 정체성 혼란: 서버가 본인의 도메인(qcai.kr)이 자기 자신(127.0.0.1)인 것을 모르고 자꾸 외부로 물어보러 나갈 때.

2. 해결 방법 (단계별로 따라 하기)

Step 1. 서버에게 자기 자신을 알려주기 (/etc/hosts)

서버가 qcai.kr을 찾을 때 외부 DNS를 거치지 않고 바로 내부로 연결되게 설정하는 가장 확실한 방법입니다.

  1. 터미널에서 명령어를 입력합니다.
  2. sudo nano /etc/hosts
  3. 127.0.0.1 localhost 바로 아래 줄에 내 도메인을 추가합니다.
  4. 127.0.0.1 localhost 127.0.0.1 example.kr www.example.kr
  5. Ctrl+O, Enter(저장), Ctrl+X(나가기)로 완료합니다.

Step 2. 고유주소 재설정 (REST API 경로 갱신)

403 오류는 권한이나 경로 문제일 때가 많습니다. 단순한 클릭 한 번으로 풀릴 때가 있어요.

  • 워드프레스 관리자: [설정] – [고유주소] 메뉴로 이동합니다.
  • 다른 것은 건드리지 말고 하단의 [변경사항 저장] 버튼을 한 번 눌러줍니다.

Step 3. 보안 플러그인 화이트리스트 등록

만약 보안 플러그인을 사용 중이라면, 설정 메뉴 내에서 “Loopback” 또는 “Server IP” 차단 옵션을 확인하세요. 서버 본체의 공인 IP를 화이트리스트(허용 목록)에 추가해야 차단당하지 않습니다.

3. 적용 과정: 301 리다이렉트와 SSL 문제 해결

만약 터미널에서 curl -I http://example.kr을 쳤는데 301 Moved Permanently가 뜬다면, 서버가 “보안을 위해 HTTPS로 가!”라고 아주 정상적으로 안내하고 있는 것입니다. 하지만 워드프레스는 이를 ‘요청 실패’로 오해할 수 있습니다.

해결을 위한 필살기 코드 추가

이 루프백 에러 때문에 글 저장이 안 되거나 페이지 캐시 감지가 안 된다면, wp-config.php 파일에 아래 코드를 추가해 보세요.

// 루프백 요청 시 내부 SSL 인증서 검사를 건너뜁니다.
add_filter( 'https_local_ssl_verify', '__return_false' );

주의: 이 코드는 파일 맨 아래가 아니라 /* That’s all, stop editing! Happy publishing. */ 윗부분에 넣으셔야 작동합니다.

4. 페이지 캐시가 안 보이는 진짜 이유

지난번에 설치한 Redis Object Cache와 Page Cache는 역할이 다릅니다.

  • Object Cache (Redis): 요리에 필요한 ‘재료(DB 데이터)’를 미리 준비해두는 것.
  • Page Cache: 이미 완성된 ‘요리(HTML 페이지)’를 통째로 보관하는 것.

지금 경고는 “완성된 요리를 저장하는 플러그인(WP Super Cache 등)이 없거나, 루프백 에러 때문에 감지가 안 된다”는 뜻입니다. 루프백 문제를 먼저 해결하면 대부분의 성능 경고도 함께 해결됩니다!

5. 추천하는 워드프레스 페이지 캐시 플러그인

지금 제자님 서버 환경(Linux + Redis)이라면 아래 플러그인 중 하나를 추가로 설치하는 것이 좋습니다.

  • WP Super Cache: 설정이 쉽고 가벼워서 가장 대중적입니다.
  • W3 Total Cache: 기능이 아주 많고 강력하지만, 설정이 조금 복잡할 수 있습니다.
  • WP Rocket (유료): “그냥 알아서 다 해줬으면 좋겠다” 싶을 때 최고의 선택입니다.

워드프레스 캐시란 무엇인가요?

워드프레스 캐시는 한 번 생성된 페이지를 저장해두었다가 재사용하는 기능입니다. 특히 페이지 캐시는 완성된 HTML 파일을 보관해 두고, 방문자가 접속할 때마다 새로 만들지 않고 바로 보여주는 방식입니다.

왜 워드프레스 캐시가 필요한가요?

사용자가 접속할 때마다 PHP 실행, 데이터베이스 조회, 테마 적용 과정을 반복하면 서버에 큰 부담이 생깁니다. 워드프레스 캐시는 이 과정을 줄여 서버 부하를 낮추고 속도를 개선해 줍니다.

워드프레스 캐시의 장점은 무엇인가요?

페이지 로딩 속도가 빨라지고 서버 자원을 효율적으로 사용할 수 있습니다. 특히 방문자가 많아질수록 사이트 안정성과 성능을 유지하는 데 중요한 역할을 합니다.

댓글 남기기