Los CRON jobs son usados para agendar tiempos de arreglos periódicos, fechas o intervalos en su sitio de WordPress. Algunos ejemplos de un cron job de WordPress podría involucrar agendar un artículo para ser publicado, checar actualizaciones, o un plugin de repuesto trabajando en un horario predefinido.

En WordPress, esto es controlado por el WP-Cron, el cual es usado para simular un sistema cron. Sin embargo, dependiendo de la cantidad de tráfico de su sitio, utilizando el controlador de cron, puede en realidad empezar a impactar los tiempos de carga de sus páginas. Así que el día de hoy, les mostraremos cómo deshabilitar el WP-Cron (wp-cron.php) y en lugar utilizar un sistema cron para un mejor desempeño.

Problemas de Desempeño con WP-Cron

Nosotros lidiamos con sitios de alto tráfico y demanda. Por eso, hemos visto muchos problemas de desempeño con el controlador de Cron de WordPress: WP-Cron. Antes que nada, es importante entender que el WP-Cron no es un cron job verdadero, es simplemente lo que WordPress ha creado para imitar lo que hace un sistema cron.

WP-Cron no trabaja continuamente. Por defecto, el wp-cron.php se activa cada vez que se carga una página, lo cual en sitios de alto tráfico llega a causar problemas. Si un sitio no tiene suficientes PHP workers, en algunas ocasiones una petición generará  el cron, pero el cron tendrá que esperar por el worker, y por lo tanto se quedará sin hacer nada.

También puede ocurrir lo contrario. Si un sitio no tiene mucho tráfico, se pueden perder las agendas debido al hecho de que nadie ha cargado la página.

Un mejor enfoque es deshabilitando el WP-Cron y utilizar el sistema cron en su lugar. Esto funciona en una agenda predefinida e incluso es recomendado por la guía oficial del Plugin.

¿Cómo Deshabilitar WP-Cron?

Para deshabilitar el WP-Cron, agregue lo siguiente a su archivo de wp-config.php, justo antes de la línea que dice “That’s all, stop editing! Happy blogging.” Nota: Esto lo deshabilita de correr en cada carga de página, no cuando uno llama directamente a través de wp-cron.php.

define('DISABLE_WP_CRON', true);
Deshabilitar WP-Cron

Deshabilitar WP-Cron

¿Cómo Agendar un Sistema Cron?

Usted tendrá que agendar el wp-cron.php desde su servidor. Las buenas noticias, es que, si es usted cliente de Kinsta, los sistemas crons ya están habilitados y funcionan cada 15 minutos como mínimo. 💪 Y si es necesario, usted puede incrementar la frecuencia al ponerse en contacto con el equipo de soporte.

Si usted está familiarizado con SSH, también puede seguir nuestro tutorial sobre como administrar los crons de servidor desde la línea de comando en Kinsta. Todos nuestros planes de hosting incluyen acceso SSH.

Si usted no es cliente de Kinsta, le recomendamos checar estos recursos para aprender como establecer los sistemas cron:

Crear Cron Job en cPanel

Si usted está utilizando un host con cPanel, también puede crear un sistema cron desde su panel de control. Nota: Asegúrese de deshabilitar el WP-Cron base primero.

Paso 1

¿Luchando con el tiempo de inactividad y los problemas de WordPress? Kinsta es la solución de alojamiento diseñada para ahorrarle tiempo! Vea nuestras características

Inicie sesión en cPanel. En la sección de Avanzado, de clic en Cron Jobs.

Cron jobs en cPanel

Cron jobs en cPanel

Paso 2

Debajo de la sección de Agregar nuevo Cron Job, usted puede elegir el número de distintos horarios predefinidos, como dos veces por hora o una vez por semana. Su proveedor de hosting probablemente tenga un límite sobre qué tan seguido pueden utilizar cron jobs. Hasta dos veces por hora es una configuración común para los hosts compartidos.

Opciones de cPanel cron job

Opciones de cPanel cron job

Paso 3

Agregue el siguiente comando. Reemplace https://domain.com con el nombre de su dominio. Este comando puede variar un poco basado en cómo su hosting está configurado. Luego de clic en “Agregar un Nuevo Cron Job.”

wget -q -O - https://domain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
cPanel agregar cron job nuevo

cPanel agregar cron job nuevo

La parte >/dev/null 2>&1 del comando de arriba deshabilita las notificaciones de email.

Agendando Crons con Soluciones Externas

Si usted no está cómodo tratando de configurar cron jobs en su servidor o su proveedor de hosting no provee acceso, también puede utilizar una solución como EasyCron.

15
Shares