SJSBiz SJSBiz

워드프레스 WP-Cron 최적화|예약 작업 지연 해결 방법

읽는 시간 약 9분
(adsbygoogle = window.adsbygoogle || []).push({});
image 18

워드프레스에서 예약한 글이 제시간에 발행되지 않거나 백업과 이메일 작업이 늦게 실행된다면 WP-Cron 상태를 점검할 필요가 있습니다.

WP-Cron은 서버에서 항상 실행되는 일반적인 Cron과 다르게 방문자가 사이트를 열 때 예약된 작업을 확인합니다. 방문자가 적은 사이트에서는 작업이 예정된 시간보다 늦게 실행될 수 있고, 방문량이 많은 사이트에서는 불필요한 확인 요청이 반복될 수 있습니다.

다만 일반적인 블로그라면 WP-Cron을 반드시 변경할 필요는 없습니다. 예약 작업이 많거나 실제 지연이 발생할 때만 시스템 Cron 전환을 검토하는 것이 좋습니다.

30초 요약

  • WP-Cron은 방문 요청을 이용해 예약 작업을 확인합니다.
  • 방문자가 적으면 예약 글과 백업이 늦게 실행될 수 있습니다.
  • 예약 작업이 많으면 서버 사용량이 증가할 수 있습니다.
  • 시스템 Cron은 정해진 간격으로 작업을 실행합니다.
  • 대체 실행 방법을 만들기 전에 WP-Cron부터 끄면 안 됩니다.
  • 적용 후 예약 글, 백업, 이메일과 업데이트를 테스트합니다.

WP-Cron에서 처리하는 작업

워드프레스와 플러그인은 WP-Cron을 이용해 다음과 같은 작업을 처리합니다.

  • 예약 글 발행
  • 워드프레스와 플러그인 업데이트 확인
  • 임시 데이터와 휴지통 정리
  • 자동 백업과 보안 검사
  • 이메일 알림과 뉴스레터 전송
  • 쇼핑몰 주문 관련 예약 작업
  • 통계 및 데이터 동기화

따라서 WP-Cron을 잘못 비활성화하면 사이트 화면은 정상적으로 보이더라도 내부 예약 작업이 멈출 수 있습니다.

WP-Cron과 시스템 Cron 차이

image 19
비교 항목WP-Cron시스템 Cron
실행 기준방문 요청이 발생할 때 확인서버가 정해진 시간에 실행
방문자가 적은 사이트작업이 지연될 수 있음방문 여부와 관계없이 실행
방문자가 많은 사이트확인 요청이 자주 발생할 수 있음설정한 간격만 실행
설정 난이도워드프레스 기본 기능호스팅 또는 서버 설정 필요
실행 정확성정확한 시간을 보장하지 않음비교적 일정한 간격으로 실행
추천 대상일반적인 소규모 사이트예약 작업이 많거나 지연되는 사이트

워드프레스 공식 문서에 따르면 WP-Cron은 계속 실행되는 서비스가 아니며 페이지 요청이 발생할 때 예약된 작업을 확인합니다. 방문자가 없으면 예정된 시간이 지난 뒤 다음 방문 시 실행될 수 있습니다. WordPress WP-Cron 안내

WP-Cron 문제가 의심되는 증상

예약한 글이 ‘예약을 놓침’ 상태로 표시되거나 백업 플러그인이 정해진 시간에 실행되지 않는다면 WP-Cron을 확인해야 합니다.

관리자 이메일이 늦게 도착하고 임시 데이터가 쌓이거나 사이트 건강 상태에서 예약 이벤트 오류가 표시되는 경우도 있습니다.

특정 플러그인을 설치한 뒤 예약 이벤트가 지나치게 많아졌다면 삭제된 플러그인의 작업이 남아 있는지 확인해야 합니다. 일부 플러그인은 비활성화될 때 등록했던 이벤트를 제대로 정리하지 않을 수 있습니다.

예약 이벤트 확인 방법

워드프레스 관리자 화면의 ‘도구 → 사이트 건강 → 상태’에서 예약 이벤트 관련 오류가 있는지 확인합니다.

서버 명령을 사용할 수 있다면 WP-CLI의 다음 기능으로 이벤트를 확인할 수 있습니다.

  • 예약된 이벤트 목록 확인
  • 다음 실행시간 확인
  • 실행 대기 중인 이벤트 확인
  • 특정 이벤트 수동 실행

서버 명령 사용이 어렵다면 예약 이벤트를 확인할 수 있는 관리 플러그인을 사용할 수 있습니다. 출처를 알 수 없는 이벤트를 바로 삭제하지 말고 이벤트 이름과 연결된 플러그인을 먼저 확인하세요.

공식적인 확인 방법은 WordPress WP-Cron 테스트 안내에서 확인할 수 있습니다.

시스템 Cron으로 변경하는 순서

image 20

1. 사이트를 백업한다

워드프레스 파일과 데이터베이스를 먼저 백업합니다. 예약 작업 설정에 문제가 생겼을 때 기존 상태로 복원할 수 있어야 합니다.

2. 현재 이벤트를 확인한다

예약 글, 백업, 보안 검사와 이메일처럼 중요한 이벤트의 이름과 다음 실행시간을 기록합니다.

3. 호스팅의 Cron 기능을 확인한다

공유 호스팅은 제어판에서 Cron Job 기능을 제공하기도 합니다. 지원하지 않는 상품도 있으므로 고객센터 또는 관리 화면에서 확인해야 합니다.

4. 시스템 Cron을 먼저 등록한다

서버가 일정한 간격으로 워드프레스의 wp-cron.php를 실행하도록 등록합니다. 일반적인 사이트는 5분에서 15분 간격으로 시작할 수 있지만 예약 작업의 중요도와 호스팅 제한에 따라 조절해야 합니다.

(adsbygoogle = window.adsbygoogle || []).push({});

5. 실행 여부를 확인한다

시스템 Cron이 실제로 작동하는지 확인합니다. 예약 글을 만들어 발행시간을 지정하고 백업 또는 테스트 이벤트도 정상적으로 실행되는지 살펴봅니다.

6. 기본 WP-Cron을 비활성화한다

대체 Cron이 정상적으로 실행되는 것을 확인한 뒤 wp-config.php에 다음 설정을 추가합니다.

define( 'DISABLE_WP_CRON', true );

이 설정은 WP-Cron 작업 자체를 삭제하는 것이 아니라 방문 요청을 이용한 자동 실행을 중단합니다. 시스템 Cron을 먼저 설정하지 않고 이 값을 추가하면 예약 작업이 멈출 수 있습니다.

WordPress에서 안내하는 시스템 작업 스케줄러 연결 방법은 시스템 Cron 연결 공식 문서를 참고할 수 있습니다.

실행 간격은 얼마나 좋을까?

사이트 유형시작 간격확인할 내용
일반 블로그10~15분예약 글과 업데이트
예약 발행이 많은 사이트5분게시 시간 지연
쇼핑몰·회원 사이트1~5분주문과 이메일 작업
방문이 적은 개인 사이트15~30분백업과 예약 글
서버 자원이 부족한 사이트15분 이상CPU와 메모리 사용량

위 간격은 절대적인 기준이 아닙니다. 플러그인이 요구하는 실행 주기와 호스팅 정책을 먼저 확인해야 합니다. 너무 짧은 간격은 서버 부하를 늘리고, 너무 긴 간격은 작업을 지연시킬 수 있습니다.

변경 후 확인할 항목

시스템 Cron 적용 후에는 다음 항목을 점검합니다.

  • 예약 글이 설정한 시간에 발행되는지 확인
  • 자동 백업이 정상적으로 완료되는지 확인
  • 워드프레스 관리자 이메일 수신 확인
  • 보안 검사와 통계 수집 확인
  • 쇼핑몰 주문 및 결제 후속 작업 확인
  • 사이트 건강의 예약 이벤트 오류 확인
  • 서버 CPU와 오류 로그 확인

사이트 화면만 열어보고 정상이라고 판단하면 안 됩니다. Cron은 화면 뒤에서 실행되는 작업이므로 최소 하루 정도 주요 예약 기능을 관찰하는 것이 좋습니다.

TIP

WP-Cron은 모든 사이트에서 제거해야 하는 기능이 아닙니다. 워드프레스 공식 성능 문서도 일반적인 환경에서는 적은 자원으로 작동하며 필요한 경우에만 대체 방식을 검토하도록 안내합니다.

예약 작업 지연이나 서버 부하가 확인되지 않는 소규모 블로그라면 기본 WP-Cron을 그대로 사용해도 됩니다. 속도 점수만 높이기 위해 무조건 비활성화하지 마세요.

자주 묻는 질문

WP-Cron을 끄면 예약 글이 발행되지 않나요?

시스템 Cron 같은 대체 실행 방법이 없다면 예약 글과 자동 작업이 실행되지 않을 수 있습니다. 반드시 대체 Cron을 먼저 등록해야 합니다.

시스템 Cron은 반드시 1분마다 실행해야 하나요?

아닙니다. 일반 블로그는 5~15분 간격으로도 충분할 수 있습니다. 사이트의 예약 작업과 호스팅 제한에 맞춰 설정하세요.

공유 호스팅에서도 사용할 수 있나요?

호스팅 업체에서 Cron Job 기능을 제공하면 사용할 수 있습니다. 관리 화면에 기능이 없다면 고객센터에 문의해야 합니다.

예약을 놓침 오류는 Cron 문제인가요?

WP-Cron 실행 지연이 원인일 수 있지만 캐시, 플러그인 충돌, 서버 연결 오류나 잘못된 시간대 설정도 확인해야 합니다.

마무리

WP-Cron은 예약 글, 업데이트, 백업과 이메일처럼 워드프레스의 자동 작업을 처리하는 중요한 기능입니다.

방문자가 적어 작업이 늦거나 예약 이벤트가 지나치게 많아 서버 부하가 발생한다면 시스템 Cron 전환을 검토할 수 있습니다. 작업 전 백업하고 시스템 Cron이 정상적으로 실행되는 것을 확인한 뒤 기본 WP-Cron을 비활성화하세요.

(adsbygoogle = window.adsbygoogle || []).push({});
깨비

함께 보면 좋은 글

댓글 0

첫 댓글을 남겨보세요.

error: Content is protected !!
광고보고 콘텐츠 계속 읽기
원치않으시면 뒤로가기를 해주세요

광고 차단 알림

광고 클릭 제한을 초과하여 광고가 차단되었습니다.

단시간에 반복적인 광고 클릭은 시스템에 의해 감지되며, IP가 수집되어 사이트 관리자가 확인 가능합니다.

광고보고 콘텐츠 계속 읽기
원치않으시면 뒤로가기를 해주세요