Programación Perdida en WordPress. Solución fácil a este fallo

por

Como solucionar el fallo de la programación perdida en WordPress que aparece cuando no se publica un post programado.

¿Has programado la publicación de un artículo en WordPress y no se ha publicado cuando querías?

Y al consultar la lista de entradas publicadas aparece el fallo de la programación perdida en el post programado.

Este es un error muy común en WordPress que provoca que las entradas programadas no se publiquen.

Además, también suele provocar que plugins instalados y que utilizan la programación dejen de funcionar.

Plugins cómo Revive Old Post, que se encarga de publicar en Twitter artículos ya publicados en nuestra web.

Entradas programadas de WordPress no se publican

A la hora de programar una entrada en WordPress para que publique a una determinada hora estamos haciendo uso del Cron.

Cron es el sistema que utilizan los servidores de alojamiento web para programar tareas y comprobar que hay tareas pendientes.

El problema radica en la forma en la que WordPress comprueba que existen tareas pendiente de ejecutar.

Como WordPress no tiene acceso a nuestro servidor, utiliza un cron virtual, el archivo wp-cron.php de la raíz de tu web.

Este archivo se ejecuta y comprueba que hay tareas pendientes cuando tu web es visitada.

Por este motivo, al programar una entrada, podemos vernos en la situación de que tu web no recibe visitas en ese momento.

Por este motivo, las entradas programadas en WordPress no se publican, apareciendo el fallo de programación perdida.

También es posible que el plugin caché, que deberías estar utilizando en tu web, ofrezca una versión cacheada de la web.

Solución al fallo de la programación perdida en WordPress

La solución al fallo de la programación perdida es bastante fácil de solucionar y no requiere conocimiento avanzados.

Lo primero que tenemos que hacer es descartar que nuestro plugin caché interfiere en la programación de entradas.

Para ello, limpiamos la caché de nuestra web y desactivamos el plugin caché que estemos utilizando.

Una vez desactivado el plugin, programamos una entrada en WordPress y comprobamos si se publica automáticamente.

Si la entrada programada en WordPress se ha publicado, hemos encontrado el origen del fallo.

Para solucionar el fallo de la programación perdida en WordPress volveremos a activar el plugin caché.

Y desde su configuración deberemos añadir la url del archivo wp-cron.php para que no sea cachado.

programación perdida en wordpress
Purgar caché en el archivo wp-cron.php

Por ejemplo, si utilizamos WP ROCKET, dentro de las reglas avanzadas del plugin añadimos la ruta del archivo cron.

De esta manera lograremos que el archivo wp-cron.php no sea cacheado y funcione correctamente.

En el caso de que la entrada programada en WordPress no se haya publicado tendremos que optar por otra solución.

Programar un cron real para WordPress

Esta es la solución más simple y recomendada para solucionar el fallo de la programación perdida en WordPress.

Si WordPress no comprueba su cron virtual y las entradas programada en WordPress no se publican.

Por este motivo tendremos nosotros que crear un cron WordPress real.

Y esto haremos en nuestro servidor web, pero primero deberemos desactivar el cron de WordPress.

Desactivar cron de WordPress

Es tan simple como editar el archivo wp-config que se encuentra en la raíz de nuestra instalación de WordPress.

Antes de nada, realizamos una copia del archivo wp-config original como medida de seguridad.

Lo descargamos a nuestro equipo y lo editamos con cualquier editor de texto como el bloc de notas.

Tendremos que añadir la siguiente línea de código al archivo:

define (‘DISABLE_WP_CRON’ , true) ;

Guardamos el archivo y lo subimos a la raíz sustituyendo al original, comprobando que la web funciona correctamente.

De esta manera, le decimos WordPress que no compruebe el cron virtual.

Y también de paso, nos ahorramos peticiones extras al servidor evitando sobrecargarlo.

Crear un cron real en CPanel

Debemos acceder a CPanel de nuestro servidor de alojamiento donde crearemos un cron real para WordPress.

Debemos conocer la ruta del directorio principal de nuestra instalación y nuestro nombre de usuario.

programación perdida en wordpress
Datos de Cpanel

Dentro del recuadro de información general de CPanel podemos encontrar los datos necesarios.

Nos desplazamos hasta las opciones avanzadas de CPanel donde encontraremos Cron Jobs o Tareas Cron.

programación perdida de WordPress
Opciones avanzadas de Cpanel

En Tareas Cron vamos a programar una tarea para que compruebe cada X tiempo si hay tareas pendientes en nuestra web.

programación perdida en WordPress
Crear un cron real en WordPress

Dentro de la configuración común del Cron de WordPress añadimos lo datos necesarios.

En el desplegable seleccionamos la opción de una vez cada 5 minutos, que aparecerá en los campos de Minutos.

Allí sustituimos el 5 por un 15 (*/15) para pasar a una vez cada 15 minutos.

El otro campo a completar es el de Comando, donde añadiremos el comando a ejecutar:

php -q /home/NOMBREUSUARIO/public_html/URL/wp-cron.php

Debemos sustituir las mayúsculas con el nombre de usuario de nuestro Cpanel y con nuestra dirección web sin www.

programación perdida en WordPress
Tarea cron creada en Cpanel

Al pulsar en Nuevo trabajo de Cron añadiremos la tarea cron creada en Cpanel.

Con este trabajo, nuestro servidor comprobará cada 15 minutos si hay tareas pendientes de realizar en nuestra web.

Tan solo nos queda programar la publicación de una entrada en WordPress y comprobar cómo se publica automáticamente.

Solucionar el fallo de la programación perdida en WordPress con un plugin

Una opción muy fácil y muy utilizada por aquellos que no quiere tocar CPanel es la utilización de un plugin.

Para solucionar el fallo de la programación perdida podemos utilizar el plugin WP Missed Schedule Fix Failed Future Post.

Simplemente tenemos que instalarlo en nuestro WordPress y activarlo.

Este plugin comprobará cada 5 minutos si existen tareas pendientes en nuestra web y las ejecutará.

Es la opción más fácil para solucionar el fallo de la programación perdida en WordPress, pero no la más correcta.

Mientras menos plugins utilicemos en WordPress mejor.

Nuestra página web cargará más rápida, se realizan menos peticiones al servidor y a la base de datos, y ganamos en optimización.

Revive Old Posts no funciona

Una de la consecuencias el fallo en la programación perdida de WordPress es que determinados plugins dejan de funcionar.

En concreto aquellos plugins que utilizan cron para realizar su tarea como Revive Old Posts.

Este plugin se encarga de publicar en Twitter entradas antiguas de nuestra web cada cierto periodo de tiempo.

Al tener problemas con la publicación de post programados, lo lógico que también lo tengamos con Tweets programados.

La solución al problema con Revive Old Posts para por crear una tarea cron en Cpanel como hemos visto antes.

De esta manera solucionamos con una sola tarea el fallo de la programación perdida en WordPress y el fallo en Revive Old Posts.

Te agradezco una valoración de este artículo


Artículos Relacionados

2 comentarios en “Programación Perdida en WordPress. Solución fácil a este fallo”

  1. Ya no existe ese plugin, es decir, no está disponible para descargar en el repositorio de WordPress. Sabéis de alguna otra alternativa? Muchas gracias.

    Un saludo!

Deja un comentario