Programar un post de WordPress por adelantado es simple. Se termina la edición, se fija una fecha y luego se puede concentrar en otras cosas. El problema es que WordPress a veces no publica los mensajes programados, lo que puede estropear su calendario editorial.

La funcionalidad subyacente que hace posible la programación de entradas en WordPress se llama «cron», y en ocasiones no se ejecuta como se esperaba. Sin embargo, hay un par de maneras para evitar que este problema ocurra en el futuro.

En este artículo, le mostraremos cómo es el error de programación no detectado y analizaremos más a fondo por qué ocurre. Luego discutiremos dos maneras de solucionar el problema, para que su sitio web nunca le vuelva a fallar cuando programe una publicación. ¡Vayamos al grano!

¿Qué es el error Missed Schedule de WordPress?

Cuando termina un nuevo post en WordPress, tiene varias opciones qué hacer a continuación. Puede guardarlo como borrador, publicarlo de inmediato y, por supuesto, programarlo para una fecha posterior.

Por lo general, todo el proceso se lleva a cabo sin problemas. Llega la fecha y WordPress comprueba si hay algún mensaje pendiente de publicación. Si los hay, sigue adelante y los hace públicos. Mientras tanto, usted puede relajarse y concentrarse en otros aspectos del funcionamiento de su sitio y  es su negocio.

Sin embargo, a veces WordPress pierde la fecha de publicación que usted estableció por completo. Cuando eso ocurra, verá un error como este si comprueba su pestaña Mensajes:

Error de WordPress Missed Schedule
Error de WordPress Missed Schedule

Siempre puede acceder a esos mensajes problemáticos y publicarlos manualmente. Sin embargo, WordPress no le avisa cuando hay un error de publicación programado. Esto significa que si quiere evitar el tipo, tendrá que volver a comprobar si sus mensajes se aprobaron en el momento en que los fijó, lo que anula todo el propósito de programarlas por adelantado.

¿Por qué no se produce error de programación de WordPress ?

WordPress utiliza trabajos cron para programar tareas que necesita ejecutar en momentos específicos. En los sistemas basados en UNIX, estos»crons» también se denominan»programadores», y tienen una variedad de usos. Por ejemplo, puede utilizar un cron para ejecutar un comando o un script, o -como con WordPress- para publicar un mensaje.

El problema con los crons de WordPress es que no son’crons reales’ en el verdadero sentido de la palabra. Dado que muchos hosts web no proporcionan a los usuarios acceso a la configuración del servidor, eso significa que no puede configurar sus crons para que se ejecuten a nivel de sistema. WordPress evita esa limitación usando crons simulados. En lugar de que se ejecuten a un intervalo determinado, WordPress depende de las visitas de los usuarios para desencadenar estos crons falsos.

En otras palabras, cada vez que un usuario visita su sitio web, el Sistema de Gestión de Contenidos (CMS) comprueba si hay tareas cron pendientes que necesite ejecutar. Esta es una solución inteligente, pero también presenta una desventaja evidente – si su sitio web no recibe ninguna visita en el momento adecuado, entonces el CMS no publicará sus mensajes como se esperaba. Es entonces cuando el error de programación que no se ha producido hará que su fea cabeza se levante.

Incluso si su sitio recibe una afluencia constante de visitantes, eso no significa que esté 100% a salvo del error de programación perdido de WordPress. Si su sitio web se cae temporalmente, por ejemplo, o si utiliza un plugin de almacenamiento en caché, todavía existe la posibilidad de que sus crons de WordPress no se ejecuten según lo planeado.

Cómo corregir el error Missed Schedule de WordPress  (2 métodos)

En cuanto a los errores de WordPress, es bastante fácil de corregir. En las siguientes secciones, vamos a explorar dos métodos que puede usar para prevenir la pérdida de entradas, uno que involucra un plugin, y el otro que depende de su servidor.

1. Usar el plugin de disparo por postconexión programada

Lo ideal es que WordPress compruebe periódicamente si ha perdido alguna fecha de publicación y se encargue de ello por usted. Lamentablemente, esa no es una característica que el CMS incluye de inmediato. Sin embargo, es el tipo de funcionalidad que se puede añadir fácilmente utilizando el plugin adecuado, y ahí es donde entra en juego el Scheduled Post Trigger:

Scheduled posts trigger
Plugin de Scheduled posts trigger

La forma en que funciona este plugin es que cada vez que alguien visita su sitio web, comprueba si WordPress ha perdido alguna fecha de publicación programada últimamente. Si encuentra alguna instancia del error de programación perdida, toma esos mensajes y los publica de inmediato.

En otras palabras, el plugin funciona añadiendo un trabajo cron que comprueba si hay trabajos cron perdidos en su sitio web. Este enfoque puede sonar un poco redundante, pero funciona. Además, el plugin no requiere ninguna configuración especial, y comenzará a hacer su trabajo automáticamente una vez que lo instale y lo active.

2. Gestione Cron Jobs directamente a través de su servidor

Si su plan de hosting le proporciona acceso a la configuración de su servidor, puede configurar tareas cron para que se ejecuten a ese nivel. Para que este enfoque funcione, sin embargo, necesitará deshabilitar primero los botones de WordPress para evitar conflictos.

Para ello, acceda a su sitio web a través de FTP utilizando un cliente como FileZilla. Navegue hasta su carpeta raíz y busque el archivo wp-config.php en su interior:

Archivo wp-config.php
Archivo wp-config.php

Haga clic en el botón derecho en el archivo y seleccione la opción Ver/Editar. Ahora, agregue la siguiente línea de código antes del final del archivo:

define('DISABLE_WP_CRON', true);

Guarde los cambios en su archivo wp-config.php, y eso es todo para el primer paso. A continuación, deberá implementar crons manuales a través de su servidor, lo que la mayoría de los proveedores le permiten hacer usando su panel de control de hosting.

Por ejemplo, si tiene acceso a cPanel, debería haber una opción llamada Cron Jobs en una de sus pestañas:

Cron jobs via cPanel
Cron jobs via cPanel

Al utilizar esta herramienta, puede programar fácilmente nuevos trabajos de cron para que se ejecuten en intervalos. Como regla general, cualquier intervalo más frecuente de cinco minutos es excesivo, y un trabajo cron que se ejecute en esos momentos supondrá una carga innecesaria para su servidor.

Tenga en cuenta, sin embargo, que aunque su anfitrión web puede ayudarle a programar crons a nivel de servidor, todavía tendrá que establecer qué tareas ejecutar manualmente. Esto implica escribir comandos UNIX, lo que significa que tendrá que repasar estos si quiere configurar sus crons manualmente.

Otra alternativa es utilizar un proveedor de alojamiento web que se ocupe de los crons por usted.

Aquí en Kinsta, configuramos sus trabajos de WordPress para que se ejecuten a nivel de sistema con intervalos de 15 minutos. En la gran mayoría de los casos, los intervalos de 15 minutos son suficientes. Sin embargo, en caso de que lo necesite, siempre puede ponerse en contacto con el servicio de asistencia y solicitar que reduzcamos el intervalo a cinco minutos.

Resumen

La programación de publicaciones es una característica clave para la mayoría de los usuarios de WordPress. Esta sencilla funcionalidad hace que no sea necesario configurar recordatorios para publicar mensajes manualmente. En su lugar, WordPress se encarga de ello por usted, o al menos debería hacerlo. Sin embargo, si el trabajo cron asociado no se dispara correctamente, es posible que su mensaje no vea la luz del día hasta que lo publique usted mismo.

Hay dos maneras de corregir el error de programación perdida de WordPress:

  1. Utilice el plugin Scheduled Post Trigger.
  2. Administre trabajos cron directamente a través de su servidor.