Debido a que WordPress tiene que trabajar en todo tipo de plataformas, sistemas operativos y configuraciones diferentes, no puede confiar en que habrá un servicio cronjob en el servidor que pueda manejar las tareas programadas. Por ello, los desarrolladores de WordPress han creado una solución: el archivo wp-cron.php de la carpeta principal de WordPress se ejecuta cada vez que alguien carga una página. A continuación, comprueba si hay una tarea programada por hacer y la ejecuta si es necesario.
Sin embargo, en algunos casos, este archivo puede convertirse en un objetivo de un ataque DOS, o los plugins de caché pueden interferir con su ejecución, lo que puede causar una gran carga en el servidor o que las tareas programadas no se ejecuten correctamente y a tiempo. Por ello, puedes sustituir la ejecución de este archivo constante por una tarea cron real.
Primero, debes desactivar el script para que se ejecute cada vez que alguien cargue una de tus páginas. Para ello, abre el archivo wp-config.php en tu carpeta principal de WordPress y añade la siguiente línea antes de «/* ¡Eso es todo, deja de editar! Feliz blogueo. */»:
define('DISABLE_WP_CRON', true);
Una vez hecho esto, tienes que configurar un trabajo cron real y ejecutar el archivo wp-cron.php con él. Usted no quiere desencadenar demasiado a menudo – 30 minutos debería estar bien para la mayoría de los sitios web. Para ello, vaya a su Herramientas del sitio > Devs > Cron Jobs.
Entonces, añada el siguiente comando para que se ejecute cada 30 minutos:
wget -q -O - http://yourdomain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
Sustituya sudominio.com por su nombre de dominio real. La herramienta Cron jobs tiene preestablecidas algunas de las programaciones más comunes, por lo que basta con seleccionar Dos veces por hora en el menú desplegable de intervalos.