Para que un software funcione de manera óptima, se debe tener herramientas complementarias que internamente permitan que funcione correctamente y al mismo tiempo ir realizando las actualizaciones necesarias de acuerdo a los avances tecnológicos.

Una de estas herramientas es el WP Cron o tareas programadas en WordPress (que no es más que su propia versión de la herramienta Cron del sistema UNIX). Tema que se desarrollará en este artículo, tratando de orientar a los usuarios que tienen un sitio web en WordPress de manera efectiva e indicando todo lo relacionado con esta importante herramienta.

¿Qué es el WP Cron o tareas programadas de WordPress?

El WP Cron o tareas programadas de WordPress, representa una herramienta que como su nombre lo indica, gestiona tareas o acciones en un tiempo determinado y de forma completamente automatizada en un entorno WordPress. Generalmente, son tareas recurrentes, es decir, inician, se ejecutan un determinado número de veces y culminan. Estas tareas son administradas por un archivo llamado wp-cron.php que viene por defecto dentro de la instalación de cualquier WordPress, que al igual que el wp-config.php representan archivo base de configuración de esta plataforma.

En pocas palabras, es una herramienta que representa un listado de procesos, cuyos procesos tienen establecido:

  • Una fecha de inicio: representada por una ejecución cada minuto, cada 10 minutos, cada hora, cada 12 horas, cada 24 horas, etc.
  • Y un fin: representado por una culminación manual, luego de ciertas ejecuciones, una fecha o tiempo establecido o se repiten sin una acción de finalización, entre muchas otras opciones.

Cada entorno WordPress tiene su propio archivo wp-cron.php que fue creado al momento de instalarse el sitio y no debe de ser modificado en ningún momento. Este archivo forma parte de la instalación por defecto de WordPress.

¿Cómo funcionan las tareas programadas de WordPress?

Debido a que el WP Cron no es un Cron «real», su funcionamiento de las tareas programas de WordPress es bastante sencillo aunque para nada eficiente. WordPress ejecuta de manera automática el archivo wp-config.php y comprueba si tiene o no tareas establecidas que deban ejecutarse. Este a su vez, ejecuta las tareas programadas que deben de realizarse en ese momento como un proceso de segundo plano (background) para que el rendimiento del sitio no se vea afectado directamente.

El problema principal se debe a que WordPress ejecuta el archivo wp-config.php en cada visita que haya al sitio web. Viéndose afectado enormemente los procesos generales, si se tiene un sitio con mucho tráfico o si se cuenta con un sitio sin nada de tráfico. Analicemos ambos escenarios:

Comportamiento de las tareas programadas de WordPress (WP Cron) con un sitio web con tráfico alto (visitas)

Supongamos que se tiene un sitio web en WordPress que recibe en promedio 1.000 visitas en una hora. En ese periodo, WordPress consulta 1.000 veces el WP Cron para validar si tiene o no tareas programadas pendientes por realizarse (por cada visita). El WP Cron ejecuta en segundo plano las tareas que deben de ejecutarse en ese periodo. Pero puede darse la situación que en ese periodo de tiempo no existen tareas pendientes por efectuar. Por lo que se desperdició todos esos procesos de manera innecesaria.

Comportamiento de las tareas programadas de WordPress (WP Cron) con un sitio web sin tráfico (visitas)

Esta es la situación contraria a la anterior, es decir, se cuenta con un sitio web en WordPress que no recibe ninguna visita en horas. En ese periodo, WordPress no consulta en ningún momento con el WP Cron para validar si tiene o no tareas programadas pendientes por realizarse (dado que no se tuvo ninguna visita). El WP Cron no ejecuta ninguna tarea, pero resulta que cuenta con una funcionalidad que requiere que se efectúe una acción de manera automática durante cada tres (3) minutos, por ejemplo. Entonces estos procesos nunca se llevan a cabo. Afectando esta funcionalidad directamente.

Es importante señalar que si existe una interacción dentro del área administrativa (es decir, existen usuarios interactuando en el área administrativa de la plataforma), WordPress puede que ejecute esta validación con WP Cron de igual forma. Sin embargo, dependiendo el ecosistema que se cuente en el sitio web (servidor, plugins, plantilla, caché activada y configuración general de WordPress) puede que de igual forma, no se lleven a cabo estas tareas programadas de manera correcta.

Importancia de las tareas programadas de WordPress

Estas tareas programadas son de suma importancia para el correcto funcionamiento de un sistema WordPress. Entre los procesos que dependen de estas tareas se puede señalar:

  • Revisión de actualizaciones disponibles en la plataforma. Tanto del WordPress como de plugins y/o plantillas que sean parte del ecosistema del sitio web.
  • Publicación programada de contenidos (artículos). WordPress permite publicar de manera programada los artículos. Las tareas programadas son las responsables de que esta acción se realice de manera correcta.
  • Envíos de correo administrativo debido a tareas de limpieza y actualizaciones programadas.
  • Limpieza y mantenimiento de procesos internos.
  • Actualización de notificaciones internas. Generalmente, se aprecia desde el área administrativa de la plataforma).

Entre muchos otros procesos. Es importante señalar que no solo WordPress utiliza estas tareas programadas. También los plugins y las plantillas que forman parte de su ecosistema, contienen acciones que deben de ejecutarse de manera automática y suelen cargar estos procesos como tareas programadas recurrentes.

Puntos a considerar con las tareas programadas de WordPress

Como ya se mencionó anteriormente, las tareas programadas afectan directamente el rendimiento de WordPress dependiendo cómo esté configurado el ecosistema en general. Esto quiere decir, que mientras más plugins estén instalados y dependiendo la cantidad de procesos cuente la plantilla activa, más tareas programadas tendrá el sitio web y estas tareas se convertirán en un proceso realmente crítico que debe de llevarse a cabo de la manera más óptima posible.

Una mejora considerable que se utiliza muchísimo es desactivar el WP Cron virtual y activarlo desde el Cron del servidor web. Es decir, en vez de que WordPress verifique el archivo wp-cron.php para validar si existen tareas pendientes por ejecutar en cada visita o interacción que suceda en la plataforma, sea el servidor el que verifique esta funcionalidad de forma controlada. Esto debido a que si esta responsabilidad es asignada al servidor, se puede fijar realmente un tiempo de verificación establecido y bajar enormemente la cantidad de consultas innecesarias, mejorando así el rendimiento de la tienda.

Desactivar las tareas programadas de WordPress y activarla desde el servidor

A continuación se explicará los pasos a seguir para desactivar la verificación del archivo wp-cron en WordPress por defecto y activarlo desde el servidor u hosting. Esto con el objetivo de reducir las consultas innecesarias en sitios con un alto tráfico ó asegurar que las mismas se lleven a cabo si el sitio no tiene tráfico de momento. Garantizando así, que los procesos se mantengan funcionando de manera correcta. IMPORTANTE: Si no se cuenta con el conocimiento o experiencia para llevar a cabo estos pasos, es recomendable sea escalado al soporte técnico del hosting o servidor web.

Desde cPanel

1. Inicia sesión en el cPanel y busca la opción de Cron Jobs en la sección de Avanzado.
2. Al agregar un nuevo Cron Job podrás escoger entre varios horarios para que este se ejecute, por ejemplo, dos veces por hora o una vez por semana, esto también dependerá del límite que te de tu proveedor de hosting.
3. Reemplaza donde dice «https://domain.com» y escribe en su lugar el nombre de tu dominio, esto varía dependiendo del hosting que tenga.
4. Luego agregar el comando wget -q -O – https://domain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1 de clic en «Agregar un Nuevo Cron Job.»

Otras opciones (es recomendable se contacte al soporte del hosting):

Gestor de tareas programadas en WordPress

Para verificar que las tareas programadas se estén ejecutando de manera correcta, es recomendable contar con un gestor de tareas programadas en WordPress. Es decir, instalar un plugin de tercero que lista todas las tareas programadas con sus tiempos de recurrencia y sus estados. Recomendamos este plugin gratuito llamado WP Crontrol, pero existen muchas otras que realizan el mismo procedimiento. Es importante señalar que el plugin WP Crontrol no altera la forma en que el WordPress ejecuta las tareas programadas por defecto.

💡 TE RECOMENDAMOS:  Cron Jobs de WordPress: 10 motivos por lo que falla

Una vez se tenga instalado y activo el plugin el plugin WP Crontrol, solo se debe ir al menú de WordPress » Herramientas » Eventos Crons y validar el estado de las tareas:

Mientras no queden tareas pendientes de procesar, significa que se están ejecutando de manera correcta.

Para finalizar

Para concluir, se puede referenciar que las tareas programadas de WordPress representan una herramienta diseñada para apoyar el funcionamiento de esta plataforma. Muy utilizado por los programadores, debido al complemento efectivo que realiza al sistema, logrando que el sitio web se mantenga en óptimas condiciones.

Todo sistema informático debe ser actualizado constantemente, esto es debido a los cambios tecnológicos que día a día, permiten que los sistemas estén a la par con las nuevas funcionalidades del sistema general. Sobre todo, que en un sitio web desactualizado o con fallas, genera pérdidas económicas y de tiempo. Por eso es importante solucionar cualquier incidente relacionado con esto u optimizar de acuerdo a las necesidades que se presenten para ese entorno.


Te invitamos a:
  • Colocar un comentario más abajo. Si deseas saber un poco más acerca de algún tema en específico escríbenos y lo podríamos desarrollar en un próximo artículo 😉.
  • Únete a nuestra página en Facebook de manera gratuita o síguenos en Instagram. Donde podrás compartir tus dudas, consultas y todo lo que desees.
  • Si te gustó este artículo, ¡recomiéndalo y compártelo! ❤️.
  • Cualquier duda escríbenos ✉️.
  • "Un hombre con una nueva idea es un loco, hasta que ésta triunfa" - MARK TWAIN.

¡Hasta la próxima 👋!