Como muchos sabéis WordPress provee de una opción para poder programar la publicación de los post automáticamente, pero ¿Cómo funciona?

publicarAuto

WordPress está pensado para ser instalado por un usuario en un hosting compartido y se asume que no tiene acceso al sistema ni a crear tareas programadas en el servidor aquí llamadas CRON, por eso lleva incluido su propio “cron” pero no es un cron real sino que es una especie de “apaño” y que se ejecuta cada vez que un usuario accede a nuestro sitio web, PERO ¿Si a la hora que hemos programado no accede nadie a nuestro sitio web? o ¿Que sucede si tenemos un plugin de caché y no salta el disparador de wp-cron.php? en estos casos al entrar a tu WP verás que tu entrada no está publicada y en la admin verás el típico mensaje de “Publicación perdida”

errorPublicacionPerdida

Si tu hosting tiene Cpanel o plesk quizá tengas opción de crear una tarea para solucionar este problema pero si eres sysadmin puedes crear directamente una tarea en el CRON de tu servidor, ¿Cómo? así:

Accedemos por ssh y nos movemos al directorio /etc/ dentro editamos el fichero “crontab” así:

nano crontab

una vez dentro al final del todo añadimos esta línea (sustituyendo “lostinth3net” por la carpeta de tu sitio web):

0,5,10,15,20,25,30,35,40,45,50,55 * * * * root cd /var/www/lostinthen3t/; php -f wp-cron.php > /dev/null 2>&1

(obviamente cambiando la ruta por la del sitio a solucionar)

Así cada 5 minutos se ejecutará esta tarea que será quien publique los post por ti.

Y ya para mejorarlo aun más vamos a desactivar el CRON de wordpress y asi alijerar la carga de la página, para eso solo tenemos que añadir esta línea al fichero “wp-config.php”

define('DISABLE_WP_CRON', true);

y listo!!!