Entradas programadas no publican en WordPress arreglo
Guía completa para solucionar el problema de entradas programadas que no se publican en WordPress, con causas, pasos de arreglo y buenas prácticas.
Índice
- ¿Por qué no se publican las entradas programadas en WordPress?
- Cómo funciona WP-Cron en WordPress
- Comprobaciones básicas antes de tocar el cron
- Revisar y arreglar WP-Cron desde el panel
- Configurar un cron real en el servidor
- Conflictos con plugins, temas y caché
- Ajustes de hosting y límites de recursos
- Buenas prácticas para programar entradas en WordPress
- Solución rápida: checklist de arreglo
- Preguntas frecuentes
¿Por qué no se publican las entradas programadas en WordPress?
Cuando las entradas programadas no se publican en WordPress a la hora prevista, casi siempre el problema está relacionado con el sistema de tareas programadas interno, conocido como WP-Cron. En lugar de usar un cron real del servidor, WordPress ejecuta sus tareas programadas cuando alguien visita la web. Si no hay visitas, hay bloqueos de caché, errores de PHP o restricciones del hosting, las publicaciones pueden quedarse atascadas con el estado Programado o aparecer como Missed schedule (programación perdida).
Este fallo es especialmente crítico en sitios de noticias, blogs con contenido recurrente o proyectos donde la puntualidad de las publicaciones afecta al SEO y a la experiencia de usuario. Entender qué causa el problema es el primer paso para aplicar un arreglo estable y definitivo.
- WP-Cron no se ejecuta o se ejecuta con retraso.
- Plugins o temas interfieren con las tareas programadas.
- El hosting limita procesos, memoria o tiempo de ejecución.
- La caché bloquea las peticiones necesarias para disparar el cron.
- La configuración de zona horaria o fecha/hora del servidor es incorrecta.
Resumen rápido: si tus entradas programadas no se publican, casi seguro que WP-Cron no está funcionando correctamente o algo lo está bloqueando. El objetivo de esta guía es ayudarte a detectar la causa concreta y aplicar el arreglo más adecuado para tu caso.
Cómo funciona WP-Cron en WordPress
WP-Cron es el sistema interno que usa WordPress para ejecutar tareas programadas, como publicar entradas en una fecha futura, enviar correos, limpiar revisiones o ejecutar tareas de plugins. A diferencia de un cron de servidor tradicional, WP-Cron se dispara cuando alguien carga una página del sitio.
Esto implica que, si tu web tiene poco tráfico o si el tráfico está fuertemente cacheado, las tareas pueden no ejecutarse a tiempo. Además, si hay errores de PHP o restricciones de recursos, WP-Cron puede fallar silenciosamente sin mostrar mensajes claros en el panel.
- Evento programado: cuando programas una entrada, WordPress crea un evento en la tabla
wp_options(o equivalente) para ejecutarse a una hora concreta. - Disparo del cron: en cada carga de página, WordPress comprueba si hay eventos vencidos y, si los hay, intenta ejecutarlos.
- Publicación: si todo va bien, la entrada cambia de estado de future (programada) a publish (publicada) en el momento indicado.
- Errores: si algo falla, la entrada puede quedarse en estado programado o marcarse como Missed schedule.
Idea clave: WP-Cron no es un cron real de sistema. Depende del tráfico y de que el entorno de WordPress pueda ejecutarse sin errores. Por eso, en muchos casos, la solución pasa por combinar WP-Cron con un cron real del servidor o por sustituirlo completamente.
Comprobaciones básicas antes de tocar el cron
Antes de modificar la configuración de WP-Cron o del servidor, conviene revisar algunos aspectos básicos que con frecuencia explican por qué las entradas programadas no se publican en WordPress. Estas comprobaciones son rápidas y pueden ahorrarte tiempo.
- Zona horaria correcta: ve a Ajustes > Generales > Zona horaria y asegúrate de que coincide con tu ubicación o con la hora oficial que quieres usar para publicar.
- Fecha y hora del servidor: algunos hostings muestran la hora del servidor en el panel. Verifica que no haya desajustes extremos que puedan afectar a las tareas programadas.
- Estado de la entrada: confirma que la entrada está realmente en estado Programado y no en borrador o pendiente de revisión.
- Plugins de caché: comprueba si tienes plugins de caché (como LiteSpeed, WP Rocket, W3 Total Cache, etc.) y si incluyen opciones relacionadas con el cron o con el precargado de caché.
- Errores visibles: revisa si aparecen mensajes de error en el panel de administración o en la parte pública al cargar páginas.
Consejo: anota la hora exacta a la que debería publicarse una entrada de prueba. Espera unos minutos después de esa hora y recarga varias páginas del sitio (incluida la portada y una entrada). Si aun así no se publica, es muy probable que el problema esté en WP-Cron o en el servidor.
Revisar y arreglar WP-Cron desde el panel
Una forma sencilla de diagnosticar y arreglar problemas con las entradas programadas en WordPress es revisar directamente el estado de WP-Cron desde el panel de administración. Para ello, suelen utilizarse plugins especializados que permiten ver y gestionar los eventos programados.
El objetivo es comprobar si los eventos relacionados con la publicación de entradas se están creando correctamente, si quedan atascados o si se marcan como fallidos. A partir de ahí, podrás aplicar un arreglo más preciso.
- Instala un plugin de gestión de cron: por ejemplo, WP Crontrol o similar.
- Accede a Herramientas > Cron Events: revisa la lista de eventos programados.
- Busca eventos relacionados con publicaciones: como
publish_future_posto similares. - Comprueba el estado: si ves muchos eventos vencidos sin ejecutar, es una señal clara de que WP-Cron no está funcionando bien.
Acciones recomendadas desde el panel:
- Ejecutar manualmente un evento
publish_future_postpara comprobar si se publica la entrada. - Eliminar eventos duplicados o claramente corruptos que se repiten en bucle.
- Revisar si algún plugin ha añadido tareas que se ejecutan con demasiada frecuencia y pueden saturar el cron.
- Desactivar temporalmente plugins sospechosos y comprobar si los eventos vuelven a ejecutarse con normalidad.
Configurar un cron real en el servidor
Una de las soluciones más efectivas y estables cuando las entradas programadas no se publican en WordPress es sustituir el WP-Cron interno por un cron real del servidor. De este modo, las tareas se ejecutan a intervalos fijos, independientemente del tráfico o de la caché.
El proceso suele consistir en desactivar el disparo automático de WP-Cron en cada carga de página y crear una tarea programada en el panel de control del hosting (cPanel, Plesk, panel propio, etc.) que llame a wp-cron.php a intervalos regulares.
- 1. Desactivar WP-Cron automático: edita el archivo
wp-config.phpy añade la líneadefine('DISABLE_WP_CRON', true);antes de la línea que dice/* That's all, stop editing! */. - 2. Crear una tarea cron en el hosting: en cPanel, busca Cron Jobs o Tareas Cron y crea una nueva tarea.
- 3. Definir la frecuencia: una frecuencia típica es cada 5 minutos, aunque puedes ajustarla según las necesidades del sitio.
- 4. Comando de ejecución: suele usarse una llamada a PHP o a
wgetpara acceder awp-cron.php.
Ejemplos de comandos de cron habituales:
- Usando PHP CLI:
*/5 * * * * php /ruta/a/tu/sitio/wp-cron.php > /dev/null 2>&1 - Usando wget:
*/5 * * * * wget -q -O - https://tusitio.com/wp-cron.php?doing_wp_cron > /dev/null 2>&1 - Usando curl:
*/5 * * * * curl -s https://tusitio.com/wp-cron.php?doing_wp_cron > /dev/null 2>&1
Tras configurar el cron real, programa una entrada de prueba y verifica si se publica a la hora exacta. Si funciona, habrás aplicado un arreglo robusto al problema de las entradas programadas que no se publican.
Conflictos con plugins, temas y caché
Otra causa frecuente de que las entradas programadas no se publiquen en WordPress son los conflictos con plugins, temas o sistemas de caché agresivos. Algunos complementos modifican el comportamiento de WP-Cron, bloquean peticiones internas o generan errores de PHP que impiden que las tareas se ejecuten correctamente.
Los plugins de seguridad, de rendimiento y de caché suelen ser los más implicados, aunque cualquier extensión mal programada puede afectar al cron. También es posible que el tema activo incluya funciones que interfieran con el sistema de tareas programadas.
- Plugins de caché de página: pueden bloquear o retrasar las peticiones a
wp-cron.phpo a la propia web. - Plugins de seguridad: algunos bloquean peticiones internas o URLs específicas, incluyendo las relacionadas con el cron.
- Plugins de optimización: minificación, combinación de scripts o carga diferida pueden afectar a la ejecución de ciertas funciones.
- Temas con código personalizado: funciones mal implementadas en
functions.phppueden generar errores que detienen la ejecución.
Pasos para detectar conflictos:
- Activa el modo de depuración en
wp-config.phpcondefine('WP_DEBUG', true);ydefine('WP_DEBUG_LOG', true);. - Revisa el archivo
wp-content/debug.logen busca de errores relacionados con cron, plugins o el tema. - Desactiva temporalmente todos los plugins y deja activo un tema por defecto (por ejemplo, Twenty Twenty-Three).
- Programa una entrada de prueba y comprueba si se publica correctamente.
- Ve reactivando los plugins uno a uno hasta identificar cuál provoca el fallo.
Ajustes de hosting y límites de recursos
En muchos hostings compartidos, los límites de recursos pueden provocar que las tareas programadas de WordPress no se ejecuten correctamente. Si el servidor impone restricciones estrictas de CPU, memoria o tiempo de ejecución de scripts, WP-Cron puede quedarse a medias o no llegar a ejecutarse.
Además, algunos proveedores bloquean las peticiones de loopback (peticiones que el propio servidor hace a la misma web) por motivos de seguridad o rendimiento. Esto afecta directamente a la capacidad de WordPress para disparar su cron interno.
- Límites de memoria PHP: un valor demasiado bajo puede causar errores fatales al ejecutar tareas pesadas.
- Tiempo máximo de ejecución: si es muy corto, las tareas largas no llegarán a completarse.
- Bloqueo de loopback: impide que WordPress se llame a sí mismo para ejecutar el cron.
- Restricciones de cron: algunos hostings limitan la frecuencia de las tareas cron o exigen configuraciones específicas.
Recomendaciones relacionadas con el hosting:
- Consulta con el soporte de tu hosting si hay bloqueos de loopback o restricciones sobre
wp-cron.php. - Pide que aumenten el límite de memoria PHP (por ejemplo, a 256M) y el tiempo máximo de ejecución si es necesario.
- Verifica si el proveedor ofrece una herramienta específica para configurar tareas cron desde su panel.
- Si el problema persiste y el hosting no ofrece soluciones, valora migrar a un proveedor más flexible con WordPress.
Buenas prácticas para programar entradas en WordPress
Más allá de arreglar el problema puntual de que las entradas programadas no se publiquen en WordPress, es importante adoptar buenas prácticas que reduzcan la probabilidad de que vuelva a ocurrir. Una configuración cuidada y una rutina de mantenimiento básico pueden marcar la diferencia en sitios con muchas publicaciones programadas.
- Revisar periódicamente WP-Cron: usa herramientas como WP Crontrol para detectar eventos atascados o excesivos.
- Evitar sobrecargar el cron: no programes tareas innecesarias cada minuto; agrupa procesos cuando sea posible.
- Usar un cron real en sitios críticos: en webs de noticias o con alto volumen de publicaciones, configura siempre un cron de servidor.
- Controlar los plugins instalados: mantén solo los plugins necesarios y actualizados; elimina los que no uses.
- Monitorizar errores: revisa periódicamente los registros de errores de PHP y el archivo
debug.logsi lo tienes activado. - Probar tras cambios importantes: después de instalar un plugin, cambiar de tema o actualizar WordPress, programa una entrada de prueba para asegurarte de que todo sigue funcionando.
Tip adicional: si tu estrategia de contenidos depende mucho de las publicaciones programadas, documenta un pequeño protocolo interno: quién programa, cómo se revisa la hora y la zona horaria, y cómo se comprueba que las entradas se han publicado correctamente. Esto reduce errores humanos y facilita la detección temprana de problemas técnicos.
Solución rápida: checklist de arreglo
Para quienes necesitan una solución práctica y ordenada al problema de las entradas programadas que no se publican en WordPress, este checklist resume los pasos clave. Puedes seguirlos en orden hasta que identifiques la causa y apliques el arreglo definitivo.
- Verifica la zona horaria en Ajustes > Generales.
- Programa una entrada de prueba a pocos minutos vista.
- Instala un plugin como WP Crontrol y revisa los eventos cron.
- Comprueba si existen eventos
publish_future_postvencidos sin ejecutar. - Activa WP_DEBUG y revisa el archivo
debug.logen busca de errores. - Desactiva temporalmente todos los plugins y activa un tema por defecto.
- Vuelve a probar la publicación programada.
- Si funciona, reactiva plugins uno a uno hasta encontrar el conflicto.
- Si no funciona, considera desactivar WP-Cron y configurar un cron real en el servidor.
- Contacta con el soporte del hosting para revisar bloqueos de loopback o límites de recursos.
Objetivo del checklist: que puedas pasar de un problema genérico ("las entradas programadas no se publican") a una causa concreta (conflicto de plugin, bloqueo del hosting, fallo de WP-Cron, etc.) y aplicar el arreglo más adecuado para tu instalación de WordPress.
Preguntas frecuentes
En esta sección se responden algunas de las dudas más habituales relacionadas con el problema de las entradas programadas que no se publican en WordPress y con las posibles soluciones basadas en WP-Cron y en la configuración del servidor.
¿Qué es exactamente WP-Cron y por qué falla?
WP-Cron es el sistema interno de tareas programadas de WordPress. No es un cron de sistema real, sino un mecanismo que se ejecuta cuando alguien visita la web. Falla cuando no hay tráfico suficiente, cuando la caché bloquea las peticiones necesarias, cuando hay errores de PHP o cuando el hosting impone restricciones que impiden que las tareas se ejecuten correctamente. Por eso, en muchos casos, la solución pasa por usar un cron real del servidor para disparar wp-cron.php de forma fiable.
¿Es obligatorio configurar un cron real en el servidor?
No es obligatorio, pero sí muy recomendable en sitios donde la puntualidad de las publicaciones es crítica o donde el tráfico y la caché dificultan el funcionamiento de WP-Cron. En webs pequeñas con poco tráfico y sin caché agresiva, WP-Cron suele ser suficiente. Sin embargo, si ya has tenido problemas con entradas programadas que no se publican, configurar un cron real suele ser la solución más estable a medio y largo plazo.
¿Puedo arreglarlo solo con un plugin sin tocar el servidor?
En algunos casos, sí. Plugins que gestionan y corrigen eventos cron, o que fuerzan la ejecución de tareas programadas, pueden solucionar el problema si la causa es un fallo puntual o una mala configuración. Sin embargo, si el origen está en bloqueos del hosting, en la caché o en la ausencia de tráfico, el plugin puede no ser suficiente. Por eso es importante diagnosticar primero la causa concreta antes de confiar solo en una solución basada en plugins.
¿Qué pasa con las entradas que ya han fallado en su programación?
Las entradas que ya han pasado su hora de publicación y no se han publicado suelen quedarse en estado Programado o marcarse como Missed schedule. Una vez que hayas arreglado la causa del problema (por ejemplo, configurando un cron real o corrigiendo un conflicto de plugin), puedes publicarlas manualmente o reprogramarlas. Algunos plugins permiten detectar y publicar automáticamente las entradas con programación fallida, pero es recomendable revisar cada caso para evitar errores de contenido.
¿Influye la zona horaria en que las entradas no se publiquen?
La zona horaria no suele ser la causa directa de que las entradas programadas no se publiquen, pero sí puede provocar que se publiquen a una hora distinta de la esperada. Si la zona horaria de WordPress no coincide con la que usas al programar, podrías pensar que la publicación ha fallado cuando en realidad está programada para otra hora. Por eso, siempre es importante revisar y ajustar la zona horaria en Ajustes > Generales antes de trabajar con publicaciones programadas.
¿Necesitas orientación personalizada?
Te ayudamos a entender tus opciones y el siguiente paso.