Entradas programadas no publican en WordPress arreglo
Soluciona entradas programadas wordpress que no publican: diagnostica WP-Cron y aplica arreglos seguros paso a paso.
Si las entradas programadas wordpress no se publican a la hora prevista, lo más habitual es que falle el sistema que ejecuta tareas programadas en WordPress: WP-Cron. También puede influir el tráfico bajo, la caché, un plugin en conflicto o alguna limitación del hosting. Antes de tocar configuraciones, conviene comprobar si la entrada sigue marcada como “Programada”, si la zona horaria es correcta y si el sitio está ejecutando cron con normalidad.
En pocas palabras: cuando una entrada programada no publica, el problema suele estar en que WordPress no ha lanzado la tarea en ese momento. En muchos casos se resuelve revisando la hora del sitio, descartando conflictos y asegurando que wp-cron.php pueda ejecutarse, o sustituyendo WP-Cron por un cron real del servidor si tu hosting lo permite.
Qué suele fallar cuando las entradas programadas en WordPress no se publican
Cuando WordPress deja una entrada en estado programado pasada la hora prevista, no siempre significa que “se haya roto” el sitio. Lo que normalmente falla es la ejecución de la tarea que debía cambiar su estado a publicado.
- WP-Cron no se ha disparado porque no ha habido visitas o porque algo impide su ejecución.
- La fecha y hora del sitio no coinciden con la configuración real que esperas.
- Un plugin, el tema o una capa de caché puede interferir con tareas programadas wordpress.
- El servidor o un sistema de seguridad puede bloquear o limitar llamadas internas necesarias.
- Hay retrasos por carga o recursos escasos, algo que puede pasar en hosting compartido o entornos muy restringidos.
La clave es no aplicar soluciones a ciegas. Primero conviene distinguir si el fallo es puntual, si afecta a todas las publicaciones programadas o si coincide con cambios recientes en plugins, caché o servidor.
Cómo funciona WP-Cron y por qué puede retrasar o bloquear publicaciones
WP-Cron es el sistema interno de WordPress para ejecutar tareas diferidas, como publicar una entrada programada, comprobar actualizaciones o lanzar acciones de plugins. No es un cron de sistema real: se activa cuando WordPress recibe una visita o cuando una ejecución interna consigue lanzar esa tarea.
Eso explica por qué las publicaciones programadas no se publican a tiempo en algunos sitios con poco tráfico. Si nadie entra en la web cerca de la hora programada, WordPress puede tardar en “despertar” y ejecutar el evento pendiente. En otros casos sí hay tráfico, pero un cortafuegos, una caché agresiva, Cloudflare, una mala configuración o un plugin puede impedir que el proceso llegue a completarse.
Resumen rápido: una entrada programada falla normalmente porque el evento cron que debía publicarla no se ejecutó en ese momento. La solución general pasa por revisar la hora del sitio, comprobar si WP-Cron funciona y, si hace falta, configurar un cron real del servidor en lugar de depender solo de visitas.
WP-Cron frente a cron real del servidor
| Sistema | Cómo se ejecuta | Ventaja | Limitación |
|---|---|---|---|
| WP-Cron | Se dispara desde WordPress al recibir tráfico o al ejecutar una llamada interna | No requiere acceso avanzado al servidor | Puede retrasarse o fallar según tráfico, caché o restricciones |
| Cron del servidor | Se programa desde el hosting o sistema operativo | Más estable y predecible | Requiere acceso técnico y una configuración correcta |
La documentación oficial de WordPress explica el funcionamiento general de cron y su diferencia respecto al cron del sistema: https://developer.wordpress.org/plugins/cron/.
Comprobaciones básicas antes de tocar la configuración
Antes de editar archivos o cambiar ajustes del hosting, merece la pena hacer una revisión básica. Muchas incidencias se detectan aquí y evitan tocar nada sensible.
Checklist de diagnóstico rápido
- Comprueba que la entrada sigue en estado Programada y no en borrador, pendiente o revisión.
- Revisa la zona horaria en Ajustes > Generales. Una hora mal configurada puede hacer que parezca un fallo de publicación.
- Verifica si el problema afecta a una sola entrada o a todas las programadas.
- Haz una prueba con una entrada nueva programada a pocos minutos vista.
- Si usas caché o CDN, conviene revisar si la fecha de publicación visible coincide con el estado real dentro del panel.
- Confirma si ha habido cambios recientes en plugins, tema, firewall, optimización o proveedor de hosting.
Revisar fecha, hora y zona horaria
Un error muy común es programar una entrada con una hora correcta “a ojo”, pero con la zona horaria del sitio desajustada. Si la web está configurada con otra ciudad o con un UTC distinto al esperado, WordPress puede publicar antes o después. No suele ser un error cron wordpress como tal, sino un ajuste básico mal definido.
Comprobar si el fallo es puntual
Si una entrada concreta no publica, pero otras sí, conviene revisar esa publicación en particular: fecha, revisiones, metadatos, plugins editoriales o campos personalizados. Si el problema afecta de forma global, entonces sí tiene sentido pasar a revisar WP-Cron.
Cómo diagnosticar si WP-Cron no funciona
Diagnosticar bien el problema evita aplicar parches sin sentido. El objetivo aquí es comprobar si el sitio está acumulando eventos pendientes o si WordPress no consigue ejecutar las tareas cuando corresponde.
Señales típicas de que puede haber un fallo cron
- Entradas programadas que quedan con fecha pasada y siguen sin publicar.
- Actualizaciones automáticas, tareas de mantenimiento o acciones periódicas de plugins que también fallan.
- Retrasos repetidos en tareas automáticas, no solo en contenidos.
Comprobar eventos programados
Una forma práctica es revisar si existen eventos cron pendientes y si su ejecución se retrasa. Para ello puedes usar un plugin de inspección de eventos cron con neutralidad, solo para diagnóstico, o pedir a tu soporte técnico que lo revise. Si aparecen muchos eventos vencidos o bloqueados, hay una pista clara de que wp cron no funciona correctamente o no puede completar el proceso.
Probar la ejecución de wp-cron.php
En algunos casos conviene verificar si el archivo wp-cron.php puede ejecutarse. No hay que modificarlo. Lo importante es comprobar si el servidor permite esa llamada y si no hay bloqueos por seguridad, redirecciones, autenticación, reglas de caché o restricciones del proveedor. Si tu web usa una configuración compleja, esta comprobación puede requerir ayuda técnica.
Revisar constantes y configuración existente
Si alguien ha tocado antes la configuración, conviene revisar si existe DISABLE_WP_CRON en wp-config.php. Esa constante desactiva la ejecución interna de WP-Cron. También puede aparecer ALTERNATE_WP_CRON, que intenta una vía alternativa de ejecución en algunos entornos, aunque no es una solución universal. Antes de editar archivos, haz copia de seguridad y confirma que tienes acceso técnico suficiente para revertir cambios.
Formas seguras de arreglar el cron de WordPress
Estas son las medidas más razonables para arreglar cron wordpress sin asumir riesgos innecesarios. El orden importa: empieza por lo menos invasivo.
1. Corregir la zona horaria y repetir la prueba
Si detectas una zona horaria incorrecta, ajústala en el panel y programa una entrada de prueba. Este paso es básico, pero resuelve muchos falsos positivos.
2. Revisar si WP-Cron está desactivado
Si en wp-config.php aparece DISABLE_WP_CRON como activado, WordPress no lanzará sus tareas internas. Esto no siempre es un error: a veces se hace a propósito para usar un cron real del servidor. El problema surge si se desactiva WP-Cron y luego no se configura ningún reemplazo. Si vas a editar este archivo, haz copia de seguridad primero y valida permisos y acceso.
3. Valorar ALTERNATE_WP_CRON solo como prueba controlada
En algunos entornos, ALTERNATE_WP_CRON puede ayudar cuando la ejecución estándar falla. Aun así, conviene tratarlo como una medida de compatibilidad y no como solución garantizada. Puede funcionar en ciertos hostings y no aportar nada en otros.
4. Configurar un cron real del servidor
Si tu hosting lo permite, esta suele ser la solución más estable para sitios con poco tráfico o incidencias repetidas. La idea general es:
- Desactivar la ejecución interna de WP-Cron mediante configuración, solo si sabes exactamente lo que haces.
- Crear una tarea programada real en el panel del hosting, como cPanel o Plesk, o a nivel de servidor.
- Hacer que esa tarea invoque la ejecución de cron de WordPress con la frecuencia adecuada.
Este enfoque conviene aplicarlo con copia de seguridad, acceso técnico y validación posterior. No todos los hostings lo implementan igual, y una configuración incorrecta puede dejar el problema igual o generar carga innecesaria.
5. Usar WP-CLI como opción avanzada
En entornos con acceso SSH, WP-CLI puede servir para inspeccionar o ejecutar tareas cron de forma avanzada. Es una opción útil para administradores, pero no suele ser el primer paso para una web estándar.
Conflictos habituales con plugins, caché, tema y hosting
Cuando el problema persiste, conviene pensar en conflictos. No todos dejan errores visibles, así que el diagnóstico debe ser ordenado.
Plugins de caché, optimización y seguridad
Algunos plugins pueden interferir con llamadas internas, procesos en segundo plano o respuestas necesarias para ejecutar cron. Esto puede ocurrir con sistemas de caché agresiva, optimización extrema, bloqueo de peticiones o endurecimiento de seguridad. No significa que el plugin sea “malo”, sino que puede requerir exclusiones o ajustes concretos.
CDN, proxy inverso y Cloudflare
Si usas CDN o proxy, conviene revisar que no se esté cacheando o bloqueando alguna llamada relacionada con la ejecución cron. En ciertas configuraciones, la caché de página completa o reglas automáticas pueden dificultar procesos que dependen de respuestas dinámicas.
Tema o funciones personalizadas
Un tema mal desarrollado o funciones añadidas en el archivo de funciones pueden alterar hooks, consultas o procesos automáticos. Si el fallo comenzó tras una personalización, ese punto merece revisión.
Limitaciones del hosting
En hosting compartido pueden aparecer timeouts, restricciones de recursos, bloqueos en bucle local o políticas de seguridad que afectan a la ejecución de cron. Si sospechas de esto, lo razonable es abrir un ticket y pedir comprobación de tareas programadas, acceso a wp-cron.php y registros de errores relacionados.
Cómo aislar el conflicto sin romper la web
- Haz copia de seguridad completa.
- Prueba en staging si tu hosting dispone de ese entorno.
- Desactiva temporalmente plugins no críticos por bloques, no todos a la vez si la web es sensible.
- Cambia temporalmente a un tema por defecto solo para prueba, si es viable.
- Programa una entrada de test después de cada cambio para detectar el punto exacto del conflicto.
Buenas prácticas para programar entradas sin errores
Si sueles programar posts wordpress, estas medidas reducen bastante el riesgo de fallos:
- Mantén bien ajustada la zona horaria del sitio.
- Evita acumular demasiados plugins que alteren procesos automáticos sin necesidad.
- Si tu sitio tiene poco tráfico, valora usar un cron real del servidor.
- Revisa periódicamente si hay tareas cron atascadas, sobre todo en webs con automatizaciones.
- Haz pruebas después de migraciones, cambios de hosting o activación de nuevas capas de caché.
- No desactives WP-Cron sin tener claro qué mecanismo lo sustituirá.
Mini FAQ
¿Puede publicarse una entrada programada con retraso y no ser un fallo grave?
Sí. En sitios con poco tráfico, WP-Cron puede ejecutarse minutos más tarde si nadie visita la web justo en ese intervalo.
¿Desactivar WP-Cron soluciona el problema?
No por sí solo. Solo tiene sentido si lo sustituyes por un cron real del servidor correctamente configurado.
¿La caché puede afectar a la publicación automática?
Puede afectar en algunos escenarios, sobre todo si interfiere con peticiones internas o con la actualización visible del contenido publicado.
Conclusión
Cuando una entrada programada no publica, el error más frecuente suele estar en la ejecución de WP-Cron, no en la entrada en sí. Por eso el mejor enfoque es revisar primero la hora del sitio, confirmar si el evento cron se está lanzando y solo después tocar configuración o servidor.
Si el problema es puntual, normalmente se resuelve con ajustes básicos. Si se repite, conviene revisar conflictos con caché, plugins, seguridad o hosting, y valorar un cron real del servidor. Y si no quieres arriesgarte a cambiar archivos como wp-config.php o la configuración del panel de hosting sin validación previa, el siguiente paso razonable es pedir una revisión técnica del sitio para localizar el bloqueo exacto y corregirlo con seguridad.
¿Necesitas orientación personalizada?
Te ayudamos a entender tus opciones y el siguiente paso.