¿Qué es WP-Cron y cuándo son útiles las "verdaderas" tareas cron para el sitio web tu de WordPress?

¿Qué es WP-Cron y cuándo son útiles las "verdaderas" tareas cron para el sitio web tu de WordPress?

Programar la publicación de entradas en WordPress, comprobar las actualizaciones de los plugins, crear copias de seguridad... son ejemplos típicos de tareas que se realizan repetidamente. Y aquí es donde entra en juego WP-Cron en WordPress. Lo que esto significa y cuándo tienen más sentido las tareas cron del lado del servidor, lo explicamos en este post.

Como sabes, los ordenadores de tu realizan constantemente y a una velocidad vertiginosa innumerables cálculos con unos y ceros, todos ellos con una tarea que cumplir. Muchas de ellas son tareas que deben repetirse. Una y otra vez, como cuando te cepillas los dientes. Así que tengo la siguiente pregunta para ti:

Si pudieras automatizar el cepillado de dientes, ¿lo harías?

tu El sitio web de WordPress tiene tareas de mantenimiento automatizadas que debe realizar regularmente. En este artículo veremos qué son estas tareas, qué problemas pueden causar y cómo Raidboxes te facilita enormemente su gestión.

Cada vez que tu máquina local te muestra un mensaje emergente de que se ha encontrado una actualización o ha llegado un correo electrónico a tu bandeja de entrada, lo más probable es que se trate de un cronjob trabajando entre bastidores.

"*"indica que los campos son obligatorios

Me gustaría suscribirme a newsletter para estar informado sobre nuevos artículos del blog, ebooks, funciones y noticias sobre WordPress. Puedo retirar mi consentimiento en cualquier momento. Ten en cuenta nuestra Política de privacidad.
Este campo es de validación y no debe modificarse.

¿Qué es Cron? 

Cron es un comando de programación de tareas que está integrado en los sistemas basados en Linux -como Ubuntu, Debian o también Mac OSX- y también en los servidores. En Windows, la funcionalidad se llama "Programador de tareas".

La documentación sobre el uso de la función cron en estos sistemas puede encontrarse aquí: 

De todas formas, ¿qué hace Cron?

El propósito de cron es realizar tareas repetitivas, por ejemplo, comprobar si hay actualizaciones disponibles o enviar y recibir correos electrónicos. Esto suele estar configurado para ti por defecto. Pero cuantos más programas tengas instalados en tu ordenador, es muy probable que se añadan más trabajos. Por ejemplo, la siguiente captura de pantalla muestra un cronjob en el Programador de Tareas de Windows 10. 

Windows Cron

¿Te preguntas cómo funciona? Cron funciona programando tareas en función de la hora tu y se puede configurar por minutos, horas, días, semanas, meses y años. En Cron, estableces una hora concreta a la que debe realizarse una acción. 

¿Qué es WP-Cron?

WordPress Cron, también conocido como WP-Cron, es un archivo PHP que suele encontrarse en el directorio raíz tus de la instalación de WordPress. 

Ubicación de Wp Cron

¿Y qué hace WP-Cron?

El archivo cron de WordPress (wp-cron.php) contiene las tareas automatizadas que debe realizar la instalación de WordPress en tu . Por ejemplo, cosas como la comprobación de las actualizaciones de los plugins y de WordPress o la publicación de entradas programadas. Para más información, consulta la documentación"Qué es WP-Cron" en el Manual oficial de plugins de WordPress. 

WP-Cron versus Cron

La principal diferencia entre el cron de WordPress y el programador cron es que wp-cron.php sólo se ejecuta cuando un usuario visita el sitio web tu y activa la carga de una página. Esto significa que WordPress necesita una petición HTTP/HTTPS tus sitio web para ejecutar las tareas programadas. La tarea cron se pone en cola para ser ejecutada. 

Puede que tengas razón al preguntarte ahora:

¿Por qué WP Cron sólo se ejecuta cuando un usuario visita mi sitio web? 

Pues bien, muchos alojamientos de WordPress sólo ofrecen alojamiento compartido, lo que suele significar que el alojamiento no te da acceso al comando cron. Porque si lo hicieran, tendrías acceso a los comandos del servidor y todos los datos de éste estarían potencialmente comprometidos. Por lo tanto, WordPress Cron es la solución a este problema.

La segunda diferencia es que, al utilizar Cron, puedes establecer horarios específicos (por ejemplo, las 17:00 horas diarias para realizar una tarea). En WP-Cron, en cambio, estableces intervalos (por ejemplo, 14:00 y el intervalo X después). WP-Cron ejecuta entonces la tarea en estos intervalos mientras un usuario haya visitado sitio . Para más información, consulta también: Entender la programación de WP-Cron

WP-Cron y el rendimiento

Debido a que WP-Cron se activa cada vez que un usuario visita tu , esto puede causar problemas tanto a los sitios web pequeños como a los grandes. Ahora te explicaré por qué.

Sitios web pequeños y geográficamente específicos

Para los sitios web más pequeños con poco tráfico, el problema es que la tarea cron no se ejecuta con suficiente frecuencia. Ejemplo: ¿Qué pasa si el sitio web tu tiene que hacer una copia de seguridad a las 2:00 horas, pero tienes una pequeña guía de viajessitio que sólo opera en una ciudad? En este caso, es poco probable que el grupo objetivo tu visite el sitio web tu a las 2:00 de la madrugada y active el cronjob. Y si es en temporada baja, puede que no recibas ninguna visita en tus sitio durante días. 

Sitios web más grandes y alcance global

Sin embargo, para los sitios web con un gran número de usuarios, WP-Cron puede causar algunos problemas de rendimiento e incluso hacer que tu sitio sea vulnerable a un ataque DDoS. Bueno, si al mencionar un ataque DDoS probablemente te ha entrado el pánico y has echado mano del ratón tus o de la taza de café: no te preocupes demasiado, porque hay una solución para todo.

¿Qué está causando el problema?

La cantidad de tráfico causa el problema. Para los grandes sitios web, el tráfico es, por supuesto, imprescindible e importante para el negocio, por lo que contener las llamadas no es una opción para resolver el problema. 

Recordamos: cada visita a una página hace que se active WP-Cron - y, por supuesto, esto supone una carga para tu servidor porque requiere recursos.

¿Hay una forma mejor?

Afortunadamente, la respuesta es "sí". Es cierto, no podemos simplemente frenar el tráfico, abrir tiendas físicas en todo el mundo o cambiar la forma en que se construye WordPress. Pero podemos cambiar lo que hace funcionar a WP-Cron. 

En lugar de ejecutar wp-cron.php en función de las visitas a la página, podemos configurar una tarea cron en el servidor de alojamiento que ejecute WP-Cron a intervalos específicos. Ahora te mostraré cómo hacerlo.

Configura la ejecución del lado del servidor de wp-cron.php en Raidboxes

Para facilitarte el trabajo, el equipo de Raidboxes ha incorporado esta función en el RB-Dashboard . ¡Necesitas literalmente cinco clics para configurar la ejecución del lado del servidor de los cronjobs de WordPress! Si eres un desarrollador que busca ahorrar tiempo, esta es una de las cosas más fáciles de hacer.

Para activar los cronjobs del lado del servidor en tu Raidboxes Dashboard , primero ve a la configuración tus BOX y luego haz clic en "Cronjobs" en la barra lateral.

raidboxes dashboard wp-cron

Ahora verás todas las opciones de configuración de tus cronjobs. 

Trabajos de Cron Raidboxes


Ahora debes hacer la siguiente configuración en los cronjobs:

  1. Desactiva "Ejecutar WP-Cron" (esto evita que WP-Cron sea activado por los visitantes del sitio web).
  2. Activa "Ejecutar WP-Cron del lado del servidor" (esto añade una tarea cron al servidor para activar wp-cron.php en el intervalo que especifiques). 

Eso es todo.

Atención

Si desactivas la opción Ejecutar WP-Cron y la opción Ejecutar WP-Cron del lado del servidor también está desactivada, no se ejecutarán más tareas cron en tus sitio .

Por lo tanto, para esta personalización no es necesario ponerse en contacto con tu proveedor de alojamiento, entrar en el cPanel o editar manualmente el archivo tu wp-cron.php. Con Raidboxes , sólo necesitas unos pocos clics y puedes controlar y gestionar los cronjobs directamente en el RB-Dashboard tu . Esto significa que no necesitas instalar un plugin adicional para mostrar tu cronjobs.

Si quieres hacer más configuraciones, también puedes especificar en Raidboxes Dashboard el intervalo en el que debe ejecutarse wp-cron.php.

Tiempo de Cron

Hay mucha especulación sobre el "mejor" intervalo para tu cronjobs. Normalmente recomendamos no bajar de 5 minutos. 

Editar tus WordPress Cronjobs

Sin plugins

Si no quieres instalar un plugin para editar el archivo tu wp-cron.php, ¡no hay problema! En Raidboxes puedes gestionar fácilmente los cronjobs de tu como se ha descrito anteriormente a través del RBDashboard . Por supuesto, también puedes acceder a los cronjobs de tu mediante una conexión SSH. Una vez que te hayas conectado a tu cuenta, puedes editar wp-cron.php en el directorio raíz tus del sitio web de WordPress.

Si quieres saber cómo hacer que tu flujo de trabajo sea aún más eficiente con SSH, consulta nuestro artículo"El perfecto flujo de trabajo de desarrollo de WordPress con Git y SSH". 

Con los plugins

El plugin más popular actualmente para gestionar los cronjobs de WP es"WP Crontrol". También puedes buscar e instalar el plugin directamente en tu WordPress, en la sección de plugins

Plugin Wp Control

En el plugin de WP Crontrol -sitio en WordPress.org también encontrarás documentación útil sobre cómo utilizar el plugin correctamente

Configura manualmente el servidor para activar WP-Cron (no es necesario con Raidboxes)

Con un poco de esfuerzo de configuración, también puedes configurar tú mismo tu servidor para que ejecute wp-cron.php a determinados intervalos.

  1. Editar wp-cron.php 

En wp-cron.php

  • Desactiva el archivo tu wp-cron.php añadiendo el siguiente código al archivo:
define('DISABLE_WP_CRON', 'true');

Después de eso, wp-cron.php ya no se activará cuando un usuario visite el sitio web tu .

  1. Añade un cronjob a tu servidor

En el entorno del servidor tus

Dependiendo del entorno de alojamiento de tus , una de las dos opciones siguientes se aplica a la situación específica de tu : 

  • Si utilizas un servicio de alojamiento compartido de WordPress, ponte en contacto con tu proveedor de alojamiento y pídele que añada un activador de cron del lado del servidor para wp-cron.php si no tienes acceso a los comandos de Linux.
  • O, si estás ejecutando el sitio web tu con cPanel y tienes acceso a la línea de comandos tu , consulta la documentación correspondiente de cPanel

El archivo cron de WP se pasa fácilmente por alto cuando se configura un sitio web de WordPress, pero puede dar lugar a errores notables si tu sitio ve un aumento decente del tráfico.

Prepara a WordPress para los picos de tráfico

¿Esperas mucho tráfico en el sitio web tus WordPress, por ejemplo, debido a una campaña de marketing? Entonces, ¡necesitas la preparación adecuada! Nuestro Jefe de Desarrollo, Matthias, te muestra las 13 medidas que puedes tomar para preparar tu WordPress para cargas elevadas.

Conclusión

Espero que este artículo te ayude a entender qué es la función cron de WordPress y cómo funciona. Utilizado correctamente, puede ayudarte a automatizar de forma fiable las tareas importantes para que puedas centrarte en lo que es importante.

Nuestro objetivo es hacer que la gestión de tus WP-Cronjobs a través de Raidboxes Dashboard sea lo más sencilla y cómoda posible. De este modo, puedes optimizar aún más el desarrollo y la gestión de tus sitio mediante este acceso rápido y directo.

¿Tienes más preguntas sobre WP-Cron o nuestro Dashboard? Entonces, ¡no dudes en dejarnos un comentario! ¿Quieres estar informado de los nuevos artículos de WordPress? Entonces síguenos en Twitter, Facebook o a través de nuestro Newsletter.

¿Te ha gustado el artículo?

Con tu valoración nos ayudas a mejorar aún más nuestro contenido.

Un comentario sobre"¿Qué es WP-Cron y cuándo son útiles las "verdaderas" tareas cron para el sitio web tu de WordPress?"

  1. Ist der Eintrag DISABLE_WP_CRON tatsächlich – wie im Artikel beschrieben – in der wp-cron.php einzufügen? Ich hätte einen solchen define-Eintrag eher in der wp-config.php vermutet.
    Viele Grüße Stefan

Escribe un comentario

Tu dirección de correo electrónico no se publicará. Los campos obligatorios están marcados con *.