Para optimizar el sistema de cron de WordPress y reducir el consumo excesivo de CPU causado por la ejecución frecuente de tareas programadas:
¿Qué es WP-Cron y por qué puede causar problemas?
WP-Cron es el sistema de tareas programadas de WordPress que se ejecuta con cada visita al sitio web, no a intervalos fijos de tiempo. Esto significa que:
- Se activa cada vez que alguien carga una página del sitio
- En sitios con mucho tráfico, puede ejecutarse constantemente
- Consume recursos de CPU y memoria con cada ejecución
- No está diseñado para funcionar como un cron tradicional de Unix
Verificar el consumo de recursos
- Acceder al panel de control DirectAdmin utilizando las credenciales de administrador del dominio.
- En el menú principal, hacer clic en
Características Adicionales > Resource Usage. - Verificar los niveles de consumo de CPU, memoria y procesos.
- Si el consumo es elevado y hay plugins nuevos instalados, continuar con la optimización del cron.
Desactivar WP-Cron en WordPress
- Acceder al Administrador de archivos de DirectAdmin ( Subir archivos con el Administrador de archivos)
- Navegar hasta la carpeta raíz del sitio WordPress (generalmente public_html).
- Localizar y editar el archivo wp-config.php.
- Buscar la línea que contiene
define('WP_DEBUG', false);o similar. - Agregar la siguiente línea antes de
/* That's all, stop editing! Happy publishing. */:// Desactivar WP-Cron para optimizar recursos define('DISABLE_WP_CRON', true); - Guardar los cambios en el archivo.
Configurar cron job del sistema
- En DirectAdmin, hacer clic en
Funciones Avanzadas > Trabajo Cron. - Hacer clic en Crear Cron Job.
- Configurar los siguientes parámetros:
- Minuto:
*/5(cada 5 minutos) - Hora:
*(todas las horas) - Día:
*(todos los días) - Mes:
*(todos los meses) - Día de la semana:
*(todos los días)
- Minuto:
- En el campo Comando, ingresar la ruta completa al archivo wp-cron.php:
php /home/usuario/domains/dominio.com/public_html/wp-cron.phpConsejo: Reemplazar
usuariopor el nombre de usuario real del hosting ypor el dominio correspondiente.dominio.com - Hacer clic en Crear para guardar el cron job.
Alternativas de frecuencia del cron
Según las necesidades del sitio, se pueden configurar diferentes intervalos:
- Cada 5 minutos:
*/5 * * * *- Para sitios con actualizaciones frecuentes - Cada 15 minutos:
*/15 * * * *- Configuración estándar recomendada - Cada 30 minutos:
*/30 * * * *- Para sitios con pocas tareas programadas - Cada hora:
0 * * * *- Para sitios estáticos o con pocas actualizaciones
Verificar la mejora en el rendimiento
- Esperar 30-60 minutos después de implementar los cambios.
- Volver a
Resource Usageen DirectAdmin para verificar la reducción del consumo. - Monitorear el sitio para asegurar que las funciones programadas continúen funcionando.
- Si es necesario, ajustar la frecuencia del cron job según los resultados observados.
Solución de problemas
- Si las tareas programadas no se ejecutan: Verificar que la ruta del archivo wp-cron.php sea correcta
- Si continúa el alto consumo: Revisar qué plugins fueron instalados recientemente y desactivarlos temporalmente
- Si aparecen errores en el sitio: Verificar que la sintaxis en wp-config.php sea correcta
Advertencia: Antes de realizar estos cambios, hacer una copia de seguridad del archivo wp-config.php. Si el sitio presenta problemas después de la modificación, se puede revertir eliminando la línea agregada y desactivando el cron job del sistema.
Consejo: La frecuencia óptima del cron depende del tipo de sitio y la cantidad de tareas programadas. Comenzar con intervalos de 15 minutos y ajustar según sea necesario. Monitorear regularmente el Resource Usage para asegurar que la optimización sea efectiva. Si el problema persiste, abrir un ticket de soporte para recibir asistencia especializada.