← 전체 목록
워드프레스운영

예약 포스팅 실패 원인을 해결하고 정확한 시간에 발행합니다

ℹ️ 본 글은 정보 제공 목적이며, 광고·제휴 링크가 포함될 수 있습니다.
목차 보기

워드프레스 예약 포스팅 실패 해결은 병원 공지사항을 예약해두고 퇴근했다가 다음날 아침에 확인했더니 “예약됨” 상태로 그대로 있던 경험에서 시작됐습니다. 예약 발행이 안 됐다는 사실 자체를 모르고 지나갈 뻔했습니다. 원인은 WP-Cron이었습니다. 워드프레스는 방문자가 있을 때만 Cron 작업을 실행하는데, 새벽 트래픽이 적은 시간대에 예약한 포스팅은 그날 첫 방문자가 오기 전까지 발행이 안 됩니다.

WP-Cron 작동 원리 이해

워드프레스의 WP-Cron은 진짜 서버 Cron이 아닙니다. 방문자가 페이지를 요청할 때마다 예약된 작업이 있는지 확인합니다. 트래픽이 없는 시간대에는 Cron이 실행되지 않습니다.

현재 예약된 Cron 작업 확인:

관리자 → 도구 → Cron 이벤트 (WP-Crontrol 플러그인 필요)

WP-Crontrol 플러그인을 설치하면 예약된 작업 목록과 다음 실행 시간을 확인하고 수동 실행도 할 수 있습니다.

서버 Cron으로 전환 (권장)

가장 확실한 해결책은 WP-Cron을 비활성화하고 실제 서버 Cron으로 대체하는 것입니다.

wp-config.php에서 WP-Cron 비활성화:

define('DISABLE_WP_CRON', true);

서버 crontab에 추가:

sudo crontab -e
# 5분마다 WP-Cron 실행
*/5 * * * * wget -q -O - https://example.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

또는 WP-CLI가 있다면:

*/5 * * * * /usr/bin/php /var/www/html/wp-cron.php >/dev/null 2>&1

예약 발행 실패한 포스팅 복구

이미 예약 발행에 실패한 포스팅은 수동으로 발행하거나 날짜를 재설정합니다.

관리자 → 게시물 → 예약됨 상태 포스팅 목록
→ 날짜 편집 → 즉시 발행 또는 새 시간으로 재예약

WP-CLI로 일괄 처리도 가능합니다:

# 예약됨 상태 포스팅 목록 확인
wp post list --post_status=future

# 특정 포스팅 즉시 발행
wp post update ID_번호 --post_status=publish

병원 공지사항, 이벤트 안내처럼 시간에 민감한 콘텐츠가 있다면 서버 Cron 전환을 강력히 권장합니다.

편집 정책

의료기관 인프라 운영 현장 경험을 바탕으로 작성하며, WavePix 운영자 (의료기관 3곳 인프라 전담)가 최종 검수합니다.

작성·검수: WavePix 운영자 (의료기관 3곳 인프라 전담)