Las tareas cron de WordPress (WP-Cron) gestionan tareas programadas como la publicación de entradas, el envío de correos electrónicos o la ejecución de actualizaciones de plugins. A diferencia de los cron jobs de servidor tradicionales, WP-Cron se activa por las visitas al sitio web, lo que a veces puede dar lugar a problemas si no se configura correctamente. Esta guía explica cómo verificar que WP-Cron está funcionando correctamente.
Requisitos previos
- Acceso al panel de administración de WordPress.
- Acceso FTP/SFTP o acceso de administrador de archivos a su instalación de WordPress (opcional para algunos métodos).
- Conocimientos básicos de plugins de WordPress y entornos de servidor.
Cupón Afiliados Cron Empleo
Coupon Affiliates crea y ejecuta los siguientes cron jobs:
- wcusage_reports - Para informes de afiliación programados.
- wcusage_payoutschedule - Para solicitudes de pago programadas.
- wcusage_cronjob - Para comprobar diariamente la comisión diferida de los pedidos.
- wcusage_twicedaily_conversion_rates - Para comprobar y actualizar los índices de conversión.
Métodos para comprobar WP-Cron
1. Utilice un plugin de monitorización Cron
Plugins como WP-Crontrol o Cron Manager avanzado ofrecen una forma sencilla de inspeccionar y gestionar las tareas cron.
Pasos:
- Instalar el plugin:
- Vaya a su panel de administración de WordPress.
- Vaya a Plugins > Añadir nuevo.
- Busque "WP-Crontrol" o "Advanced Cron Manager".
- Instale y active el plugin.
- Comprobar Cron Events:
- Para WP-Crontrol:
- Ir a Herramientas > Cron Events en el menú de administración de WordPress.
- Revise la lista de trabajos cron programados, sus ganchos, horarios y próximas horas de ejecución.
- Para Advanced Cron Manager:
- Ir a Herramientas > Cron Manager.
- Consulte la tabla de eventos para obtener información detallada sobre los cron jobs activos.
- Para WP-Crontrol:
- Probar un Cron Job:
- En WP-Crontrol, puede ejecutar manualmente una tarea cron haciendo clic en Corre ahora junto a un evento.
- Verificar si la tarea (por ejemplo, un puesto programado) se ejecuta como se esperaba.
- Comprobación de errores:
- Busque cualquier mensaje de error o trabajos que estén atascados (por ejemplo, sin hora de "Próxima ejecución" o fallos repetidos).
- Asegúrese de que la programación cron se ajusta a sus expectativas.
¿Por qué utilizar este método?
Los plugins proporcionan una interfaz visual que facilita la depuración de problemas sin tocar el código. También permiten la activación manual y muestran el estado en tiempo real.
2. Compruebe los registros del servidor o la depuración
Si WP-Cron no está funcionando como se espera, problemas con el servidor o cron deshabilitado pueden ser la causa.
Pasos:
- Activar la depuración en WordPress:
- Edita tu
wp-config.php
y añadir:define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false);
- Esto registra los errores en
wp-content/debug.log
.
- Edita tu
- Monitorizar la actividad de WP-Cron:
- Añada lo siguiente a su
wp-config.php
para registrar eventos de WP-Cron:define('WP_CRON_LOG', true);
- Compruebe el registro de depuración en busca de entradas relacionadas con cron después de activar WP-Cron (por ejemplo, visitando su sitio).
- Añada lo siguiente a su
- Compruebe el Cron del servidor (si WP-Cron está deshabilitado):
- Si ha desactivado WP-Cron (mediante
define('DISABLE_WP_CRON', true);
enwp-config.php
) y configure una tarea cron del servidor, verifique la tarea cron en el panel de control de su servidor (por ejemplo, cPanel) o en crontab:crontab -l
- Asegúrese de que la tarea cron ejecuta el siguiente comando cada 5-15 minutos:
wget -q -O - https://yourdomain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
- Compruebe los registros del servidor (p. ej,
/var/log/cron
) para los errores de ejecución.
- Si ha desactivado WP-Cron (mediante
¿Por qué utilizar este método?
La depuración y los registros ayudan a identificar problemas más profundos, como errores de configuración del servidor o WP-Cron desactivado.
3. Prueba con una tarea programada ficticia
Cree una tarea cron de prueba para confirmar que WP-Cron funciona.
Pasos:
- Añadir un Cron Job de prueba:
- Añada el siguiente código al tema
funciones.php
o un plugin personalizado:
- Añada el siguiente código al tema
add_action('my_test_cron_job', 'my_test_cron_function');
function mi_prueba_cron_funcion() {
error_log('La tarea cron de prueba se ejecutó a las ' . current_time('mysql'));
}
if (!wp_next_scheduled('my_test_cron_job')) {
wp_schedule_event(time(), 'hourly', 'my_test_cron_job');
}
- Activar WP-Cron:
- Visite su sitio o ejecute manualmente
wp-cron.php
como se ha descrito anteriormente.
- Visite su sitio o ejecute manualmente
- Verificar la ejecución:
- Compruebe el
wp-content/debug.log
para el mensaje registrado (asegúrese de queWP_DEBUG_LOG
está activado). - Alternativamente, utilice WP-Crontrol para confirmar el
mi_prueba_cron_job
está programado y en marcha.
- Compruebe el
¿Por qué utilizar este método?
Este método confirma la funcionalidad de WP-Cron de forma controlada, aislando los problemas del propio WP-Cron.
Problemas comunes y soluciones
- WP-Cron no se activa:
- Asegúrese de que su sitio tiene suficiente tráfico para activar WP-Cron. Para sitios con poco tráfico, considere desactivar WP-Cron y utilizar una tarea cron del servidor.
- Compruebe si
define('DISABLE_WP_CRON', true);
enwp-config.php
. Si existe, asegúrese de que se ha configurado una tarea cron en el servidor.
- Trabajos bloqueados o retrasados:
- Borre los trabajos atascados usando WP-Crontrol o Advanced Cron Manager.
- Compruebe si hay conflictos entre plugins desactivándolos temporalmente.
- Restricciones del servidor:
- Algunos hosts bloquean
wp-cron.php
o limitar la ejecución de cron. Póngase en contacto con su proveedor de alojamiento para confirmarlo.
- Algunos hosts bloquean
- Problemas de SSL:
- Si su sitio utiliza HTTPS, asegúrese de que la tarea cron del servidor utiliza el protocolo correcto (
https://
).
- Si su sitio utiliza HTTPS, asegúrese de que la tarea cron del servidor utiliza el protocolo correcto (
Buenas prácticas
- Utilice un Cron de Servidor para Sitios de Alto Tráfico: Desactivar WP-Cron y configurar una tarea cron del servidor para reducir la carga en las visitas a la página:
- Control regular: Utilice plugins como WP-Crontrol para comprobar periódicamente la salud del cron.
- Mantenga actualizados los plugins: Los plugins desactualizados pueden causar conflictos o errores de cron.
- Prueba después de los cambios: Pruebe siempre los cron jobs después de modificar plugins, temas o la configuración del servidor.
Conclusión
Comprobar WP-Cron en WordPress es sencillo con plugins como WP-Crontrol o métodos manuales como la inspección y depuración de la base de datos. Siguiendo los pasos anteriores, puede confirmar que sus tareas programadas se están ejecutando como se esperaba y solucionar cualquier problema. Para un rendimiento óptimo, considere descargar WP-Cron a una tarea cron del servidor, especialmente para sitios con tráfico significativo o tareas complejas.