iControlWP

En este artículo, explicamos:

  • ¿Qué es el Cron de WP?
  • ¿Cómo funciona?
  • ¿Por qué falla?
  • ¿Qué problemas causan los errores del Cron de WP?
  • ¿Cómo arreglar el WP Cron

Entonces, empecemos…

¿Qué es el WP Cron?

Cron es un comando UNIX para programar trabajos que se ejecutarán en algún momento en el futuro. Normalmente se utiliza para programar un trabajo que se ejecuta periódicamente.

WordPress utiliza un archivo llamado wp-cron.php como un trabajo cron virtual, o tarea programada con el fin de automatizar cosas como

  • publicar posts programados
  • comprobar si hay actualizaciones de plugins o temas
  • enviar notificaciones por correo electrónico
  • realizar copias de seguridad
  • de las actualizaciones automáticas de WordPress
  • … y así sucesivamente.

¿Cómo funciona?

En cada carga de página, WordPress comprueba si hay necesidad de que WP Cron se ejecute. Si hay una necesidad, entonces intenta hacer una petición a través de HTTP al archivo wp-cron.php.

La llamada a este archivo ayuda a mantener el WP Cron funcionando como un proceso separado en segundo plano sin retrasar el tiempo de carga de la página para el usuario. Una vez que el WP Cron se inicia, continúa ejecutándose hasta que todos los trabajos requeridos se completan o hasta que alcanza un tiempo de ejecución según lo establecido en la configuración del servidor.

Es importante explicar que, en su configuración por defecto, WordPress no utiliza un trabajo cron real para la programación y otras tareas relacionadas. En su lugar, cada vez que se carga una página en un sitio de WordPress, WordPress ejecuta el archivo wp-cron.php. Básicamente pregunta «¿es hora de hacer algo ya?».

Si hay alguna tarea programada en el momento de la carga de la página se ejecutará. Pero, hay que tener en cuenta aquí que WP Cron no se ejecuta constantemente como lo hace el cron del sistema.

WP Cron sólo se activará en la carga de la página – es decir, cuando alguien visita una página de su sitio. Esto significa que, por ejemplo, si tiene una tarea programada para las 4:00 PM pero no tiene ningún visitante hasta las 10:00 PM su tarea no se ejecutará hasta entonces.

Nota: A veces puede ver URLs con ?doing_wp_cron= seguido de una cadena de números.

Por ejemplo:

https://example.com/what-is-wp-cron-article?doing_wp_cron=123456.874251298799871371475

Esto ocurre porque, para realizar algún proceso en segundo plano (como la publicación de entradas programadas), WordPress le redirige a la URL con ?doing_wp_cron anexado.

Lea más sobre esto aquí.

¿Por qué falla?

Así, cuando alguien aterriza en cualquier página de su sitio WordPress, el archivo wp-cron.php podría dispararse y comprobar si necesita enviar algo

En muchos hosts de WordPress, esto se ejecutará como se pretende. Sin embargo, algunos hosts deshabilitan esta funcionalidad para que no se ejecute porque significa que un gran número de visitantes puede disparar los trabajos cron virtuales un montón de veces, utilizando los recursos de su servidor. También es una potencial vulnerabilidad de seguridad.

Otra razón es que algunos plugins y temas pueden causar errores fatales durante el proceso cron (ya que pueden no haber sido probados correctamente) y esto romperá la ejecución del proceso cron.

Sugerencia: Aunque no es concluyente y sólo sirve como indicador en caso de problemas graves, en el panel de seguridad de Shield hay una entrada en la sección «Registro de eventos recientes» que muestra la última vez que se ejecutó el cron de prueba simple:

Eso le indicará si sus crons están, en general, funcionando. No significa que todos sus crons estén funcionando, pero significa que su sistema WP Cron está probablemente bien.

Nota: Usted puede activar WP Cron manualmente. Lo primero que hay que hacer es construir el enlace, y así es como se hace:

  1. Toma la URL de tu admin, por ejemplo example.com/wp-admin/
  2. Sustituye «/wp-admin/» por «/wp-cron.php?setcronjob»

El enlace se verá así:

ejemplo.com/wp-cron.php?setcronjob

Sólo tienes que abrir ese enlace en una pestaña aparte y el WP Cron se activará.

¿Qué problemas causan los errores de WP Cron?

Si el cron se está rompiendo, no se está ejecutando correctamente:

  • Las actualizaciones automáticas de WordPress no se ejecutarán
  • La comprobación de las actualizaciones de plugins o temas fallará
  • Los posts programados no se publicarán
  • Si WordPress no utiliza un trabajo cron real para la programación y otras tareas relacionadas, las notificaciones por correo electrónico, las renovaciones automáticas, los cargos de facturación, las notificaciones de entrada/salida de stock fallarán.
  • La copia de seguridad del sitio fallará para los plugins de copia de seguridad que dependen del cron

También,

  • Puede haber un gran retraso entre las actualizaciones publicadas, y las actualizaciones instaladas
  • Los plugins premium no enlazan en su código de actualización correctamente

    Ciertos plugins premium no han probado su código de actualización personalizado con el cron de WordPress. Esto significa que cuando el cron se ejecuta, su código de actualización no funciona y las actualizaciones automáticas de los activos premium fallarán.

Estos son sólo algunos de los problemas más notables que hemos visto.

Tenga en cuenta que, si el cron no está funcionando, todas las tareas automáticas fallarán.

Cómo arreglar el Cron de WP

El Cron de WP puede ser problemático y determinar dónde está fallando un cron es un trabajo complicado.

Le recomendamos encarecidamente que lea este artículo aquí.

También puede leer:

  • ¿Por qué no funcionan siempre las actualizaciones automáticas de WordPress?

.

Leave a Reply