워드프레스 예약 발행 실패|WP-Cron 지연 원인 점검 순서
워드프레스 예약 발행 실패가 반복되면 글의 예약 시각만 다시 입력하기보다 WP-Cron이 실행되는 조건부터 확인해야 합니다. WP-Cron은 서버의 전통적인 cron처럼 계속 실행되는 기능이 아니라 페이지가 열릴 때 만료된 작업을 확인합니다. 방문이 적거나 캐시·보안 설정이 요청을 막으면 예약 글이 늦게 발행될 수 있습니다.
먼저 증상을 구분하세요
| 증상 | 가능한 원인 | 먼저 확인 |
|---|---|---|
| 가끔 몇 분 늦게 발행 | 방문이 적어 WP-Cron 호출 지연 | 예약 시각과 첫 방문 시각 |
| 예약 실패가 계속 누적 | WP-Cron 비활성화·루프백 차단 | 사이트 건강과 설정 파일 |
| 특정 플러그인 작업만 실패 | 이벤트 오류·충돌 | 예약 작업 목록과 오류 로그 |
| 서버 cron 설정 후 중복 실행 | 호출 방식 중복 | 서버 cron과 기본 WP-Cron 구성 |
1. 예약 시간과 시간대 확인
설정 → 일반에서 사이트 시간대가 실제 운영 지역과 맞는지 확인합니다. UTC 오프셋보다 ‘서울’처럼 도시 기반 시간대를 선택하면 일광 절약 시간제를 사용하는 지역에서도 관리하기 쉽습니다. 글 편집 화면의 예약 날짜가 과거 또는 다른 시간대로 입력되지 않았는지도 확인하세요.
2. WP-Cron 동작 원리 이해
WordPress 공식 문서에 따르면 WP-Cron은 페이지가 로드될 때 예약 작업 목록을 확인해 실행합니다. 예를 들어 오후 2시 작업이 있어도 다음 페이지 요청이 오후 5시에 들어오면 그때 실행될 수 있습니다. 따라서 트래픽이 거의 없는 사이트에서는 지연이 오류가 아니라 구조적인 동작일 수 있습니다.
TIP 예약 실패 시 글을 바로 다시 예약하기 전에 사이트 건강, 캐시, 보안 플러그인, 서버 로그의 같은 시각 기록을 함께 남기세요.

3. 사이트 건강과 루프백 요청 점검
도구 → 사이트 건강에서 예약 이벤트 지연이나 루프백 요청 실패 관련 항목이 있는지 확인합니다. 루프백 요청은 사이트가 자기 주소로 요청을 보내는 과정이며, 기본 인증·방화벽·보안 플러그인·DNS 문제로 차단될 수 있습니다. 경고 문구와 발생 시각을 기록한 뒤 최근 변경한 플러그인이나 보안 규칙부터 비교하세요.
4. WP-Cron 비활성화 설정 확인
wp-config.php에 DISABLE_WP_CRON이 true로 설정돼 있다면 기본 페이지 요청으로 WP-Cron이 실행되지 않습니다. 이 설정은 서버의 실제 cron으로 wp-cron.php를 정기 호출할 때 주로 사용합니다. 서버 cron이 없는 상태에서 이 값만 활성화하면 예약 작업이 멈출 수 있습니다.
설정 파일 수정은 사이트 전체에 영향을 줄 수 있으므로 백업과 복구 방법을 준비하고, 호스팅 관리 화면에서 실제 cron 작업이 존재하는지 먼저 확인하세요. 서버 관리 권한이 없다면 호스팅 업체에 호출 주기와 차단 여부를 문의하는 편이 안전합니다.

5. 캐시·보안 설정을 하나씩 비교
- 예약 실패가 시작된 날짜를 확인합니다.
- 같은 시기에 업데이트한 캐시·보안 플러그인을 기록합니다.
- 관리자에서 제공하는 안전 모드나 스테이징 환경에서 재현합니다.
- 방화벽에서 wp-cron.php 또는 루프백 요청 차단 기록을 확인합니다.
- 원인을 확인한 뒤 최소 범위만 예외 처리합니다.
하면 안 되는 조치
- 원인 확인 없이 wp-cron.php를 외부에 무제한 허용하기
- 기본 WP-Cron과 서버 cron을 짧은 간격으로 중복 호출하기
- 운영 사이트에서 플러그인을 여러 개 동시에 비활성화하기
- 백업 없이 wp-config.php를 수정하기
자주 묻는 질문
방문자가 없으면 예약 글이 절대 발행되지 않나요?
기본 WP-Cron만 사용하고 페이지 요청이 전혀 없다면 실행이 지연될 수 있습니다. 서버 cron을 구성하면 방문과 분리할 수 있지만 호스팅 환경과 호출 간격을 확인해야 합니다.
서버 cron은 몇 분마다 실행해야 하나요?
사이트의 예약 정확도와 서버 자원에 따라 달라집니다. 무조건 짧게 설정하기보다 호스팅 정책, 작업 수, 실제 지연 허용 범위를 기준으로 결정하세요.
마무리
워드프레스 예약 발행 실패는 시간대, WP-Cron 호출 조건, 사이트 건강, 비활성화 설정, 캐시·보안 차단 순서로 확인하면 원인을 좁히기 쉽습니다. 운영 사이트를 바로 변경하지 말고 로그와 스테이징 환경으로 검증한 뒤 최소한만 수정하세요.
공식 자료: WordPress Cron 공식 안내 · WP-Cron 일정 동작 이해




댓글 0
첫 댓글을 남겨보세요.