Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Copa WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Cómo desactivar wp-cron en WordPress y establecer los Cron Jobs adecuados

¿Tiene problemas con las acciones programadas que no funcionan en WordPress?

WordPress tiene un sistema de programación llamado wp-cron, pero a veces falla en tareas programadas como la publicación de entradas, el envío de correos electrónicos, etc. Los cron jobs ejecutados por el sistema operativo de tu servidor suelen ser más fiables.

En este artículo, le mostraremos cómo desactivar fácilmente wp-cron en WordPress y le explicaremos dos formas de establecer cron jobs adecuados.

How to Disable wp-cron in WordPress and Set Up Proper Cron Jobs

¿Por qué desactivar wp-cron?

Su sitio web WordPress tiene un sistema de programación integrado llamado wp-cron. Realiza tareas sensibles al tiempo como comprobar actualizaciones, publicar entradas programadas, crear automáticamente copias de seguridad periódicas, enviar correos electrónicos activados, etc.

Puede obtener más información en nuestra guía sobre cómo ver y controlar las tareas cron de WordPress.

Viewing Scheduled Tasks in WordPress

El problema es que a WordPress solo se le indica que compruebe los trabajos programados cuando alguien visita su sitio web. Esto funciona bastante bien para la mayoría de los sitios, pero a veces puede causar problemas en los más pequeños.

Por ejemplo, si su sitio tiene poco tráfico, es posible que las entradas programadas no se publiquen a tiempo. Si su sitio web tiene mucho tráfico, entonces wp-cron se marcará / comprobará con frecuencia, lo que puede afectar al rendimiento de su sitio web.

Ahora, si sólo quieres corregir el error de entradas programadas que faltan, entonces puedes usar el plugin gratuito Missed Scheduled Publisher. Pero si desea resolver todos los problemas de acción programada, entonces usted necesita un trabajo cron real.

Un cron job real es ejecutado por el sistema operativo de su servidor de alojamiento web, no por WordPress. Puede establecerlo para comprobar las tareas programadas de forma más fiable. Por defecto, WordPress no tiene acceso para establecer esto a nivel de servidor, pero puedes hacerlo fácilmente siguiendo nuestro tutorial.

Dicho esto, vamos a echar un vistazo a cómo desactivar fácilmente wp-cron y establecer un trabajo cron adecuado. Esto es lo que vamos a cubrir en este tutorial:

Desactivar wp-cron en WordPress

Para desactivar wp-cron, tienes que editar wp-config.php, que es un archivo de configuración del núcleo de WordPress. Se encuentra en la carpeta raíz de su sitio de WordPress, y tendrá que utilizar un cliente FTP o el gestor de archivos de su panel de control de alojamiento web.

Este archivo contiene una gran cantidad de información sensible, y hacer los cambios equivocados puede romper su sitio de WordPress. Recomendamos hacer primero una copia de seguridad del archivo, por si acaso. Puedes aprender cómo siguiendo nuestra guía sobre cómo editar wp-config.php en WordPress.

Tendrás que 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 blog”:

define('DISABLE_WP_CRON', true);

Este es el aspecto que debería tener.

Pasting Code into wp-config

Después, guarda el archivo y vuelve a subirlo a tu sitio web.

WordPress ya no activará wp-cron cuando alguien visite su sitio web.

Método 1: Establecer un Cron Job adecuado en su alojamiento WordPress

Ahora, tendrá que establecer un cron job adecuado para ejecutar sus tareas programadas. La forma de hacerlo variará en función de las herramientas que te proporcione tu proveedor de alojamiento de WordPress.

La forma más fácil de establecer cron jobs es usando cPanel, un popular panel de control de sitios web incluido en muchos planes de alojamiento web, incluyendo Bluehost. Usaremos el cPanel de Bluehost en este tutorial.

Nota: Algunos alojamientos web no utilizan cPanel, y es posible que algunos ni siquiera le permitan crear cron jobs. En caso de duda, póngase en contacto con su proveedor de alojamiento o consulte su documentación de soporte. Siempre puede utilizar un servicio cron de terceros (marque / compruebe el método 2).

Una vez que acceda a su cuenta de alojamiento y se dirija a la página “Sitios web”, cambie a la pestaña “Avanzado” de la parte superior.

Aquí, desplácese hasta la sección “Cron Jobs” y haga clic en el botón “Gestionar” situado a su lado. Ten en cuenta que la posición de esta sección puede variar dependiendo de tu proveedor de alojamiento.

Click the Manage button in the Cron Jobs section

Esto le llevará a una nueva página donde podrá crear nuevos cron jobs.

No te preocupes por la advertencia que verás acerca de necesitar un buen conocimiento de los comandos de Linux. Solo es necesario un comando, y te mostraremos exactamente cuál es a continuación.

Si lo necesita, puede cambiar la dirección de correo electrónico a la que se enviarán los avisos de las tareas del cron. La dirección por defecto es la que utilizó cuando se registró para su alojamiento web, y esto funcionará bien en la mayoría de los sitios web.

You can change the cron email and click Update

Ahora, vamos a desplazarnos hacia abajo hasta la sección ‘Add New Cron Job’ y establecer un cron job.

En primer lugar, debe decidir con qué frecuencia se ejecutará la tarea cron. Puede ser la que quieras, pero recomendamos intervalos de 30 minutos.

Tendrá que hacer clic en el botón ‘Ajustes comunes’ y seleccionar un intervalo de tiempo en el desplegable.’ Dos veces por hora’ es una buena opción para la mayoría de los sitios si no está seguro.

Creating a New Cron Job in cPanel

Ahora, puede introducir el comando que pedirá a WordPress que ejecute sus tareas programadas. Debe 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

Sustituye “ejemplo.com” por la URL de tu sitio web.

Una vez hecho esto, haga clic en el botón “Añadir nuevo cron job”, y verá el nuevo cron job añadido a la lista de abajo.

Viewing the List of Cron Jobs in cPanel

WordPress ahora marcará / comprobará y ejecutará las tareas programadas cada 30 minutos en lugar de cuando alguien visite su sitio web.

Método 2: Establecer un Cron Job adecuado utilizando un servicio de terceros

Si su plan de alojamiento no ofrece cron jobs adecuados, o son difíciles de establecer, puede utilizar un servicio cron de terceros.

Se trata de servicios dedicados que permiten establecer cron jobs mediante una interfaz sencilla. He aquí 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 sólo necesitas un cron job
  • SetCronJob ofrece planes de pago a partir de 10 $/año

Para este tutorial, vamos a utilizar 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 hayas creado una cuenta gratuita, puedes crear una nueva tarea cron haciendo clic en el botón “+ tarea cron” de la izquierda.

Creating a New Cron Job in EasyCron

Aparecerá la pantalla “Crear Cron Job”. En primer lugar, tienes que pegar la siguiente URL en el campo ‘URL a llamar’:

https://example.com/wp-cron.php?doing_wp_cron

Asegúrese de sustituir “ejemplo.com” por la URL de su propio sitio.

Creating a New Cron Job in EasyCron

A continuación, selecciona “Cada 30 minutos” en el menú desplegable “Cuándo ejecutar”. Cuando hayas terminado, no olvides hacer clic en el botón “Crear Cron Job” para almacenar los ajustes.

La nueva tarea cron se añadirá a la lista y ejecutará wp-cron en su sitio web cada 30 minutos.

Viewing the List of Cron Jobs in EasyCron

Bonus: Programa automáticamente las entradas de tu blog en WordPress

Una vez que haya establecido las tareas cron adecuadas, todas sus tareas programadas en el blog de WordPress se llevarán a cabo sin problemas. Incluso puedes programar automáticamente las entradas de tu blog.

Esto le permitirá elegir un artículo para publicarlo aleatoriamente en la fecha de publicación preseleccionada. Para ello, debe instalar y activar el plugin PublishPress Planner.

Una vez activado, visite la página Planificador ” Ajustes y cambie a la pestaña ‘Calendario de contenidos’ de la parte superior. Aquí, marque / compruebe la casilla “Programado” junto a la opción “Estados para mostrar la hora de publicación”.

Select the Scheduled status

A continuación, debe elegir un formato de hora para la publicación de su entrada y hacer clic en el campo situado junto a la opción “Hora de publicación por defecto para entradas creadas en el calendario”.

Se abrirá una indicación desde la que podrás elegir la hora, el momento y el minuto específicos en los que se publicarán las entradas programadas a diario. Para obtener ideas, puedes ver nuestro tutorial sobre cuándo es el mejor momento para publicar un blog.

A continuación, haz clic en el botón “Guardar cambios” para establecer los ajustes.

Choose a time for the publication of the scheduled posts

Ahora puede dirigirse al editor de bloques, donde podrá seleccionar la opción “Programado” en el menú desplegable “Estado de la entrada”.

Para obtener más información, consulte nuestra guía práctica sobre cómo programar automáticamente las entradas de su blog de WordPress.

Schedule your WordPress blog post

Esperamos que este tutorial te haya ayudado a aprender a desactivar wp-cron en WordPress y a establecer los cron jobs adecuados. Puede que también quieras ver nuestra guía paso a paso para WordPress SEO o comprobar nuestra lista de errores comunes de WordPress y cómo corregirlos.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Descargo: Nuestro contenido está apoyado por los lectores. Esto significa que si hace clic en algunos de nuestros enlaces, podemos ganar una comisión. Vea cómo se financia WPBeginner , por qué es importante, y cómo puede apoyarnos. Aquí está nuestro proceso editorial .

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

El último kit de herramientas de WordPress

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

Reader Interactions

7 comentariosDeja una respuesta

  1. Syed Balkhi

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Beth Alexander

    Is there a way to check that the new corn job running from Control Panel is working?

  3. Anita Richards

    I am confused.

    Woocommerce recommends setting the command as without the “?doing_wp_cron” part.

    What is the difference?

    • WPBeginner Support

      Unless we hear otherwise, the ?doing_wp_cron allows for some background processing that without would not be able to do.

      Administrador

      • Anita Richards

        Ok, that makes some sense. I guess that it must be the difference between the WP and Woo processes being run?

        I ended up creating two corn jobs in cPanel one with and one without. Is that going to cause problems?

        • WPBeginner Support

          It should be a slightly different method to achieve the same result.

          It would depend on your site’s size for how multiple cron jobs would affect your hosting site, as your site becomes larger it may become an issue

Deja tu comentario

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