← Diario

Tareas en segundo plano en WordPress: WP-Cron explicado

noviembre 10, 2026

Una persona activa un portátil en una oficina tranquila al amanecer, junto a un reloj analógico.

Una tarea programada para las 3:00 de la mañana puede ejecutarse a las 3:17, a las 8:00 o cuando alguien vuelva a visitar la web. Así funciona, en pocas palabras, WP-Cron, el sistema que WordPress usa para gestionar tareas en segundo plano. Es práctico y suele bastar para una web pequeña; también puede quedarse corto cuando la puntualidad importa de verdad.

WP-Cron no es un reloj que esté funcionando sin parar en el servidor. Es un mecanismo que comprueba si hay tareas pendientes cuando llega una visita y, si corresponde, intenta ponerlas en marcha. Esa diferencia explica tanto su sencillez como sus límites.

Entender las tareas en segundo plano en WordPress ayuda a diagnosticar publicaciones que salen tarde, correos que no se envían o procesos de tienda que se acumulan. También evita el remedio clásico de instalar tres plugins de optimización sin saber qué problema se intenta resolver.

Qué es WP-Cron y cómo pone en marcha las tareas

WP-Cron es el sistema de eventos programados de WordPress. Permite ejecutar una función en una fecha determinada o repetirla con cierta frecuencia, por ejemplo, para publicar una entrada, comprobar actualizaciones o limpiar datos temporales. En vez de permanecer activo como un servicio permanente, normalmente se activa a partir de las visitas al sitio.

El recorrido es sencillo, aunque no siempre se nota desde fuera. WordPress revisa si hay eventos que ya deberían ejecutarse. Si encuentra alguno, lanza una petición a wp-cron.php, que procesa las tareas pendientes. La documentación para desarrolladores de WordPress sobre el sistema de Cron describe este funcionamiento y cómo los plugins pueden registrar sus propios eventos.

La consecuencia práctica es fácil de pasar por alto: la hora configurada es una referencia, no una cita con precisión de reloj. Si programas una tarea para las 10:00 y nadie visita la web hasta las 10:45, es posible que se ejecute en torno a esa visita, no a las diez en punto.

Por eso, WP-Cron suele funcionar razonablemente bien en blogs, webs corporativas y proyectos con actividad regular. En un sitio con muy poco tráfico, una tarea puede retrasarse; en una tienda con pedidos y procesos frecuentes, pueden importar más la carga y la fiabilidad.

Qué trabajos puede hacer en segundo plano

Las tareas de WP-Cron pueden ser propias de WordPress o añadidas por temas y plugins. Algunas son rutinarias y apenas se perciben; otras afectan directamente a la experiencia del usuario o a la operación del negocio.

  • Publicar entradas programadas: WordPress comprueba si ha llegado la hora de publicar contenido que se dejó preparado.
  • Comprobar actualizaciones: el sistema puede revisar actualizaciones de WordPress, temas y plugins.
  • Procesar acciones de plugins: por ejemplo, enviar avisos, sincronizar información o ejecutar tareas de mantenimiento.
  • Limpiar datos temporales: algunos componentes eliminan registros caducados, sesiones antiguas o información que ya no necesitan.
  • Gestionar procesos de comercio electrónico: una tienda puede programar tareas vinculadas a pedidos, inventario o comunicaciones.

La lista no significa que cada instalación haga todo eso ni que todos los procesos tengan la misma prioridad. Un plugin puede programar un evento periódico aunque la función parezca menor, y una acumulación de tareas puede acabar afectando a una operación más visible. Si una publicación programada aparece tarde, por ejemplo, conviene revisar primero el estado de WP-Cron antes de culpar al editor de bloques.

La diferencia entre WP-Cron y el cron del servidor

El cron del servidor es una herramienta del sistema operativo que ejecuta comandos siguiendo un horario. A diferencia de WP-Cron, no necesita esperar a que llegue un visitante al sitio. Un administrador puede configurarlo para que llame a WordPress cada cinco minutos, cada diez o con el intervalo que admita su alojamiento.

La diferencia se resume así:

  • WP-Cron: se activa a partir de visitas y resulta sencillo de usar, pero la hora real de ejecución puede variar según el tráfico.
  • Cron del servidor: se activa según una agenda configurada fuera de WordPress y ofrece más control sobre la frecuencia.

Si el sitio recibe visitas frecuentes y las tareas no son urgentes, WP-Cron puede ser suficiente. Si se trata de una tienda, una web con importaciones periódicas o un proceso que debe correr aunque no haya usuarios conectados, un cron real suele ser una opción más previsible. No convierte cada tarea en instantánea: solo elimina la dependencia de una visita para iniciar la comprobación.

WordPress explica las opciones de configuración en su guía de administración de WP-Cron. En muchos alojamientos, el cambio consiste en desactivar la ejecución automática ligada a las visitas y configurar una tarea programada que invoque el proceso de WordPress. La forma exacta depende del panel y del proveedor; no conviene copiar un comando sin comprobar rutas, permisos y restricciones del servidor.

Cómo revisar tareas programadas sin tocar código a ciegas

Antes de cambiar la configuración, conviene averiguar qué eventos existen y si están pendientes. Un plugin de administración como WP Crontrol permite inspeccionar eventos programados desde el panel y, con cuidado, ejecutar o eliminar algunos. Es una herramienta de diagnóstico, no una invitación a borrar todo lo que tenga un nombre poco familiar.

Una revisión básica

  1. Identifica el síntoma. ¿Falla una publicación programada, un correo, una sincronización o varias tareas a la vez?
  2. Revisa los eventos y sus horarios. Comprueba si hay eventos vencidos, duplicados o asociados a plugins que ya no utilizas.
  3. Actualiza y prueba de forma controlada. Una tarea puede depender de un plugin, de una conexión externa o de recursos que no están disponibles.
  4. Consulta los registros. Los registros de WordPress, del plugin y del alojamiento pueden mostrar errores que el panel no explica.

La función wp_next_scheduled() permite comprobar cuándo está previsto el siguiente evento de un tipo concreto. Para registrar eventos recurrentes, WordPress ofrece wp_schedule_event(). Son referencias útiles para quien mantiene código propio, pero no hace falta programar nada para revisar primero una instalación problemática.

Errores frecuentes y decisiones sensatas

El primer error es esperar precisión de minuto a minuto a un sistema que depende de las visitas. Si un proceso debe ejecutarse a una hora concreta, la solución suele pasar por configurar el cron del servidor o por rediseñar el proceso para tolerar retrasos.

El segundo es desactivar WP-Cron sin reemplazarlo. La constante DISABLE_WP_CRON puede impedir que WordPress intente lanzar tareas con cada visita, pero, si no se configura una alternativa en el servidor, también puede dejar eventos sin ejecutar. Desactivar no equivale a optimizar; a veces solo equivale a apagar el despertador.

También hay que vigilar las tareas largas. Un proceso que importa miles de productos o consulta una API puede tardar más de lo previsto, fallar por límites del alojamiento o coincidir con otra ejecución. En código personalizado, conviene diseñar las tareas para que puedan repetirse sin duplicar efectos: por ejemplo, comprobando si un registro ya se procesó antes de volver a crear una acción.

Por último, no todos los eventos que aparecen en una instalación son automáticamente sospechosos. Algunos pertenecen al núcleo o a plugins activos. Antes de borrarlos, identifica quién los programa y qué hacen; si desaparecen, el plugin podría volver a crearlos o dejar una función importante sin servicio.

Lo que mucha gente se pregunta

¿WP-Cron funciona si mi web recibe pocas visitas?

Sí, pero una tarea puede ejecutarse tarde porque el sistema suele necesitar una visita para comprobar lo pendiente. Si la puntualidad importa o la web tiene muy poco tráfico, un cron del servidor evita esa dependencia.

¿Tengo que instalar un plugin para usar WP-Cron?

No. WordPress incluye el sistema y muchos plugins lo usan sin que tengas que configurarlo. Una herramienta como WP Crontrol sirve para inspeccionar eventos, no es un requisito para que WP-Cron exista.

¿Desactivar WP-Cron hace que mi web vaya más rápido?

No necesariamente. En sitios con mucho tráfico puede reducir comprobaciones asociadas a las visitas, pero hay que sustituirlas por una tarea programada del servidor. Si no, algunas funciones automáticas pueden dejar de ejecutarse.

¿Cada cuánto debería ejecutarse el cron del servidor?

Depende de las tareas. Para muchos sitios, una comprobación cada cinco minutos es un punto de partida habitual, pero no es una regla universal: una web sencilla quizá necesite menos frecuencia y un proceso de negocio puede requerir una estrategia distinta.

WP-Cron resuelve una necesidad concreta con una idea sencilla: ejecutar trabajo que no hace falta cargar en la petición de cada usuario. Para una web tranquila, suele bastar; para procesos sensibles al tiempo o con mucho volumen, merece la pena revisar el cron del servidor y los registros. La mejor configuración no es la más sofisticada, sino la que ejecuta las tareas necesarias con la regularidad que tu sitio realmente exige.

¿Quieres aplicar esto en tu negocio?

Cuéntame tu proyecto y te digo por dónde empezaría.

Cuéntame tu proyecto