SJSBiz SJSBiz

워드프레스 예약 발행 실패|WP-Cron 지연 원인 점검 순서

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

워드프레스 예약 발행 실패가 반복되면 글의 예약 시각만 다시 입력하기보다 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.phpDISABLE_WP_CRON이 true로 설정돼 있다면 기본 페이지 요청으로 WP-Cron이 실행되지 않습니다. 이 설정은 서버의 실제 cron으로 wp-cron.php를 정기 호출할 때 주로 사용합니다. 서버 cron이 없는 상태에서 이 값만 활성화하면 예약 작업이 멈출 수 있습니다.

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

설정 파일 수정은 사이트 전체에 영향을 줄 수 있으므로 백업과 복구 방법을 준비하고, 호스팅 관리 화면에서 실제 cron 작업이 존재하는지 먼저 확인하세요. 서버 관리 권한이 없다면 호스팅 업체에 호출 주기와 차단 여부를 문의하는 편이 안전합니다.

사이트 건강과 루프백 방화벽 캐시 서버 예약 작업을 점검하는 구성

5. 캐시·보안 설정을 하나씩 비교

  1. 예약 실패가 시작된 날짜를 확인합니다.
  2. 같은 시기에 업데이트한 캐시·보안 플러그인을 기록합니다.
  3. 관리자에서 제공하는 안전 모드나 스테이징 환경에서 재현합니다.
  4. 방화벽에서 wp-cron.php 또는 루프백 요청 차단 기록을 확인합니다.
  5. 원인을 확인한 뒤 최소 범위만 예외 처리합니다.

하면 안 되는 조치

  • 원인 확인 없이 wp-cron.php를 외부에 무제한 허용하기
  • 기본 WP-Cron과 서버 cron을 짧은 간격으로 중복 호출하기
  • 운영 사이트에서 플러그인을 여러 개 동시에 비활성화하기
  • 백업 없이 wp-config.php를 수정하기

자주 묻는 질문

방문자가 없으면 예약 글이 절대 발행되지 않나요?

기본 WP-Cron만 사용하고 페이지 요청이 전혀 없다면 실행이 지연될 수 있습니다. 서버 cron을 구성하면 방문과 분리할 수 있지만 호스팅 환경과 호출 간격을 확인해야 합니다.

서버 cron은 몇 분마다 실행해야 하나요?

사이트의 예약 정확도와 서버 자원에 따라 달라집니다. 무조건 짧게 설정하기보다 호스팅 정책, 작업 수, 실제 지연 허용 범위를 기준으로 결정하세요.

마무리

워드프레스 예약 발행 실패는 시간대, WP-Cron 호출 조건, 사이트 건강, 비활성화 설정, 캐시·보안 차단 순서로 확인하면 원인을 좁히기 쉽습니다. 운영 사이트를 바로 변경하지 말고 로그와 스테이징 환경으로 검증한 뒤 최소한만 수정하세요.

공식 자료: WordPress Cron 공식 안내 · WP-Cron 일정 동작 이해

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

함께 보면 좋은 글

댓글 0

첫 댓글을 남겨보세요.

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

광고 차단 알림

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

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

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