WordPress incluye un sistema de programación integrado conocido como WP-Cron, que es responsable de administrar tareas programadas como la publicación de entradas a una hora específica, el envío de correos electrónicos activados o la ejecución de copias de seguridad automatizadas.
Si bien WP-Cron es conveniente y funciona bien para muchos sitios web, tiene limitaciones. Un problema común es que a veces omite tareas programadas, especialmente en sitios con poco tráfico.
Una alternativa más confiable es configurar trabajos cron adecuados administrados por el servidor de su proveedor de alojamiento web. Estos trabajos cron son independientes de las visitas al sitio y se ejecutan en un horario preciso, lo que garantiza que las tareas se ejecuten de manera consistente y a tiempo.
En WPBeginner, confiamos en trabajos cron adecuados configurados directamente en nuestro servidor para garantizar que todas nuestras tareas programadas se ejecuten a tiempo, y este enfoque nos ha brindado consistentemente excelentes resultados. Esto significa que no tenemos que preocuparnos por retrasos u omisiones de tareas, incluso durante períodos de bajo tráfico o alta actividad del servidor.
En este artículo, le mostraremos cómo deshabilitar fácilmente wp-cron en WordPress y cubriremos dos formas en que puede configurar trabajos cron adecuados.

¿Por qué deshabilitar wp-cron?
Su sitio web de WordPress tiene un sistema de programación integrado llamado wp-cron. Realiza tareas sensibles al tiempo, como verificar actualizaciones, publicar entradas programadas, crear automáticamente copias de seguridad periódicas, enviar correos electrónicos activados y más.
Puede obtener más información en nuestra guía sobre cómo ver y controlar los trabajos cron de WordPress.

El problema es que WordPress solo se activa para verificar trabajos programados cuando alguien visita su sitio web. Esto funciona lo suficientemente bien para la mayoría de los sitios, pero a veces puede causar problemas para los más pequeños.
Por ejemplo, si tu sitio tiene poco tráfico, entonces tus publicaciones programadas podrían no publicarse a tiempo. Si tu sitio web recibe mucho tráfico, wp-cron se revisará con frecuencia, lo que podría afectar el rendimiento de tu sitio web.
Ahora bien, si solo quieres solucionar el error de publicaciones programadas perdidas, puedes usar el plugin gratuito Missed Scheduled Publisher. Pero si quieres resolver todos los problemas de acciones programadas, necesitas un cron job real.
Un cron job real es ejecutado por el sistema operativo del servidor de tu web, no por WordPress. Puedes configurarlo para que revise las tareas programadas de manera más confiable. Por defecto, WordPress no tiene acceso para configurarlo a nivel de servidor, pero puedes hacerlo fácilmente siguiendo nuestro tutorial.
Dicho esto, veamos cómo deshabilitar fácilmente wp-cron y configurar un cron job adecuado. Esto es lo que cubriremos en este tutorial:
- Deshabilitar wp-cron en WordPress
- Método 1: Configurar un Cron Job adecuado en tu Host de WordPress
- Método 2: Configurar un Cron Job adecuado usando un Servicio de Terceros
- Extra: Programa automáticamente tus publicaciones de blog de WordPress
Deshabilitar wp-cron en WordPress
Para deshabilitar wp-cron, necesitas editar wp-config.php, que es un archivo de configuración principal de WordPress. Se encuentra en la carpeta raíz de tu sitio de WordPress y necesitarás usar un cliente FTP o el administrador de archivos en el panel de control de tu hosting web.
Este archivo contiene mucha información sensible y hacer los cambios incorrectos puede dañar tu sitio de WordPress. Recomendamos hacer una copia de seguridad del archivo primero, por si acaso. Puedes aprender cómo siguiendo nuestra guía sobre cómo editar wp-config.php en WordPress.
Necesitarás pegar el siguiente código en el archivo wp-config.php justo antes de la línea que dice, 'Eso es todo, deja de editar. ¡Feliz blogging!':
define('DISABLE_WP_CRON', true);
Así es como debería verse.

Después de eso, guarda el archivo y súbelo de nuevo a tu sitio web.
WordPress ya no activará wp-cron cuando alguien visite tu sitio web.
Método 1: Configurar un Cron Job adecuado en tu Host de WordPress
Ahora, necesitarás configurar un cron job adecuado para ejecutar tus tareas programadas. La forma en que hagas esto variará dependiendo de las herramientas proporcionadas por tu proveedor de hosting de WordPress.
La forma más fácil de configurar trabajos cron es usando cPanel, un popular panel de control de sitios web incluido con muchos planes de alojamiento web, incluyendo Bluehost. Usaremos el cPanel de Bluehost en este tutorial.
Nota: Algunos proveedores de alojamiento web no usan cPanel, y algunos ni siquiera te permiten crear trabajos cron. Si tienes dudas, deberías contactar a tu proveedor de alojamiento o consultar su documentación de soporte. Siempre puedes usar un servicio cron de terceros (consulta el método 2).
Una vez que inicies sesión en tu cuenta de alojamiento y vayas a la página de ‘Sitios web’, cambia a la pestaña ‘Avanzado’ desde la parte superior.
Aquí, desplázate hacia abajo hasta la sección ‘Trabajos Cron’ y haz clic en el botón ‘Administrar’ junto a ella. Ten en cuenta que la posición de esta sección puede variar dependiendo de tu proveedor de alojamiento.

Esto te llevará a una nueva página donde puedes crear nuevos trabajos cron.
No te preocupes por la advertencia que verás sobre la necesidad de tener un buen conocimiento de comandos de Linux. Solo se necesita un comando, y te mostraremos exactamente cuál es a continuación.
Si lo necesitas, puedes cambiar la dirección de correo electrónico donde se enviarán las notificaciones de los trabajos cron. La dirección predeterminada es la que usaste cuando te registraste para tu alojamiento web, y esto funcionará bien en la mayoría de los sitios web.

Ahora, desplacémonos hacia abajo hasta la sección ‘Agregar Nuevo Trabajo Cron’ y configuremos un trabajo cron.
Primero, necesitas decidir con qué frecuencia se ejecutará el trabajo cron. Esto puede ser lo que quieras, pero recomendamos intervalos de 30 minutos.
Deberás hacer clic en el botón ‘Configuración común’ y seleccionar un intervalo de tiempo del menú desplegable. ‘Dos veces por hora’ es una buena opción para la mayoría de los sitios si no estás seguro.

Ahora, puedes ingresar el comando que le pedirá a WordPress que ejecute sus tareas programadas. Necesitas pegar el siguiente código en el campo ‘Comando’:
wget -q -O - https://example.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
Asegúrate de reemplazar ‘example.com’ con la URL de tu propio sitio web.
Una vez que hayas hecho eso, haz clic en el botón ‘Agregar nuevo trabajo cron’ y verás el nuevo trabajo cron agregado a la lista a continuación.

WordPress ahora verificará y ejecutará las tareas programadas cada 30 minutos en lugar de cuando alguien visita tu sitio web.
Método 2: Configurar un Cron Job adecuado usando un Servicio de Terceros
Si tu plan de hosting no ofrece trabajos cron adecuados o son difíciles de configurar, entonces puedes usar un servicio cron de terceros en su lugar.
Estos son servicios dedicados que te permiten configurar trabajos cron utilizando una interfaz sencilla. Aquí tienes algunos de los mejores:
- EasyCron tiene un plan gratuito que requiere renovación mensual
- cron-job.org es un servicio gratuito
- Cronitor es gratuito si solo necesitas un trabajo cron
- SetCronJob ofrece planes de pago a partir de $10/año
Para este tutorial, usaremos EasyCron porque es fácil de usar y el plan gratuito es adecuado para la mayoría de los casos de uso para principiantes.
Una vez que crees una cuenta gratuita, puedes crear un nuevo trabajo cron haciendo clic en el botón ‘+ Cron Job’ a la izquierda.

Esto abrirá la pantalla ‘Crear trabajo cron’. Primero, necesitas pegar la siguiente URL en el campo ‘URL a llamar’:
https://example.com/wp-cron.php?doing_wp_cron
Asegúrate de reemplazar ‘example.com’ con la URL de tu propio sitio.

Después de eso, deberías elegir ‘Cada 30 minutos’ en el menú desplegable ‘Cuándo ejecutar’. Cuando termines, no olvides hacer clic en el botón ‘Crear Cron Job’ para guardar tu configuración.
El nuevo cron job se agregará a la lista y ejecutará wp-cron en tu sitio web cada 30 minutos.

Extra: Programa automáticamente tus publicaciones de blog de WordPress
Una vez que hayas configurado los cron jobs adecuados, todas tus tareas programadas en el blog de WordPress se realizarán sin problemas. Incluso puedes programar automáticamente tus publicaciones de blog.
Esto te permitirá elegir un artículo para publicar aleatoriamente en tu fecha de publicación preseleccionada. Para hacer esto, debes instalar y activar el plugin PublishPress Planner.
Al activarlo, visita la página Planner » Settings y cambia a la pestaña ‘Content Calendar’ desde la parte superior. Aquí, marca la casilla ‘Scheduled’ junto a la opción ‘Statuses to display publish time’.

Después de eso, tienes que elegir un formato de hora para la publicación de tu entrada y hacer clic en el campo junto a la opción ‘Default publish time for items created in the calendar’.
Esto abrirá un cuadro de diálogo desde donde puedes elegir la hora, la hora y el minuto específicos para que tus entradas programadas se publiquen diariamente. Para ideas, puedes ver nuestro tutorial sobre cuál es el mejor momento para publicar un blog.
Luego, haz clic en el botón ‘Guardar Cambios’ para almacenar tu configuración.

Ahora puedes ir al editor de bloques donde puedes seleccionar la opción ‘Scheduled’ del menú desplegable ‘Post Status’.
Para más información, consulta nuestro tutorial sobre cómo programar automáticamente tus entradas de blog de WordPress.

Esperamos que este tutorial te haya ayudado a aprender cómo deshabilitar wp-cron en WordPress y configurar trabajos cron adecuados. También te puede interesar ver nuestro tutorial sobre cómo agregar un usuario administrador en WordPress con FTP y nuestra guía para principiantes sobre cómo ver y controlar trabajos cron.
Si te gustó este artículo, suscríbete a nuestro canal de YouTube para obtener tutoriales en video de WordPress. También puedes encontrarnos en Twitter y Facebook.


Jiří Vaněk
Gracias por los pasos específicos. Usé el método 1, donde deshabilité CRON a través de wp-config, y como tengo mi propio servidor, no había nada que me impidiera usar el CRON del servidor para tareas programadas. Lo único de lo que no estaba seguro antes era qué URL usar para CRON. Así que, gracias también por el comando específico que podría ingresar en CRON.
Phil Daley
Tengo un sitio de WooCommerce que necesita ejecutar otro trabajo cron cada 5 minutos
Si sigo el método 1, ¿necesito configurar wp_cron.php para que se ejecute al menos cada 5 minutos también (o más rápido)? ¿o cada 30 minutos seguirá estando bien?
Soporte de WPBeginner
El método en nuestro artículo afectaría a todos los trabajos cron de tu sitio. Cuando necesites que un trabajo cron específico ocurra con más frecuencia, te recomendamos consultar con el soporte de lo que necesita el trabajo cron y ellos podrán ayudarte a configurarlo.
Administrador
kzain
¡Esta es una gran publicación! Deshabilitar wp-cron y usar trabajos cron externos es algo que he estado considerando durante un tiempo para mejorar la velocidad del sitio web. Las instrucciones claras sobre cómo deshabilitar wp-cron y configurar trabajos externos son geniales. ¡Gracias por compartir!
Paula Coombes
Hello,

I’d just like to say thank you so much for this straightforward help.
I used Method 1.
I’ve carried out your instructions after reading everything at least 3 times and, for the first time ever, my WP health state has no problems!!
Thanks again.
Soporte de WPBeginner
You’re welcome, glad our guide was helpful!
Administrador
Beth Alexander
¿Hay alguna forma de comprobar que el nuevo trabajo cron que se ejecuta desde el Panel de Control está funcionando?
Soporte de WPBeginner
Para comprobar un trabajo cron, te recomendamos echar un vistazo a nuestro artículo a continuación.
https://www.wpbeginner.com/plugins/how-to-view-and-control-wordpress-cron-jobs/
Administrador
Anita Richards
Estoy confundido.
Woocommerce recomienda configurar el comando sin la parte “?doing_wp_cron”.
¿Cuál es la diferencia?
Soporte de WPBeginner
A menos que oigamos lo contrario, el ?doing_wp_cron permite cierto procesamiento en segundo plano que sin él no se podría hacer.
Administrador
Anita Richards
Ok, eso tiene algo de sentido. Supongo que debe ser la diferencia entre los procesos de WP y Woo que se ejecutan.
Terminé creando dos trabajos cron en cPanel, uno con y otro sin. ¿Eso va a causar problemas?
Soporte de WPBeginner
Debería ser un método ligeramente diferente para lograr el mismo resultado.
Dependería del tamaño de tu sitio para ver cómo múltiples trabajos cron afectarían tu sitio de hosting, ya que a medida que tu sitio se hace más grande, puede convertirse en un problema.