# 사이트 캐싱

Source: https://support.kapsulehost.com/ko-kr/site-cache

캐싱은 WordPress 사이트에서 얻을 수 있는 가장 큰 단일 속도 개선 요소입니다. 전체 페이지 캐싱은 PHP를 전혀 실행하지 않고 완성된 HTML을 제공하며, 객체 캐싱은 데이터베이스 결과를 메모리에 유지합니다. 이 가이드는 두 가지 모두와 자동으로 캐시를 우회하는 항목, 그리고 캐시를 비우고 사용하는 방법을 다룹니다.

## KPanel에서 캐싱을 찾는 위치

1. [KPanel](https://kpanel.kapsulehost.com)에 로그인합니다.
2. 왼쪽 사이드바에서 **웹사이트**를 클릭한 다음 사이트를 클릭합니다.
3. 사이트의 왼쪽 메뉴에서 **WordPress**를 연 다음 **캐싱**을 엽니다.

직접 주소는 `/websites/<site-id>/cache`입니다.

![KPanel의 사이트 캐싱 설정](https://support.kapsulehost.com/help/screenshots/site-cache.ebc987e4.webp)

> **Note:** **WordPress** 그룹은 WordPress 및 WooCommerce 사이트에만 표시됩니다. 여기서 캐싱은 플랜 권한 사항입니다. 전체 페이지 캐싱과 객체 캐시는 Managed WordPress에 포함되어 있습니다. 다른 플랜에서는 이 페이지에 컨트롤 대신 사용 가능한 항목을 설명하는 업그레이드 패널이 표시됩니다.

## 전체 페이지 캐시

전체 페이지 캐싱은 페이지의 완성된 HTML을 저장해 다음 방문자에게 바로 제공합니다. 익명 방문자의 경우 이는 PHP 실행도, 데이터베이스 쿼리도 전혀 없다는 뜻입니다. 요청은 WordPress가 로드되기도 전에 응답됩니다.

카드에는 **On** 또는 **Off** 알약 모양 표시가 나타나며, 켜져 있을 때는 활성화된 날짜, 라우팅 확인 여부, 캐시 수명이 함께 표시됩니다.

활성화하려면 **전체 페이지 캐시 활성화**를 클릭합니다. 다시 끄려면 **Disable**을 클릭합니다.

게시물을 발행하거나 업데이트하면 캐시가 자동으로 지워지므로, 수명이 만료되기를 기다리지 않고 변경 사항이 즉시 반영됩니다.

> **Tip:** 사이트가 주로 익명 방문자에게 읽히는 경우, 이는 페이지에서 가장 가치 있는 스위치입니다. WordPress 요청에서 느린 부분이 더 이상 발생하지 않기 때문에, 첫 바이트까지의 시간이 자릿수 단위로 차이 나는 일이 흔합니다.

## 비우기와 사용하기

전체 페이지 캐싱이 켜지면 두 가지 작업이 나타납니다.

**캐시 비우기**는 캐시를 즉시 비웁니다. WordPress가 게시물 업데이트로 취급하지 않는 변경, 즉 테마 파일 수정, 위젯 변경, 메뉴 업데이트, 출력에 영향을 주는 플러그인 설정 변경 후에 사용하세요. 각 페이지의 다음 방문자는 새 사본을 받게 됩니다.

**캐시 사용**은 방문자가 요청하기 전에 미리 페이지를 가져와 캐시해 둡니다. 사용 후에는 배너에 전체 중 몇 페이지가 미리 캐시되었는지와 처음 몇 개 URL이 표시됩니다.

디자인 변경 후의 자연스러운 순서는 비우기, 그다음 사용입니다. 그렇게 하면 캐시되지 않은 첫 렌더링 비용을 치르는 불운한 방문자가 생기지 않습니다.

사이트 앞단의 별도 계층인 에지 캐시에 대해서는 [CDN 캐시 비우기](https://support.kapsulehost.com/ko-kr/cdn-cache-purge)를 참고하세요.

## 절대 캐시되지 않는 항목

일부 URL은 출력이 방문자마다 다르거나 부작용이 있기 때문에 항상 PHP를 실행해야 합니다. 이러한 경로는 자동으로 우회되며 별도로 설정할 필요가 없습니다.

| 경로 | 이유 |
|---|---|
| `/wp-admin/` | WordPress 관리자는 항상 동적입니다 |
| `/wp-login.php` | 로그인 페이지는 절대 캐시되지 않습니다 |
| `/cart/` | WooCommerce 장바구니는 방문자별로 다릅니다 |
| `/checkout/` | WooCommerce 결제는 방문자별로 다릅니다 |
| `/my-account/` | WooCommerce 계정 페이지는 방문자별로 다릅니다 |
| `/wp-cron.php` | 예약된 작업은 실제로 실행되어야 합니다 |
| `/?wc-ajax=*` | WooCommerce AJAX 엔드포인트 |

경로 규칙 외에도 쿠키가 중요합니다. 로그인한 WordPress 사용자나 활성 WooCommerce 세션 쿠키가 있는 방문자는, 다른 모든 사람에게는 캐시되는 페이지라 하더라도 항상 동적 응답을 받습니다. 그래서 상점 주인이 자신의 사이트를 둘러볼 때는 그 이점을 전혀 체감하지 못하는 반면 익명 방문자는 체감하는 경우가 많습니다.

> **Warning:** 보통 로그인되어 있는 상태이기 때문에 일반 브라우저에서 캐시 동작을 테스트하면 오해하기 쉽습니다. 사생활 보호 창이나 로그인하지 않은 브라우저에서 테스트하세요.

## 객체 캐시

객체 캐시는 다른 계층입니다. 완성된 페이지를 저장하는 대신, 데이터베이스 쿼리 결과와 WordPress 트랜지언트를 메모리에 유지해 반복 작업이 반복되지 않도록 합니다.

카드에는 **On** 또는 **Off** 알약 모양 표시가 나타나며, 켜져 있을 때는 활성화된 날짜가 함께 표시됩니다. 변경하려면 **켜기**와 **끄기**를 사용하세요.

객체 캐싱은 전체 페이지 캐싱이 할 수 없는 바로 그 지점, 즉 로그인한 사용자, 관리자 화면, 장바구니나 결제 같은 방문자별 페이지에서 도움이 됩니다. 그래서 트래픽 상당 부분이 인증된 상태라 페이지 캐시가 전혀 적용되지 않는 바쁜 쇼핑몰과 멤버십 사이트에 특히 가치가 있습니다.

둘을 함께 실행하는 것이 일반적인 구성입니다. 전체 페이지 캐싱은 익명 트래픽을 처리하고, 객체 캐시는 어차피 PHP를 실행해야 하는 모든 것을 가속합니다.

## 무엇을 활성화할지 선택하기

- **콘텐츠 사이트, 주로 익명 독자.** 전체 페이지 캐싱이 우선입니다. 객체 캐싱은 그 위에 더 작은 개선을 더합니다.
- **WooCommerce 스토어.** 둘 다 활성화하세요. 전체 페이지 캐싱은 둘러보는 방문자를 위한 상품 및 카테고리 페이지를 여전히 처리하고, 객체 캐시는 절대 캐시될 수 없는 장바구니, 결제, 계정 페이지를 담당합니다.
- **거의 모든 사용자가 로그인하는 멤버십 또는 커뮤니티 사이트.** 대부분의 요청이 설계상 페이지 캐시를 우회하므로 객체 캐싱이 주된 역할을 합니다.

## 문제 해결

**사이트를 업데이트했는데 방문자에게 여전히 이전 버전이 보입니다.** 캐시를 비우고 다시 사용하세요. 그래도 오래된 내용이 보인다면 에지 캐시도 있을 수 있다는 점을 기억하세요. [CDN 캐시 비우기](https://support.kapsulehost.com/ko-kr/cdn-cache-purge)를 참고하세요.

**캐싱이 저에게는 아무 효과가 없습니다.** 거의 확실히 로그인되어 있는 상태입니다. 사생활 보호 창에서 확인해 보세요.

**장바구니나 양식이 익명 방문자에게 이상하게 동작합니다.** 표준 커머스 경로는 자동으로 우회되지만, 비표준 URL에 있는 사용자 정의 또는 플러그인 제공 동적 페이지는 그렇지 않습니다. 절대 캐시되면 안 되는 페이지가 우회 목록에 없다면 지원팀에 알려서 규칙을 검토할 가치가 있습니다.

**카드에 캐싱이 Managed WordPress에 포함되어 있다고 표시됩니다.** 현재 플랜에는 포함되어 있지 않습니다. 배너에서 플랜 페이지로 연결됩니다.

**라우팅 확인 보류 중.** 캐시가 활성화되었지만 라우팅 확인이 아직 완료되지 않았습니다. 잠시 기다렸다가 새로고침하세요.

**페이지에 잘못된 개인화 콘텐츠가 표시됩니다.** 개인화된 모든 항목은 페이지 캐시에서 제외하거나 클라이언트 측에서 렌더링해야 합니다. 플러그인이 세션 쿠키를 설정하지 않은 채 캐시 가능한 URL에서 출력을 개인화하면, 페이지 캐시는 이를 알 수 없습니다. 사생활 보호 창에서 테스트하고 발견하면 지원팀에 알려주세요.

## 관련 페이지

- [사이트 성능 및 APM](https://support.kapsulehost.com/ko-kr/site-performance): 캐싱이 실제로 도움이 되었는지 측정하기 위해.
- [사이트 트래픽 분석](https://support.kapsulehost.com/ko-kr/site-analytics): 에지 캐시 적중률 확인용.
- [CDN 활성화](https://support.kapsulehost.com/ko-kr/cdn-enabling): 이 모든 것 앞에 에지 캐시를 추가하기 위해.
- [백업하기](https://support.kapsulehost.com/ko-kr/taking-a-backup): 실 운영 사이트에 더 큰 변경을 하기 전에.
