¿Te preocupa que las tareas programadas de WordPress fallen, ralenticen la web o se ejecuten fuera de hora? Esta guía práctica explica de forma clara y sin tecnicismos cómo controlar cron y tareas programadas en WordPress, con decisiones seguras para principiantes y pasos listos para aplicar.
Puntos clave: Lo que debes saber en 1 minuto
WP‑Cron se activa por visitas , no por reloj real: no es un cron de sistema y puede retrasarse o ejecutarse varias veces en picos.
Plugin recomendado para principiantes: WP Crontrol por su sencillez y seguridad para ver, editar y ejecutar tareas.
Solución estable para rendimiento: desactivar WP‑Cron y programar un cron del servidor o un cron externo si el sitio tiene tráfico medio/alto.
Qué hacer si WP‑Cron causa picos: limitar ejecución, añadir locking o mover tareas pesadas a crons del servidor.
Comprobar retrasos: revisar zonas horarias, hooks con dependencias y tiempos de ejecución largos.
Por qué importa controlar cron y tareas programadas en WordPress
Las tareas programadas ejecutan backups, limpieza de caché, envíos de newsletters y tareas de mantenimiento. Si no funcionan bien, puede que los backups fallen, las suscripciones no se envíen o la caché no se purgue, lo que afecta a la seguridad y velocidad. Para un principiante es esencial elegir soluciones fáciles, con bajo riesgo de romper la web y sin configuraciones complejas.
Mejor plugin cron WordPress para principiantes: opciones y criterio de elección
Requisitos para un plugin ideal
Fácil instalación y configuración , preferible con interfaz clara.
Mínimo impacto en rendimiento : no debe añadir peticiones constantes.
Permitir ver, ejecutar y eliminar tareas sin tocar código.
Buena reputación y soporte (actualizaciones activas, valoraciones).
Recomendaciones prácticas
WP Crontrol, Mejor para principiantes . Permite listar tareas, ejecutar una vez y editar frecuencias. Interfaz en el panel y muy estable.
Advanced Cron Manager, Alternativa con más opciones para usuarios con algo más de confianza técnica.
Simple Scheduled Posts, Útil solo si la necesidad principal es gestionar publicaciones programadas.
Comparativa rápida (más segura a la izquierda)
Plugin
Facilidad
Impacto
Dónde usar
WP Crontrol
Muy fácil
Bajo
Blogs, webs de negocio pequeñas
Advanced Cron Manager
Fácil-media
Medio
Sitios con tareas más complejas
Simple Scheduled Posts
Muy fácil
Bajo
Solo programación de publicaciones
✉
¿Quieres más información? Escríbenos y te orientamos
Gestionar tareas programadas WordPress paso a paso (guía para principiantes)
Paso 1: identificar si el sitio usa WP‑Cron
Abrir el plugin recomendado (WP Crontrol) o comprobar si wp-cron está activo buscando define('DISABLE_WP_CRON', true); en wp-config.php.
Si no aparece la constante o el plugin lista tareas, el sitio usa WP‑Cron por defecto.
Paso 2: revisar tareas existentes y su frecuencia
Usar WP Crontrol: ver nombre del hook, próximo evento y frecuencia.
Buscar tareas con tiempos próximos muy seguidos o con funciones desconocidas.
Paso 3: probar ejecución manual y revisar logs
Ejecutar la tarea desde el plugin y comprobar efectos (por ejemplo, crear un backup de prueba en un entorno staging).
Revisar logs del servidor o logs del plugin para errores.
Paso 4: decidir estrategia (mantener WP‑Cron o mover a cron del servidor)
Mantener WP‑Cron si el sitio tiene poco tráfico y las tareas son ligeras.
Mover a cron del servidor si el sitio tiene tráfico medio/alto, tareas pesadas o se requieren ejecuciones precisas.
Paso 5: si se mueve a cron del servidor, cómo hacerlo (paso a paso)
Añadir define('DISABLE_WP_CRON', true); al wp-config.php antes de / That's all, stop editing. /.
Programar un cron en el servidor o un cron externo (cada 5-15 minutos recomendado). Ejemplo crontab (Linux):
Abrir crontab con crontab -e y añadir:
*/5 * * * * wget -q -O - "https://example.com/wp-cron.php?doing_wp_cron" >/dev/null 2>&1
Comprobar ejecución y logs del host.
(En entornos gestionados o shared hosting, solicitar al soporte que añadan la tarea si no existe acceso SSH.)
sustituir https://example.com por la URL real del sitio. Para enlaces oficiales consultar la documentación de WordPress: Documentación WP‑Cron .
Qué hacer cuando wp-cron causa picos en el servidor
Identificar el origen del pico
Monitorizar tiempos de respuesta y picos con herramientas del hosting o plugins de monitorización.
Ver si los picos coinciden con ejecución de un hook concreto (backup, sync, import).
Desactivar ejecución automática y ejecutar tareas manualmente desde WP Crontrol hasta tener plan.
Reducir frecuencia de tareas no críticas (por ejemplo pasar de cada minuto a cada 15 minutos).
Mover tareas pesadas (backups, exportaciones) a crons del servidor o servicios externos (ej.: backups gestionados por el hosting).
Técnicas para evitar ejecución simultánea
Usar locking (bloqueo) en la tarea: muchas librerías o plugins añaden locking para que no se solapen.
Implementar verificación de ejecución en la función (si existe flag de ejecución, abortar).
Alternativas a wp-cron para mejorar rendimiento: opciones seguras para principiantes
Cron del servidor (crontab), Recomendado para sitios con tráfico medio/alto . Preciso y estable.
Cron externo (servicios como EasyCron o servicios del hosting), Buena opción si no hay acceso al servidor .
systemd timers / Kubernetes CronJobs, Para entornos avanzados (hosting propio, VPS o infra en la nube).
Cuándo elegir cada alternativa
Hosting compartido sin SSH: usar cron externo o pedir soporte a hosting.
VPS/dedicado con acceso: crear crontab o systemd timer.
Entornos Docker/Kubernetes: usar CronJob de K8s o contenedores dedicados.
Por qué se retrasan tareas cron WordPress y cómo solucionarlo
Tráfico bajo: WP‑Cron solo se dispara en visitas; sin tráfico no hay ejecución. Solución: cron del servidor o cron externo.
Zonas horarias incorrectas: revisar ajustes de zona horaria en Ajustes → Generales y en el servidor.
Tareas que tardan demasiado: funciones pesadas bloquean la cola; solucionar moviendo a procesos separados o optimizando el código.
Errores silenciosos: funciones con excepciones no controladas pueden interrumpir ejecuciones posteriores; revisar logs.
✉
¿Quieres más información? Escríbenos y te orientamos
Checklist de troubleshooting rápido (ordenado para principiantes)
¿WP‑Cron está activo? Revisar wp-config.php.
¿Hay tareas repetidas o desconocidas? Listar con WP Crontrol.
¿Las tareas fallan con errores? Consultar logs del servidor o debug.log.
¿Se producen picos en horarios concretos? Correlacionar con tareas programadas.
¿Falta tráfico y las tareas no se ejecutan? Programar cron del servidor o cron externo.
Flujo para controlar cron en WordPress
🔎
Paso 1 → Revisar si WP‑Cron está activo
🧾
Paso 2 → Listar tareas con WP Crontrol
⚙️
Paso 3 → Decidir: mantener WP‑Cron o migrar
🚀
Paso 4 → Implementar cron del servidor o servicio externo
🔁
Paso 5 → Monitorizar y ajustar frecuencias
Errores comunes que deben evitar los principiantes
No hacer copia de seguridad antes de editar wp-config.php.
Desactivar WP‑Cron sin programar una alternativa.
Ejecutar tareas pesadas con frecuencia demasiado alta (cada minuto).
Eliminar tareas sin verificar quién las creó (plugins o themes pueden depender de ellas).
Casos de uso prácticos y plantillas de crontab (copiar y pegar)
Ejecutar wp-cron cada 5 minutos via wget:
*/5 * * * * wget -q -O - "https://example.com/wp-cron.php?doing_wp_cron" >/dev/null 2>&1
Ejecutar wp-cron cada 15 minutos via curl:
*/15 * * * * curl -s "https://example.com/wp-cron.php?doing_wp_cron" >/dev/null 2>&1
En hosts con protección de cabeceras, puede ser necesario incluir un user agent o token.
Monitorización y alertas recomendadas para tareas programadas
Revisar logs y configurar alertas por fallo de ejecución (email o webhook).
Herramientas recomendadas: servicios cron externos que avisan por fallo; monitorización del hosting.
Seguridad y permisos: precauciones prácticas
Evitar exponer wp-cron.php públicamente con parámetros inseguros. Si se usa cron externo, preferir llamadas HTTPS sin parámetros extra.
Usar roles y permisos adecuados: no dar acceso de administrador a quien no deba gestionar tareas.
✉
¿Quieres más información? Escríbenos y te orientamos
Preguntas frecuentes
¿Qué es wp-cron y por qué no es un cron real?
WP‑Cron es un sistema de WordPress que simula cron ejecutando tareas cuando alguien visita la web. No depende del reloj del servidor, por eso no es preciso.
¿Cómo comprobar si una tarea programada falla?
Comprobar con WP Crontrol, ejecutar la tarea manualmente y revisar logs del servidor o debug.log.
¿Se puede desactivar WP‑Cron sin riesgos?
Sí, siempre que se programe una alternativa (cron del servidor o servicio externo); de lo contrario algunas tareas no se ejecutarán.
¿Cada cuánto tiempo debería ejecutar el cron del servidor?
Para la mayoría de webs, cada 5–15 minutos es suficiente. Tareas muy críticas pueden requerir menos intervalo.
¿Por qué algunas tareas se ejecutan varias veces?
Puede deberse a múltiples llamadas provocadas por picos de tráfico o a que la tarea no implementa locking.
¿Qué plugin es mejor para ver y editar cron jobs?
WP Crontrol es la opción recomendada por su simplicidad y seguridad.
¿Cómo afecta la zona horaria a las tareas programadas?
Si la zona horaria de WordPress o del servidor está mal configurada, las tareas pueden ejecutarse en horas distintas a las esperadas.
Ventajas, riesgos y errores comunes
✅ Beneficios / cuándo aplicar
Migrar a cron del servidor cuando el sitio tiene tráfico irregular o tareas pesadas.
Usar WP Crontrol para inspecciones rápidas y cambios puntuales.
Programar backups y tareas de mantenimiento en horarios de baja carga.
⚠ Errores que debes evitar / riesgos
Cambiar wp-config.php sin copia de seguridad.
Mantener tareas pesadas en WP‑Cron en sitios con alto tráfico.
Borrar hooks sin identificar su origen.
Conclusión
Controlar cron y tareas programadas en WordPress es esencial para mantener rendimiento y fiabilidad. Con plugins sencillos como WP Crontrol, decisiones claras sobre migrar a cron del servidor y buenas prácticas de monitorización, las tareas programadas dejarán de ser una fuente de problemas.
Pasos siguientes
Instalar WP Crontrol y listar todas las tareas programadas hoy mismo.
Si el sitio tiene tráfico variable o tareas pesadas, añadir define('DISABLE_WP_CRON', true); y configurar cron del servidor o un servicio externo.
Configurar alertas básicas y revisar logs durante una semana para validar que las tareas se ejecutan correctamente.