Debido a que WordPress tiene que trabajar en todo tipo de plataformas, sistemas operativos y configuraciones diferentes, no se puede confiar en que haya un servicio cronjob en el servidor que pueda manejar las tareas programadas. Esta es la razón por la cual los desarrolladores de WordPress han creado una solución alternativa: el archivo wp-cron.php en su carpeta principal de WordPress se ejecuta cada vez que alguien carga una página. Luego comprueba si hay una tarea programada que hacer y la ejecuta si es necesario.
Sin embargo, en algunos casos, este archivo puede convertirse en el objetivo de un ataque de DOS, o los complementos de almacenamiento en caché pueden interferir con su ejecución, lo que puede causar una gran carga del servidor o las tareas programadas pueden no ejecutarse correctamente y a tiempo. Es por eso que puede sustituir esta ejecución constante de archivo con un trabajo cron real.
Primero, debe deshabilitar el script para que se ejecute cada vez que alguien cargue una de sus páginas. Para hacer esto, abra el archivo wp-config.php en su carpeta principal de WordPress y agregue la siguiente línea antes de la línea:
«/ * ¡Eso es todo, deje de editar! Feliz línea de blogs. * /»: define('DISABLE_WP_CRON', true);
Una vez que haga eso, debe configurar un trabajo cron real y ejecutar el archivo wp-cron.php con él. No desea activarlo con demasiada frecuencia: 30 minutos deberían estar bien para la mayoría de los sitios web. Para hacer esto, inicie sesión en su cPanel y vaya a la herramienta de trabajos Cron ubicada en la sección Avanzado.
Luego, agregue el siguiente comando que se ejecutará cada 30 minutos:
*Debes reemplazar yourdomain.com con su nombre de dominio real.
wget -q -O - http://yourdomain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1