WP-Cron en WordPress: cómo funciona y cuándo cambiarlo

WP-Cron lanza tareas programadas cuando alguien visita el sitio. Conoce sus límites, cuándo pasar a un cron del servidor y cómo revisar tareas atascadas.

WP-Cron es el sistema de tareas programadas de WordPress: publicaciones programadas, copias, correos y revisiones de actualizaciones. No es un cron real, porque se dispara cuando llega una visita. En sitios con poco tráfico o con tareas importantes conviene sustituirlo por una tarea del servidor.

Cómo trabaja

Cada visita a una página de WordPress comprueba si hay tareas pendientes y las lanza. Esto implica dos consecuencias: si nadie visita el sitio, las tareas se retrasan; y en sitios con mucho tráfico, las comprobaciones se repiten y consumen recursos. La explicación oficial está en el manual de plugins sobre cron.

Señales de que falla

  • Entradas programadas que aparecen como «Ha fallado la programación».
  • Copias automáticas que no se ejecutan.
  • Correos de seguimiento o recordatorios que salen tarde.
  • Tareas de WooCommerce acumuladas.
  • Carga alta del servidor por muchas ejecuciones simultáneas.

Pasar a un cron del servidor

  1. Desactiva la ejecución por visita añadiendo la constante DISABLE_WP_CRON con valor verdadero en wp-config.php.
  2. Crea una tarea programada en el panel de tu hosting que llame a wp-cron.php a un intervalo regular, o ejecútelo por línea de comandos.
  3. Elige un intervalo acorde a tus tareas más frecuentes.
  4. Comprueba que las tareas pendientes se ejecutan.

Si usas WP-CLI, puede ejecutar los eventos vencidos. Pide ayuda a tu hosting si no sabes dónde crear la tarea.

Cómo ver qué hay programado

Hay plugins de gestión de cron que listan las tareas, su frecuencia y sus resultados. Úsalos solo para diagnóstico y elimina los que no necesites. Si tienes tareas que dependen de este sistema, como las copias, valida que corren de verdad, como en copias automáticas. Y si el hosting limita procesos, revisa qué revisar en el hosting.

Una forma práctica de decidir es observar qué tareas dependen de WP-Cron en tu sitio. Si solo publica entradas programadas y revisa actualizaciones, el sistema por defecto suele bastar. Si gestiona copias, recordatorios, sincronizaciones con un CRM o mantenimiento de una tienda, un retraso tiene costo real y conviene un cron del servidor. Antes del cambio, anota las tareas pendientes actuales para confirmar que se ejecutan después y no se pierden.

Lista de comprobación final:

  • Lista las tareas que dependen de WP-Cron.
  • Crea la tarea del servidor antes de desactivar la ejecución por visita.
  • Verifica que no queden tareas atascadas.

En resumen

  • Cómo trabaja: Cada visita a una página de WordPress comprueba si hay tareas pendientes y las lanza.
  • Señales de que falla: Entradas programadas que aparecen como «Ha fallado la programación».; Copias automáticas que no se ejecutan.
  • Pasar a un cron del servidor: Desactiva la ejecución por visita añadiendo la constante DISABLE_WP_CRON con valor verdadero en wp-config.php.; Crea una tarea programada en el panel de tu hosting que llame a wp-cron.php a un intervalo regular…
  • Cómo ver qué hay programado: Hay plugins de gestión de cron que listan las tareas, su frecuencia y sus resultados.

Lo que suelen preguntar sobre WP-Cron en WordPress

¿Desactivar WP-Cron rompe el sitio?

Solo si no creas la tarea de reemplazo. Con la tarea del servidor, todo debe seguir funcionando.

¿Con qué frecuencia debe correr el cron real?

Depende de la tarea más frecuente que tengas; evita intervalos muy cortos si no los necesitas.

¿Mi hosting permite crear tareas programadas?

La mayoría de los paneles lo permiten. Si el tuyo no, consulta con soporte o con un especialista.