목차
- Cron 최적화가 왜 중요한가
- 워드프레스 Cron 동작 방식 이해
- 현재 Cron 최적화 상태 점검
- 기본 WP-Cron 비활성화와 실제 Cron 설정
- 불필요 Cron 작업 정리와 최적화
- 호스팅별 Cron 최적화 팁
- 모니터링과 문제 해결
- 정리 및 적용 우선순위
Cron 최적화가 왜 중요한가
Cron 최적화는 워드프레스 속도최적화에서 자주 놓치는 핵심 영역입니다. 방문자 수가 늘어나면 예약 발행, 백업, 자동 이메일 같은 Cron 작업이 겹치며 페이지 로딩이 느려지고, 관리자 화면까지 버벅이기 쉽습니다.

특히 쇼핑몰, 예약 사이트처럼 트래픽이 꾸준한 사이트는 WP-Cron 설정 하나만 잘 손봐도 TTFB(Time To First Byte)가 눈에 띄게 줄어드는 경우가 많습니다. 아래 단계별 체크리스트를 따라가며 안전하게 Cron 최적화를 진행해 보세요.
워드프레스 Cron 동작 방식 이해
WP-Cron은 진짜 Cron이 아니다
워드프레스의 WP-Cron은 리눅스 시스템의 실제 Cron과 다르게, 사용자가 페이지를 열 때마다 “지금 실행해야 할 예약 작업이 있는지”를 확인하는 방식입니다. 즉, 방문이 있을 때만 예약 작업이 실행됩니다.
트래픽이 많으면 요청마다 Cron 체크가 붙고, 트래픽이 적으면 예약 작업이 제때 실행되지 않는 문제가 발생합니다. Cron 최적화의 핵심은 이 비효율적인 체크를 줄이고, 실제 서버 Cron으로 넘기는 것입니다.
대표적인 Cron 작업 종류
- 예약 포스트 발행 및 예약 삭제
- 캐시 플러그인 만료/프리로드 작업
- 백업 플러그인의 스케줄 작업
- WooCommerce, LMS 등 이메일 및 리포트 전송
- SEO/통계 플러그인의 데이터 수집
이 중 상당수는 분 단위로 돌아갈 필요가 없습니다. Cron 최적화를 통해 주기와 필요성을 다시 설계하면 속도와 안정성이 동시에 개선됩니다.
현재 Cron 최적화 상태 점검
Cron 작업 수와 주기 확인
먼저 현재 사이트의 Cron 작업이 얼마나 쌓여 있는지 확인합니다. WP Crontrol 같은 플러그인을 활용하면 인터페이스로 확인하기 편합니다.
- 대시보드 > 도구 > Cron 이벤트 메뉴에서 전체 작업 수, 주기, 훅 이름을 확인
- 분 단위로 반복되는 작업이 유난히 많은지 체크
- 이미 삭제한 플러그인 관련 훅이 남아 있는지 확인
이미지나 캐시 관련 훅이 초 단위, 분 단위로 계속 반복된다면 Cron 최적화 대상입니다.
실행 지연 및 오류 확인
같은 도구에서 Next Run 시간이 오래 지연된 이벤트는 서버 리소스가 부족하거나 Cron 충돌이 있을 수 있다는 신호입니다. 오류가 있는 훅은 비활성화하거나 원인 플러그인을 점검해야 합니다.
기본 WP-Cron 비활성화와 실제 Cron 설정
1단계: wp-config.php에서 WP-Cron 끄기
Cron 최적화의 첫 번째 단계는 wp-cron.php가 매 요청마다 실행되는 것을 막는 것입니다. wp-config.php에 아래 한 줄을 추가합니다.
define('DISABLE_WP_CRON', true);
이 코드는 “That’s all, stop editing!” 주석 상단에 넣는 것이 일반적입니다. 적용 후에는 사이트가 실제 Cron에만 의존하게 되므로, 다음 단계 설정을 바로 이어서 진행해야 합니다.
2단계: 서버 실제 Cron 설정하기
이제 서버의 실제 Cron에 wp-cron.php를 호출하는 작업을 추가합니다. 리눅스 SSH 환경이라면 다음과 같이 설정할 수 있습니다.
*/5 * * * * php /home/USER/public_html/wp-cron.php > /dev/null 2>&1
의미:
- */5 *: 5분마다 실행
- php …/wp-cron.php: 워드프레스 Cron 실행
- > /dev/null: 출력 로그는 버림 (디스크 사용 방지)
공유호스팅이라면 cPanel, Plesk 등에서 GUI로 비슷한 주기 설정이 가능합니다. 보통 5~10분 간격이면 대부분의 워드프레스 사이트에 충분합니다.
불필요 Cron 작업 정리와 최적화
Cron 최적화 기준 세우기
Cron 최적화는 단순 삭제보다 주기 조정과 업무 분리가 중요합니다. 다음 기준으로 작업을 나눠 보세요.
- 필수 실시간: 주문 처리, 결제 상태 동기화 등 (5분 이하)
- 지연 허용: 통계, 리포트, 이메일 마케팅 (15~60분)
- 야간 배치: 대용량 백업, 대량 이메일, 로그 정리 (하루 1회, 새벽)
같은 플러그인이라도 작업 종류별로 주기를 나누면 전체 서버 부하가 크게 줄어듭니다.
플러그인별 Cron 작업 줄이기
많이 쓰는 플러그인일수록 Cron 최적화 옵션이 숨어 있는 경우가 많습니다.
- 캐시 플러그인: 프리로드, 캐시 제거 주기 조정 (너무 짧은 주기 금지)
- 백업 플러그인: 실시간 백업 대신 하루 1~2회로 변경
- 통계/SEO: 실시간 수집 옵션을 끄고, Cron 주기를 늘리기
- WooCommerce: 이메일 알림, 리포트 생성 주기를 일괄 통제
플러그인을 삭제했는데도 Cron 훅이 남아 있다면, WP Crontrol에서 해당 이벤트를 수동 삭제해 정리합니다.
Cron 훅 이름으로 병목 찾기
Cron 최적화 시 훅 이름만 보고도 병목을 짐작할 수 있습니다. 예를 들어, image_regeneration, backup_*, report_* 같은 훅이 짧은 주기로 반복된다면 우선 점검 대상입니다.
이벤트를 바로 삭제하기 전에, 어떤 플러그인에서 생성했는지 확인하고 설정 화면에서 주기를 조정하는 것을 우선 권장합니다.
호스팅별 Cron 최적화 팁
공유호스팅(국내/해외)
- Cron 호출 간격은 10~15분 이상으로 설정 (호스팅 정책 위반 방지)
- 대용량 백업은 야간, 심야 시간대로 제한
- 중복 백업 플러그인(2개 이상) 사용 금지
일부 국내 호스팅은 wget으로 URL 호출만 허용하기도 합니다. 이 경우:
*/10 * * * * wget -q -O - https://example.com/wp-cron.php?doing_wp_cron > /dev/null 2>&1
VPS / 클라우드 서버
- 5분 또는 3분 간격까지 줄여도 무방 (리소스 여유가 있다면)
- 백업, 이미지 처리, 로그 정리 등 배치를 시스템 Cron으로 분리
- 여러 사이트를 한 서버에서 운영한다면 Cron 시간대를 분산
서버 한 대에 워드프레스가 여러 개라면, 모든 사이트가 정각에 동시에 Cron을 돌지 않도록 2분, 4분, 7분 등 서로 다른 분 간격으로 분산 설정하는 것이 Cron 최적화에 큰 도움이 됩니다.
모니터링과 문제 해결
서버 부하와 응답 속도 모니터링
Cron 최적화 후에는 실제 효과를 수치로 확인해야 합니다. 다음 요소를 체크해 보세요.
- 평균 CPU 사용률, 메모리 사용률 변화
- 워드프레스 응답 시간(TTFB) 변화
- 예약 포스트 오발행/지연 여부
간단한 모니터링 도구로는 GTmetrix, Pingdom, 호스팅 제공 모니터링 등이 있습니다. 워드프레스 내에서는 Query Monitor로 느린 요청을 확인할 수도 있습니다.
예약 포스트가 발행되지 않을 때
Cron 최적화 후 예약 포스트가 발행되지 않는다면 다음을 다시 점검합니다.
DISABLE_WP_CRON정의 여부 확인- 실제 서버 Cron에서
wp-cron.php가 올바른 경로로 지정되었는지 확인 - 보안 플러그인/방화벽이 Cron 호출을 차단하지 않는지 확인
문제를 일시적으로 진단하고 싶다면, DISABLE_WP_CRON을 주석 처리해 WP-Cron을 다시 살려보고 예약 포스트가 정상 발행되는지 비교해 볼 수 있습니다.
정리 및 적용 우선순위
Cron 최적화는 코어 파일 수정보다 안전하면서도 체감 효과가 큰 속도최적화 작업입니다. 특히 트래픽이 꾸준한 서비스형 사이트일수록 우선순위를 높게 두는 것이 좋습니다.
- WP Crontrol 등으로 현재 Cron 작업 현황을 먼저 파악한다.
DISABLE_WP_CRON설정 후 실제 서버 Cron을 5~10분 간격으로 등록한다.- 플러그인별 Cron 주기를 재설계하고, 불필요한 작업을 비활성화한다.
- 모니터링 도구로 서버 부하, 예약 작업 상태를 1~2주간 관찰한다.
워드프레스 속도최적화와 관련된 다른 항목(캐시, DB, 이미지 등)이 궁금하다면 내부 가이드인 워드프레스 속도 최적화 체크리스트도 함께 참고해 보세요. Cron 최적화와 조합하면 보다 안정적인 성능을 얻을 수 있습니다.
