wp-cron es la versión de WordPress de un trabajo cron y un trabajo cron es una tarea que se ejecuta según un cronograma, ya sea solo una vez en una fecha y hora en particular o de forma recurrente, como todos los días a las 3 p. m. o cada hora en el minuto 15.
Los trabajos cron tradicionales de Linux se ejecutan exactamente en la fecha y hora en que están configurados para ejecutarse, de manera muy similar a la función del Programador de tareas en Windows. Sin embargo, en la mayoría de los entornos de alojamiento, WordPress no tiene acceso completo al sistema para poder agregarse a los trabajos cron del sistema operativo, lo cual es necesario para que las tareas se activen exactamente en la fecha y hora configuradas.
Para evitar esto, WordPress utiliza un enfoque de mejor esfuerzo ("lo más cerca posible") para programar tareas. Cada vez que un visitante ve una página del sitio web que no está en caché del servidor (como cada página de administración o el carrito de WooCommerce), WordPress verifica si necesita ejecutar algo en wp-cron y, si es así, procede a ejecutar a través de esas tareas programadas en segundo plano y también muestra la página normal que se solicitó.
La desventaja de este enfoque de mejor esfuerzo es que si la mayor parte del tráfico de su sitio llega a las páginas almacenadas en caché (lo cual es óptimo para el rendimiento), wp-cron no tendrá la oportunidad de ejecutarse porque no se está produciendo un procesamiento dinámico para activarlo. Para resolver esto, querrá configurar un trabajo cron del sistema real en Plesk para activar wp-cron. Lo guiaremos a través de este proceso a continuación.
Eventos programados de WooCommerce
Si está utilizando WooCommerce, también tiene su propia cola de eventos programados, pero depende de wp-cron para funcionar.
WooCommerce tiene una excelente guía para solucionar problemas de wp-cron (ya sea que esté usando WooCommerce o no) aquí. Le recomendamos encarecidamente que lo compruebe si cree que tiene problemas con wp-cron.
Configurar wp-cron como un real trabajo cron con Plesk
Tiempo necesario:5 minutos.
Si sospecha que tiene problemas con una tarea cron, puede ser muy beneficioso desvincular las vistas de página normales, como las personas que agregan cosas a su carrito o pagan con WooCommerce, o cualquier vista de página si no está utilizando el almacenamiento en caché, de wp-cron, ya que no desea que las tareas programadas interfieran con acciones importantes como la salida de un cliente.
Aquí se explica cómo hacerlo en el alojamiento Plesk:
- Desactivar wp-cron activado automáticamente
Para deshabilitar la activación automática del trabajo cron de WordPress, abra wp-config.php archivo en la raíz de su instalación de WordPress. Puede modificar el archivo wp-config.php a través de FTP o Plesk File Manager. Busque la línea que dice
define('DB_COLLATE', '');
y justo debajo (o en el área Otras personalizaciones), agregue lo siguiente en una línea propia:define('DISABLE_WP_CRON', true);
- Configurar una tarea programada en Plesk
Inicie sesión en Plesk y seleccione Sitios web y dominios> Tareas programadas> Agregar tarea. Elija la opción para obtener una URL e ingrese la URL como:https://yourdomain.com/wp-cron.php
Configure su horario para que se ejecute cada hora (en un VPS, puede ingresar un horario mucho más frecuente, sin embargo en el alojamiento compartido, es probable que una tarea programada muy frecuente se termine automáticamente en algún momento en el futuro cercano).