WordPress ejecuta tareas programadas usando wp-cron, pero a diferencia de un cron real, este se dispara en cada visita al sitio. En sitios con tráfico medio o bajo, esto genera ejecuciones irregulares; en sitios con tráfico alto, genera overhead innecesario.

Cuándo conviene cambiarlo

  • Sitios con tráfico constante

  • Tiendas WooCommerce

  • WordPress con tareas pesadas (emails, sincronizaciones, imports)

  • Hosting con acceso a cron del sistema

Paso 1: desactivar wp-cron

Editar wp-config.php y agregar:

define('DISABLE_WP_CRON', true);

Esto evita que WordPress intente ejecutar tareas en cada request.

Paso 2: crear un cron real en el servidor

Configurar un cron del sistema que ejecute wp-cron.php cada 5 o 10 minutos.

Ejemplo (Linux / cPanel):

*/5 * * * * wget -q -O - https://tusitio.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

Alternativa con curl:

*/5 * * * * curl -s https://tusitio.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

Beneficios reales

  • Menos ejecuciones innecesarias

  • Tareas más predecibles

  • Menor carga en cada request

  • Mejor rendimiento general del sitio

Importante

Si desactivás wp-cron y no configurás el cron real, las tareas programadas no se van a ejecutar (publicaciones programadas, emails, limpiezas, etc.).