WordPress incluye como parte de su núcleo la funcionalidad de programación de tareas, ya sea de ejecución única o en intervalos.
Pero ¿qué es el cron de WordPress? 🤔
Por ejemplo, cuando programas una entrada para que se publique en una determinada fecha y hora, estás creando una tarea Cron y haciendo uso de una de sus funcionalidades.
Así como WordPress tiene una serie de tareas programadas para la gestión interna del sistema, también los plugins pueden hacer uso de esta funcionalidad y programar sus propias tareas Cron.
En este artículo aprenderás cómo ver y gestionar todas las tareas que tienes programadas en el Cron de tu sitio web WordPress.
En las versiones actuales WordPress no existe una opción por defecto para ver y gestionar las tareas cron; sin embargo, es posible instalar un plugin que aporte esta funcionalidad.
Tabla de contenidos
- 1 Para qué sirve el cron en WordPress
- 2 Ventajas de usar el Cron de WordPress
- 3 Cómo crear tareas Cron en WordPress
- 4 ¿Cómo modificar un cron de WordPress?
- 5 Plugin para gestionar las tareas Cron de WordPress
- 6 Listado de Eventos Cron de WordPress
- 7 Eliminar eventos Cron de WordPress no usados
- 8 Listado de Programaciones Cron de WordPress
- 9 ¿Cómo gestionar el error 503 en WP-Crontrol?
- 10 Conclusiones
Para qué sirve el cron en WordPress
Si gestionas un único sitio de WordPress, es posible que dispongas de tiempo para realizar tareas en tu web manualmente sin que eso suponga ningún problema para ti. Sin embargo, WordPress necesita ejecutar tareas “en segundo plano”, que son necesarias para que todo funcione bien en tu sitio.
Algunas de estas tareas son:
- Hacer copias de seguridad diarias programadas.
- Lanzar la gestión de Pedidos de WooCommerce y otras tareas de la tienda.
- Comprobar actualizaciones cuando las haya.
- Gestionar los correos del sitio web.
- Publicar contenidos sujetos a programación futura.
- Gestión de notificaciones de WordPress.
De estas tareas normalmente no tienes el control directo, como por ejemplo, de tareas que determinados plugins instalados o Temas ejecuten por su cuenta, para dar servicio al plugin o plantilla del que dependen dichas tareas.
En la imagen puedes ver las tareas cron que determinado sitio web está ejecutando o tiene programadas, de forma desatendida, sin la intervención del administrador del sitio web, y de las que habitualmente no se tiene constancia.
De hecho, ¡no se le suele dar la importancia al cron de WordPress que este merece!
Ventajas de usar el Cron de WordPress
El cron de WordPress es una herramienta muy útil para programar tareas en segundo plano> en un sitio desarrollado con WordPress.
Algunas de las principales ventajas del cron de WordPress son:
- Ayudan a mejorar el rendimiento del sitio: te permiten programar tareas en segundo plano, lo que significa que tu sitio no se verá afectado mientras se realizan estas tareas. Esto contribuye mucho a mejorar el rendimiento del sitio y evita que se ralentice mientras se realizan estas tareas.
- Las tareas se ejecutan automáticamente: las tareas programadas se realizan de manera automática, según la programación aplicada, permitiendo ahorrar tiempo y esfuerzo, ya que no tendrás que realizar estas tareas manualmente cada vez que toque.
- Mejoran la eficiencia del sitio: al programar tareas para que se ejecuten en momentos específicos te aseguras que van a ponerse en marcha en momentos de baja audiencia de visitantes o donde confluyan otras tareas importantes como copias de seguridad automáticas programadas.
- Te ayuda en la planificación: puedes ver todas las tareas programadas en un solo lugar, lo que ayuda a planificar mejor los procesos asegurándote de que se están realizando todas las tareas establecidas.
Se trata de una herramienta muy útil para programar tareas en segundo plano en WordPress. Te ayuda a mejorar el rendimiento del sitio, a realizarlas automáticamente de forma planificada.
Cómo crear tareas Cron en WordPress
Para poder crear tareas cron primero debes comprobar que el servicio de cron de WordPress está activo y funcionando, o en su defecto, si estás desactivado, que gestionas estas tareas desde tu Panel de Hosting por medio de Trabajos de Cron.
WordPress hace uso del archivo wp-cron.php para gestionar las tareas del sistema, por lo que si no está activado no funcionarán las tareas programadas en el CMS.
Evalúa primero bien si vas a gestionar tus tareas programadas desde tu panel de hosting o si, por el contrario, utilizaras wp-cron.php para llevarlas a cabo, para lo cual requerirás de un plugin que te ayude en este proceso.
¿Cómo modificar un cron de WordPress?
De la misma forma que creas la tarea cron, en tu panel de Hosting, ya que WordPress no gestiona directamente el cronjob, también puedes editor para modificar un cron de WordPress.
Este tipo de modificaciones se hacen necesarias si por ejemplo tienes que cambiar el tiempo de ejecución (día de la semana y hora) o cambiar el script que este cron ha de lanzar.
Accede a tu panel de alojamiento web, en este ejemplo será el Panel de Hosting WePanel de Webempresa, y ve al final, al apartado Otras herramientas y localiza Tareas cron.
Una vez en este lugar, localiza abajo el bloque Tareas cron configuradas, donde puede aparecer vacío, si no tienes tareas creadas o encontrar varias tareas cron creadas y en consecuencia funcionando, ya que no es posible que haya una tarea cron reflejada en el listado y que se encuentre pausada, pues este estado no existe desde la herramienta.
A la derecha de cada tarea verás el botón Configurar. Si haces clic se abre un menú con la opción Editar entre otras. Haz clic en ella para editar y poder modificar la tarea cron seleccionada.
Se despliega justo debajo de la tarea cron una caja donde puedes ver los campos a editar del cron y debajo de estos una vista previa de la tarea que cambiará a medida que añadas datos o modifiques algunos de los actuales.
Una vez realices los ajustes necesarios a la tarea cron editada, debes hacer clic en el botón Guardar para que estos queden almacenados y los cambios aplicados entren en vigor.
Es importante que prestes atención a los cambios aplicados y que luego te asegures de que estos funcionan cuando se lance dicho cronjob en tu Hosting.
Plugin para gestionar las tareas Cron de WordPress
Existen varios plugin para gestionar las tareas Cron de WordPress; y uno de los que te recomiendo es WP-Crontrol, por su sencillez y popularidad.
El plugin te va a servir para:
- Ver los eventos cron y sus argumentos, recurrencia, funciones de devolución de llamada y ejecución.
- Editar, eliminar, pausar, reanudar y ejecutar inmediatamente eventos cron.
- Añadir nuevos eventos cron.
- Eliminar eventos cron en lote.
- Añadir y eliminar programaciones cron personalizadas.
- Exportar y descargar listas de eventos cron en formato CSV.
Tras instalar y activar el plugin lo encuentras en el menú de >Herramientas llamada Eventos Cron. También se crea otra opción de menú en Ajustes llamada Programaciones Cron.
Listado de Eventos Cron de WordPress
Desde la opción de Eventos cron puedes ver todos los que tienes programados en el sitio web.
Las principales columnas de este listado son:
- Gancho: Hace referencia al Hook en WordPress con el que ha sido programado. Es decir, cada evento está asociado a un Hook, y una función se asocia a este Hook para ejecutar código.
- Próxima ejecución: Muestra la fecha y hora de la próxima ejecución del Hook.
- Acción: Hace referencia a la función que está asociada al Hook y que es la que ejecutará acciones a través de código.
- Recurrencia: Muestra el intervalo de tiempo en el que el evento se ejecuta.
Cuando pasas el ratón sobre alguno de estos ítems del listado de evento verás que tienes opciones adicionales.
Una de las más importantes es Ejecutar ahora, con la que forzarás la ejecución del evento; sin embargo, no hará que varíe la próxima ejecución.
Igualmente puedes editar el evento, cambiando la fecha y hora de programación, cosa que no te recomiendo y también puedes eliminarlo.
Si eliminas eventos de plugins que están activos posiblemente se vuelvan a generar, lo mismo para los eventos del cron de WordPress.
Eliminar eventos Cron de WordPress no usados
Has visto que es posible eliminar eventos cron; sin embargo, ¿cómo identificar qué eventos no están siendo usados?.
Afortunadamente, el plugin te permite ver qué eventos no tienen ninguna acción, tal como se puede ver en la siguiente imagen:
También puedes listar todos los eventos sin ninguna acción desde el enlace de: Eventos sin ninguna acción.
Los eventos sin ninguna acción usualmente son eventos creados por plugins que has desactivado o desinstalado, aunque sus eventos creados aún permanecen.
En la imagen anterior ves dos ganchos que hacen referencia a WooCommerce, pero en el sitio de ejemplo se ha desinstalado ese plugin.
Si quieres optimizar aún más la funcionalidad de eventos cron, te sugiero revisa también el artículo: Desactivar el fichero wp-cron.php en WordPress
Listado de Programaciones Cron de WordPress
El listado de programaciones cron hace referencia a los intervalos que tienes creados, por ejemplo: diario, semanal, dos veces al día, etc.
Algunos de estos ya vienen por defecto con el propio WordPress, otros pueden ser creados por plugins.
Normalmente no necesitarás añadir nuevas programaciones en esta pantalla, ya que si un plugin necesita un determinado intervalo, usualmente te permitirá crearlo a través de la configuración del propio plugin.
¿Cómo gestionar el error 503 en WP-Crontrol?
Es posible que durante la gestión de tareas cron en WordPress con el plugin WP-Crontrol se presente un aviso de error en pantalla.
Se trata de un error 503 que deberías revisar para ver si se trata de algo puntual, de una restricción de seguridad del servidor, o de un fallo del plugin.
¿Qué acciones puedes realizar para verificarlo?
Recarga la página varias veces para determinar si el error es persistente. Si el error solo aparece una vez, entonces puede haber sido un problema temporal de conectividad de red.
Si el error continúa, intenta desactivar los demás plugins de tu sitio uno por uno. Es posible que uno de ellos esté causando el problema.
Accede a Salud del sitio desde Herramientas y comprueba si hay algún ítem en Estado que esté relacionado con las tareas cron y que debas revisar.
Una opción es consultar el foro de soporte de WordPress.org para encontrar información puntual, actualizada, que pueda asemejarse al escenario que puede estar causando el error en tu web.
También puedes consultar con tu proveedor de Hosting por si alguna regla de seguridad aplicada en el servidor donde se aloja tu web impide la comunicación o hay un bloqueo de seguridad.
Conclusiones
Como has podido comprobar, la funcionalidad de Cron de WordPress a pesar no tener opciones de configuración que vengan por defecto en el sistema, te permite usar un plugin para gestionar esta funcionalidad.
El plugin WP-Control sirve principalmente para ver, eliminar y forzar la ejecución de eventos cron que tienes creados en tu sitio web WordPress.
Si quieres profundizar en el uso del los eventos de cron de WordPress te recomiendo consultes Scheduling WP Cron Events para saber más al respecto.
Gracias a las tareas programadas en WordPress puedes automatizar la ejecución de ciertas acciones y liberar tiempo para realizar otras tareas importantes en tu sitio.
¿Te ha resultado útil este artículo?
Soporte técnico WordPress en Webempresa y ponente habitual en Meetups y WordCamps de América.