¿Qué es WP-Cron y cuándo son útiles los cronjobs "reales" para el sitio web tu WordPress ?

7 min.

Programar la publicación de posts en WordPress , comprobar las actualizaciones de Plugins , crear copias de seguridad... son ejemplos típicos de tareas que se repiten. Y aquí es donde WP-Cron entra en juego en WordPress . En este artículo explicamos qué significa esto y cuándo tienen más sentido las tareas cron del lado del servidor.

Como sabes, los ordenadores de tu realizan constantemente y a una velocidad de vértigo innumerables cálculos con unos y ceros, todos los cuales tienen una tarea que cumplir. Muchas de ellas son tareas que deben repetirse. Una y otra vez, como lavarse los dientes. Así que tengo la siguiente pregunta para usted:

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

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

Cada vez que tu máquina local le muestra un mensaje emergente de que se ha encontrado una actualización o que ha llegado un correo electrónico a su bandeja de entrada, es casi seguro que se trata de un cronjob trabajando entre bastidores.

¿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 incluso 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 se puede encontrar aquí: 

¿Qué es lo que 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 por defecto. Pero cuanto más software tenga instalado en su máquina, más trabajos se añadirán probablemente. Por ejemplo, la siguiente captura de pantalla muestra un cronjob en el Programador de tareas en Windows 10. 

¿Qué es WP-Cron y cuándo son útiles los cronjobs "reales" para el sitio web tu WordPress   ?

¿Te preguntas cómo funciona? Cron funciona programando tareas basadas en el dispositivo de tiempo tu , y se puede configurar por minuto, hora, día, semana, mes y año. En Cron, se establece un tiempo específico para que se realice una acción. 

¿Qué es WP-Cron?

WordPress Cron, también conocido como WP-Cron, es un archivo PHP que normalmente se encuentra en el directorio raíz tus WordPress instalación. 

¿Qué es WP-Cron y cuándo son útiles los cronjobs "reales" para el sitio web tu WordPress   ?

¿Y qué hace WP-Cron?

El archivo cron de WordPress (wp-cron.php) contiene las tareas automatizadas que debe realizar la instalación de tu WordPress . Por ejemplo, cosas como la comprobación de las actualizaciones de Plugins y WordPress o la publicación de posts programados. Para más información, consulte la documentación"What is WP-Cron" en el manual oficial de WordPress Plugin . 

WP-Cron versus Cron

La principal diferencia entre WordPress cron 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 requiere una solicitud HTTP/HTTPS tus sitio web para ejecutar las tareas programadas. La tarea cron se pone en cola para ser ejecutada. 

Puede que se pregunte, y con razón:

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

Pues bien, muchos WordPress -hoster sólo ofrecen Hosting compartido, lo que suele significar que el hoster no le da acceso al comando cron. Porque si lo hiciera, tendría acceso a los comandos del servidor y todos los datos del servidor estarían potencialmente comprometidos. Así que WordPress Cron es la solución a este problema.

La segunda diferencia es que cuando se utiliza Cron, se pueden establecer horas específicas (por ejemplo, 17:00 diarias para ejecutar una tarea). En WP-Cron, en cambio, se establecen intervalos (por ejemplo, 14:00 y el intervalo X después). WP-Cron ejecuta entonces la tarea en esos intervalos mientras un usuario haya visitado sitio . Para más información, vea también: Entender la programación de WP-Cron

WP-Cron y el rendimiento

Debido al hecho de que WP-Cron se activa cada vez que un usuario visita el sitio web tu , esto puede causar problemas tanto para los sitios web pequeños como para los grandes. Ahora 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 de la madrugada, pero usted tiene una pequeña guía de viajes -sitio que sólo opera en una ciudad. En este caso, es poco probable que el público objetivo de tu visite el sitio web tu a las 2:00 am y active el cronjob. Y si es en temporada baja, es posible que no reciba ninguna visita en tus sitio durante días. 

Sitios web más grandes y alcance global

Sin embargo, para 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 probablemente le ha entrado el pánico al mencionar un ataque DDoS y ha echado mano del ratón o de la taza de café tus : no se preocupe demasiado, porque hay una solución para todo.

¿Cuál es la causa del problema?

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

Recuerde que cada visita a una página hace que se active WP-Cron - y por supuesto, eso pone a prueba su servidor porque requiere recursos.

¿Hay una forma mejor?

Afortunadamente, la respuesta es "sí". Aunque no podemos frenar fácilmente el tráfico, ni abrir tiendas físicas en todo el mundo, ni cambiar la forma de construir WordPress . Pero podemos cambiar lo que hace que WP-Cron se ejecute. 

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 Hosting que ejecute WP-Cron a intervalos específicos. Te mostraré cómo hacerlo ahora.

Configurar la ejecución del lado del servidor de wp-cron.php en RAIDBOXES

Para facilitarle el trabajo, el equipo de RAIDBOXES ha integrado esta función en el RB-panel de control . Literalmente, necesita cinco clics para configurar la ejecución del lado del servidor de los cronjobs de WordPress . Si eres un desarrollador que busca ahorrar tiempo, este es uno de los ajustes más fáciles de hacer.

Para habilitar los cronjobs del lado del servidor en su RAIDBOXES panel de control , primero vaya a la configuración tus BOX y luego haga clic en "Cronjobs" en la barra lateral. 

¿Qué es WP-Cron y cuándo son útiles los cronjobs "reales" para el sitio web tu WordPress   ?

Ahora verás todas las configuraciones de tus cronjobs. 

¿Qué es WP-Cron y cuándo son útiles los cronjobs "reales" para el sitio web tu WordPress   ?


Ahora debe configurar lo siguiente en los cronjobs:

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

Eso es todo.

Atención

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

Así que para esta personalización no es necesario ponerse en contacto con su hoster , ir al cPanel o editar manualmente el archivo tu wp-cron.php. Con RAIDBOXES sólo necesita unos pocos clics y puede supervisar y gestionar los cronjobs directamente en el RB-panel de control tu . Así que no es necesario instalar un Plugin adicional para mostrar tu cronjobs.

Si quieres hacer más configuraciones, también puedes definir en RAIDBOXES panel de control en qué intervalo debe ejecutarse el wp-cron.php.

¿Qué es WP-Cron y cuándo son útiles los cronjobs "reales" para el sitio web tu WordPress   ?

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 Plugin para gestionar el archivo tu wp-cron.php, ¡no hay problema! En RAIDBOXES puede gestionar fácilmente los cronjobs de tu como se ha descrito anteriormente a través del RB-panel de control . Por supuesto, también puede acceder a tu cronjobs a través de una conexión SSH. Una vez que se haya conectado a su cuenta, puede editar wp-cron.php en el directorio raíz del sitio web tus WordPress .

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

Con Plugins

Actualmente el más popular Plugin para gestionar los cronjobs de WP es"WP Crontrol". También puede buscar e instalar el Plugin directamente en su WordPress en Plugins e instalarlo. 

¿Qué es WP-Cron y cuándo son útiles los cronjobs "reales" para el sitio web tu WordPress   ?

En la página web de WP Crontrol Plugin-sitio en WordPress .org también puede encontrar documentación útil sobre cómo utilizar correctamente el Plugin

Configurar manualmente el servidor para activar WP-Cron (no es necesario con RAIDBOXES)

Con un poco de esfuerzo de configuración, también puedes configurar tu servidor para que ejecute wp-cron.php a intervalos específicos.

  1. Editar el wp-cron.php 

En wp-cron.php

  • Desactive 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 tus Hosting , una de las dos opciones siguientes puede aplicarse a la situación específica de tu : 

  • Si utiliza un servicio compartido de WordPress Hosting , póngase en contacto con su proveedor de alojamiento y pídale que añada un activador de cron del lado del servidor para wp-cron.php si no tiene acceso a los comandos de Linux.
  • O, si está ejecutando el sitio web tu con cPanel y tiene acceso a la línea de comandos tu , consulte la documentación pertinente de cPanel

El archivo cron de WP se pasa fácilmente por alto cuando se construye un sitio web WordPress , pero puede conducir a errores notables si tu sitio ve un aumento decente en el tráfico.

WordPress Prepárese para los picos de tráfico

¿Espera que haya 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, le muestra las 13 medidas que puede tomar para preparar tu WordPress para cargas elevadas.

Conclusión

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

Nuestro objetivo es hacer que la gestión de tus WP-Cronjobs a través de RAIDBOXES panel de control sea lo más fácil y cómoda posible. De este modo, podrá optimizar aún más el desarrollo y la gestión de tus sitio gracias a este acceso rápido y directo.

¿Tienes más preguntas sobre WP-Cron o sobre nuestro panel de control? Entonces no dudes en dejarnos un comentario. ¿Quieres estar informado/a sobre nuevas publicaciones WordPress? Entonces síguenos en Twitter, Facebook o a través de nuestra newsletter.

Como desarrollador web en RAIDBOXES, Marten siempre está trabajando en nuevas características para nuestros clientes. En "wp unboxed" destaca por sus conocimientos sobre desarrollo web, WordPress y nuestro panel de control. En su tiempo libre le gusta ocuparse de autogestiones relacionadas con el hosting y de las últimas tendencias en internet.

Artículos relacionados

Comentarios sobre este artículo

Escribe un comentario

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