En un artículo anterior habíamos visto cómo verificar los recursos de uso de nuestro servidor y solucionarlo en caso de consumo excesivo, la ejecución de wp-cron en wordpress es otro de los puntos que tenemos que tener en cuenta.
Desde el Cpanel de tu cuenta de hosting tienes la opción de crear una tarea cron. WordPress tiene también integrada esta funcionalidad sin embargo el cron de WordPress se conoce como con virtual.
En este artículo veremos cómo desactivar el cron de WordPress y en su lugar hacer la ejecuciones de tareas a través de la creación de un cron a nivel de Cpanel.
Tabla de contenidos
¿Qué es un cron virtual?
Para que el wp-cron de WordPress se ejecute el sitio web debe ser cargado, es decir, cada vez que un sitio web se carga entonces WordPress verifica si tiene alguna tarea programada por realizar.
Esto tiene dos problemas, la continua comprobación de tareas por cada visita y la otra es que si tu sitio web tiene pocas visitas las tareas programadas podrían no ejecutarse.
¿Qué tareas realiza wp-cron?
Entre alguna de las tareas que por defecto tiene esta funcionalidad están:
- Verificación de actualizaciones del core e WordPress
- Verificación de actualizaciones de plantillas y plugins.
- Envíos de Pingbacks.
- Procesos de copias de seguridad.
- Publicar artículos en fechas especificas.
Algunos plugins puede también agregar programaciones al cron de WordPress sumándose a estas que ya tiene por defecto.
Desactivando el wp-cron de WordPress
Lo primero que realizaremos será deshabilitar el comportamiento por defecto de WordPress, lo haremos con el siguiente código, el cual debe ser agregado en el archivo wp-config.php de tu sitio web.
define('DISABLE_WP_CRON', true);
El archivo wp-config.php se encuentra en la raíz de tu sitio web web.
Para ubicar y editar este archivo puedes usar el Administrador de Archivos de tu Cpanel.
Cron de WePanel para las tareas de WordPress
En un artículo anterior habíamos visto como crear un cron en el Cpanel de tu cuenta de hosting.
Desde el Cpanel de tu cuenta de hosting ubica la sección de Avanzados y luego la aplicación de tareas cron.
Este comando vamos a poder gestionarlo de dos formas, el básico y el experto, sin embargo, lo que debemos escribir será igual para ambos casos, en caso de tener la versión PHP en 7.4 será el siguiente:
/opt/alt/php74/usr/bin/php /home/USUARIO_CPANEL/public_html/wp-cron.php >/dev/null 2>&1
Siguiendo la misma logica si tenemos una version PHP de 8.1 que es una de las mas recomendadas hasta el momento el codigo para agregar seria el siguiente:
/opt/alt/php81/usr/bin/php /home/USUARIO_CPANEL/public_html/wp-cron.php >/dev/null 2>&1
- Reemplaza USUARIO_CPANEL por el nombre del usuario de Cpanel
- También puedes cambiar php74 o php81 por la versión de PHP que desees, por ejemplo por para una versión PHP de 8.0 sería php80, tendremos la libertad de escribir la versión PHP que estamos usando más allá del ejemplo que vemos
- Asegúrate de que la ruta al archivo wp-cron.php sea la correcta, el archivo tiene que estar en la ruta en donde tienes tu sitio web WordPress
La configuración de la periodicidad depende qué tantas veces quieres que se ejecute la tarea, en nuestro ejemplo hemos establecido el cron cada 15 minutos, pero puedes cambiar ese periodo de acuerdo a tus necesidades.
Al final obtendremos una nueva tarea cron creada tal como se muestra en la siguiente imagen
Conclusión
A pesar de tener un cron virtual que puede funcionar en muchos casos, si quieres optimizar tu sitio web WordPress, tienes que tener en cuenta que es mejor tener un cron real configurado a través del panel de tu cuenta de hosting.
¿Te ha resultado útil este artículo?
Soporte técnico WordPress en Webempresa y ponente habitual en Meetups y WordCamps de América.