Tutoriales de WordPress de Confianza, cuando más los necesitas.
Guía para Principiantes de WordPress
Copa WPB
25 Millones+
Sitios web que usan nuestros plugins
16+
Años de experiencia en WordPress
3000+
Tutoriales de WordPress de expertos

Cómo deshabilitar wp-cron en WordPress y configurar trabajos cron adecuados

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.

Cómo deshabilitar wp-cron en WordPress y 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.

Visualización de tareas programadas en 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

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.

Pegar código en wp-config

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.

Haz clic en el botón Administrar en la sección Trabajos Cron

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.

Puedes cambiar el correo electrónico de cron y hacer clic en Actualizar

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.

Creación de un nuevo trabajo cron en cPanel

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.

Visualización de la lista de trabajos cron en cPanel

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.

Creación de un nuevo trabajo cron en EasyCron

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.

Creación de un nuevo trabajo cron en EasyCron

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.

Visualización de la lista de trabajos cron en EasyCron

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’.

Selecciona el estado Programado

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.

Elige una hora para la publicación de las entradas programadas

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.

Programa tu entrada 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.

Descargo de responsabilidad: Nuestro contenido es compatible con el lector. Esto significa que si haces clic en algunos de nuestros enlaces, podemos ganar una comisión. Consulta cómo se financia WPBeginner, por qué es importante y cómo puedes apoyarnos. Aquí está nuestro proceso editorial.

El Kit de herramientas definitivo para WordPress

Obtén acceso GRATUITO a nuestro kit de herramientas: ¡una colección de productos y recursos relacionados con WordPress que todo profesional debería tener!

Interacciones del lector

12 CommentsLeave a Reply

  1. 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.

  2. 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?

    • 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

  3. ¡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!

  4. 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.

    • 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

      • 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?

        • 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.

Deja una respuesta

Gracias por elegir dejar un comentario. Ten en cuenta que todos los comentarios son moderados de acuerdo con nuestra política de comentarios, y tu dirección de correo electrónico NO será publicada. Por favor, NO uses palabras clave en el campo del nombre. Tengamos una conversación personal y significativa.