Puntos clave:
- Las tareas cron de WordPress automatizan tareas como la comprobación de actualizaciones y la programación de publicaciones, utilizando WP-Cron para programar tareas a intervalos como cada hora, dos veces al día, cada día y cada semana.
- WP-Cron depende de las visitas al sitio para ejecutar las tareas, así que para un mayor control y fiabilidad, especialmente para sitios con poco tráfico o tareas críticas, se puede utilizar una tarea cron a nivel de servidor o un plugin como WP Crontrol para gestionar, editar y añadir eventos cron.
- Si necesitas una tarea cron real, puedes desactivar WP-Cron en el archivo wp-config.php y configurar una tarea cron a nivel de servidor a través del panel de control o la interfaz de línea de comandos de tu proveedor de alojamiento.
Muchos desarrolladores de WordPress, especialmente los principiantes, tienen preguntas comunes: «¿qué es WordPress cron?» y «¿cómo gestionar las tareas cron de WordPress?». La respuesta es sencilla.
Cron es una utilidad estándar de UNIX para programar la ejecución de una tarea (script o comando) a una hora, fecha o intervalo concretos. La tarea que ejecutará se conoce como trabajo cron. Como puedes adivinar, el propósito de un trabajo cron es automatizar tareas repetitivas para que puedas utilizar tu tiempo de forma más productiva.
- ¿Qué es un Cron Job de WordPress?
- Ventajas de usar WordPress Cron
- Cómo gestionar los Cron Jobs de WordPress – 2 métodos
- Cómo gestionar los Cron Jobs de WordPress con plugins
- Cómo gestionar los Cron Jobs de WordPress con WP CLI
- Cómo crear un trabajo Cron real
- Cómo ver y controlar los Cron Jobs de WordPress
- Resumen
Sin embargo, el cron job de WordPress es ligeramente diferente del cron estándar, así que antes de sumergirte en la acción y el proceso, necesitas entender qué es un cron de WordPress y cómo funciona para la automatización de tareas.
¿Qué es un Cron Job de WordPress?
WordPress tiene su propio sistema cron para programar tareas como la comprobación de actualizaciones, la programación de una entrada para su publicación y la eliminación de comentarios de la papelera. Todas las tareas cron son gestionadas por WP-Cron.
Aunque el nombre (y la idea principal) proviene de UNIX cron, WordPress cron no funciona así y utiliza intervalos para la programación de tareas. Los intervalos de tiempo predeterminados que proporciona WordPress son cada hora, dos veces al día, cada día y cada semana. En este caso, las tareas basadas en intervalos de tiempo dependen de que los usuarios visiten tu sitio, lo que significa que WordPress cron sólo se ejecutará si un usuario visita tu sitio web.
En otras palabras, el cron de WordPress se ejecuta cuando se carga la página. A veces esto no es tan fiable, y por eso muchos usuarios prefieren una tarea cron a nivel de servidor en lugar de la tarea WP-Cron.
Ventajas de usar WordPress Cron
Si quieres automatizar el proceso de un sitio web o necesitas comprobarlo, verificarlo y controlarlo regularmente, las tareas cron te resultarán muy útiles. Por ejemplo, podemos querer hacer ping a un servidor una vez al día, comprobar el estado de un sistema cada hora (y registrarlo en la base de datos), etc.
WP Cron facilita que el núcleo de WordPress y otros plugins realicen tareas basadas en el tiempo. Es relativamente fácil configurar una tarea Cron de WordPress en lugar de utilizar una tarea Cron real que requiere conocimientos de comandos de Linux.
Además, como WP-Cron utiliza intervalos para programar las tareas, puedes estar seguro de que tu tarea acabará ejecutándose aunque transcurra la hora programada, a diferencia de un cron real que especifica la hora exacta a la que debe ejecutarse una tarea. Si pasa el tiempo y la tarea no se ejecuta, no volverá a ejecutarse hasta que la vuelvas a programar manualmente.
Optimizar Cron Jobs es más fácil con Cloudways
El Optimizador Cron integrado en nuestro alojamiento WordPress automatiza las tareas, proporcionando un rendimiento del sitio fluido y fiable.
Cómo gestionar los Cron Jobs de WordPress – 2 métodos
Hay muchas formas de configurar y gestionar las tareas cron de WordPress, pero te mostraré dos métodos populares. Puedes utilizar cualquiera de ellos si utilizas nuestro alojamiento gestionado de WordPress.
La primera utiliza un plugin de gestión de cron como WP Crontrol, que te permite añadir, modificar y gestionar las tareas cron de WordPress directamente desde el panel de control de WP. También puedes crear una tarea cron, crear ganchos y funciones, y definir intervalos de tiempo personalizados para las tareas.
Y el segundo método es con WordPress CLI.
Cómo gestionar los Cron Jobs de WordPress con plugins
Utilizaré el plugin WP Crontrol que te permite ver y controlar el cron de WordPress para tu aplicación de WordPress. Es el plugin más popular que gestiona los trabajos cron de WP y tiene más de 200.000 instalaciones activas.
WP-Cron no se ejecuta continuamente. Por defecto, el wp-cron.php se dispara en cada carga de página, lo que en sitios web con mucho tráfico puede causar problemas. Si un sitio web no tiene suficientes trabajadores PHP, a veces entrará una petición y WordPress producirá el cron, pero el cron debe esperar al trabajador, por lo que se queda ahí.
Este es el método más sencillo de gestionar las tareas cron de WordPress, y puedes ver, editar, crear, eliminar y hacer mucho más con los eventos cron de WordPress.
Así que ¡manos a la obra!
Paso 1: Instala el plugin WP Control
Como cualquier otro plugin, necesitas instalar WP Crontrol desde el repositorio de plugins y activarlo.

Una vez instalado, verás que ha aparecido una nueva opción, «Eventos Cron», en la pestaña Herramientas.

Paso 2: Ver y comprender los Eventos Cron
A continuación, debes hacer clic en Eventos Cron y verás una lista de los eventos cron que se están ejecutando en tu aplicación WordPress.

Puedes ejecutar, editar y eliminar tus eventos cron desde esta sección. Verás esta opción cuando pases el ratón por encima de cualquier evento cron.
También encontrarás información útil sobre estas tareas cron e identificar rápidamente qué tarea cron se utiliza para qué propósito y mucho más.
- En la primera columna, Gancho muestra el nombre del gancho utilizado por el núcleo de WordPress o por cualquier plugin. Por ejemplo, el prefijo «wp» simplemente muestra que es un cron del núcleo de WordPress.
- También observarás que no hay ninguna opción para eliminar estos eventos cron, aunque puedes utilizar las opciones editar y ejecutar ahora. Del mismo modo, para tus plugins, observarás que se utilizan otros prefijos (por ejemplo, para WooCommerce, «wc» o «woocommerce»).
- La segunda columna, Argumentos, sólo contiene los argumentos pasados a las funciones gancho.
- La tercera columna muestra cuándo se ejecutará esta tarea cron la próxima vez.
- La cuarta columna, Acción, muestra qué acción realizará este cron (la «función» del trabajo cron).
- La última columna define los tiempos de recurrencia de las tareas cron. Éste es el intervalo de tiempo para la tarea programada.
No más preocupaciones por la gestión del sitio con el alojamiento Cloudways
Migra a nuestro alojamiento WordPress para obtener actualizaciones automáticas, mayor rendimiento y experimenta una programación de tareas eficiente con Cron Optimizer.
Paso 3: Editar Evento Cron
Ahora vamos a editar una tarea cron de WP para probar este plugin.
- Ve al nombre de un gancho y haz clic en Editar.

- Aparecerá una nueva sección, «Editar evento Cron», donde verás diferentes campos. En mi caso, he editado el hook «wp_privacy_delete_old_export_files».
- A continuación, voy a cambiar la recurrencia de esta tarea cron a «Una vez por hora».

Paso 4: Añadir un intervalo de tiempo personalizado
A continuación, te mostraré cómo añadir un intervalo de tiempo personalizado para tus eventos cron.
- Ve a Ajustes de WordPress → Cronogramas.
- Ahora, haz clic en la pestaña «Cron Schedule», y aparecerá una nueva pantalla donde verás los detalles de los intervalos de tiempo programados.
- Rellena los campos Nombre interno, Segundos de intervalo y Nombre para mostrar y, a continuación, haz clic en Añadir programación Cron.

- Ten en cuenta que la entrada para el intervalo está en segundos. Utilizaré 600 segundos para fijar el intervalo en 10 minutos.
- Ahora puedes editar tu evento cron y sustituirlo por tu intervalo personalizado.

Paso 5: Añadir un nuevo evento Cron
Ahora ya sabes cómo gestionar las tareas sencillas de tus eventos cron, pero ¿y si quieres añadir tu propia tarea cron para tu aplicación de WordPress? No te preocupes, es muy sencillo y debes seguir las instrucciones que se indican a continuación.
- Primero, haz clic en Añadir Evento Cron, y entrarás en la sección de añadir cron.
- A continuación, dale el nombre de gancho que desees (debe seguir la convención de nombres normal de PHP y sin espacios).
- Después, añade argumentos (es opcional); en mi caso, está en blanco.
- A continuación, selecciona cualquier opción y pon una hora en el campo Próxima ejecución.
- Por último, elige una hora de repetición (hora programada) para tu nuevo cron y haz clic en Añadir evento.

- Si tienes alguna duda al respecto, puedes comprobar la configuración de cualquier trabajo cron en ejecución desde tus eventos cron.
- Después de añadir una nueva tarea cron, ve a la pestaña de eventos cron y comprueba tu cron recién creado. Te darás cuenta de que la columna de acción mostrará Ninguno (error). Esto se debe a que no has definido ninguna acción para este trabajo cron.
- Por lo tanto, tienes que escribir unas líneas de código en el archivo functions.php del tema y añadir una acción.

Nota: Antes de continuar, es muy recomendable hacer una copia de seguridad del sitio de WordPress.
- Ve al Panel de control de WordPress → Apariencia y haz clic en el Editor de archivos de temas.
- Haz clic en el archivo function. php desde la opción Archivos de tema en la parte derecha de la página.
- Añade las siguientes líneas de código justo después de php en el archivo function.php de tu tema
add_action( 'cloudways_new_cron', 'cw_function' );
function cw_function() {
wp_mail( '[email protected]', 'Cloudways Cron', 'Cloudways - a Managed Cloud Hosting!' );
}
Nota: No olvides sustituir mi dirección de correo electrónico por la tuya.

Puedes ver en la imagen superior que lo he editado directamente con el panel de control de WordPress. Si lo deseas, puedes editar este archivo a través de un cliente FTP como FileZilla.
A continuación, comprueba en la bandeja de entrada del correo electrónico si estamos recibiendo el mensaje.

¡Tada! Ya está, y hemos añadido con éxito un nuevo evento cron.
Cómo gestionar los Cron Jobs de WordPress con WP CLI
También puedes ver y gestionar todas tus tareas cron de WordPress desde WordPress CLI. En Cloudways, debes lanzar el terminal e iniciar sesión con las credenciales del servidor.
- Puedes utilizar PuTTy para acceder a tu servidor. Introduce la dirección IP de tu servidor y haz clic en Abrir.

- Introduce el nombre de usuario y la contraseña de tu servidor en PuTTy desde el panel de gestión de servidores de Cloudways.

- A continuación, coloca la ruta de tu aplicación WordPress. En mi caso, la URL era :
cd applications/urrghmpqks/public_html/

- A continuación, tienes que ejecutar este comando:
wp cron event list

- Puedes ver el nombre del gancho, la hora de la próxima ejecución, el pariente de la próxima ejecución y la recurrencia (hora programada).
Cómo crear un trabajo Cron real
Ahora ya sabes qué es y cómo funciona el cron job de WordPress. ¿Y si quieres sustituirlo por un cron job real para casos de poco tráfico, tareas importantes que deben ejecutarse a una hora determinada, ataques DDoS excesivos o un tiempo de carga de página elevado?
Así que ¡manos a la obra!
Paso 1: Abre y edita el archivo wp-config.php
En primer lugar, tienes que abrir el archivo wp-config utilizando un cliente FTP como FileZilla o un cliente SSH como PuTTY. Después, edita el archivo y coloca la siguiente línea de código antes de la línea donde dice /* Eso es todo. ¡Deja de editar! Feliz blogueo. */
define('DISABLE_WP_CRON', true);

Este código desactiva la ejecución de eventos cron en tu sitio WordPress, y ahora puedes crear un verdadero trabajo cron.
Paso 2: Añadir un nuevo Cron Job al servidor
A continuación, inicia sesión en tu plataforma Cloudways, luego ve al panel Gestión de aplicaciones → Gestión de Cron Job → Sección avanzada.
A continuación, añade el siguiente comando y haz clic en Guardar cambios:
*/5 * * * * wget -q -O - 'https://wordpress-413270-1299955.cloudwaysapps.com/wp-cron.php?doing_wp_cron' >/dev/null 2>&1

En el comando anterior, en primer lugar, he definido un intervalo de cinco minutos para la tarea cron. Puedes utilizar este sitio para comprobar la expresión de intervalo. En mi caso, */5 * * * * es la expresión del intervalo.
Ya está. Has añadido con éxito una tarea cron real.
Experimenta el alojamiento sin manos con Cloudways Autónomo
Autonomous escala tu sitio para satisfacer las crecientes demandas sin intervención manual, eliminando los problemas de tiempo de inactividad y ofreciéndote una experiencia de alojamiento totalmente gestionada.
Cómo ver y controlar los Cron Jobs de WordPress
Para optimizar el rendimiento de tu sitio WordPress, es esencial ver y controlar eficazmente los eventos cron. Sigue estos pasos con el plugin WP Crontrol:
- Instalación y activación:
- Empieza instalando y activando el plugin WP Crontrol en tu sitio WordPress.

- Acceder a los Eventos Cron:
- Tras la activación, ve a la página Herramientas » Eventos Cron para ver y controlar la configuración del cron.

- Ver Eventos Cron:
- La página muestra una lista de todos los eventos cron programados en tu sitio, identificados por los nombres de los ganchos.
- Los nombres de los anzuelos suelen dar una idea de la finalidad de cada acto.
- La información incluye la próxima ejecución programada y el intervalo de tiempo entre ocurrencias.

- Controlar los Eventos Cron:
- En la lista, debajo de ciertos plugins, verás las opciones Editar | Ejecutar ahora | Pausar este gancho | Eliminar.
- Precaución: Ten cuidado al tratar con eventos cron, especialmente los predeterminados de WordPress.

- Gestión de eventos que consumen muchos recursos:
- Si un plugin crea un evento cron que consume muchos recursos, comprueba primero la configuración del plugin para ver las opciones de control.
- Si no hay ninguno, haz clic en el enlace «Editar» situado junto al evento cron para realizar más ajustes. Ajustaré la configuración del plugin breeze_purge_cache para este ejemplo.

- Modificar la configuración de Cron:
- Al hacer clic en «Editar» se abre la pestaña «Modificar Evento Cron», donde puedes cambiar la frecuencia del evento.
- Una vez realizadas las modificaciones, haz clic en «Actualizar Evento» para guardar tus ajustes.
Resumen
Espero que este artículo te haya ayudado a entender cómo funciona el cron job de WordPress. He explicado dos métodos para gestionar las tareas cron de WordPress: uno a través de un plugin y el otro a través de WP-CLI. También he explicado cómo configurar una tarea cron real en un servidor de WordPress. Si tienes alguna pregunta, házmela saber en la sección de comentarios.
Q. ¿Cómo ejecuto una tarea cron en WordPress?
A. Hay tres formas de ejecutar tareas cron en WordPress:
- Utiliza el plugin WP Crontrol para gestionar y ejecutar tareas cron.
- Ejecuta cron jobs mediante comandos WP-CLI.
- Si utilizas Cloudways, programa y gestiona las tareas cron directamente desde la Plataforma Cloudways.
Q. ¿Dónde se almacenan las tareas cron de WordPress?
A. Las tareas cron de WordPress se almacenan en la tabla wp_options de la base de datos de WordPress, en la columna option_name etiquetada como cron. Para comprobar los datos del cron, ejecuta el siguiente comando SQL:
SELECT * FROM wp_options WHERE option_name = 'cron';
Q. ¿Qué es WP Cron Control?
A. WP Cron Control es un plugin para WordPress que permite a los usuarios monitorizar y gestionar tareas programadas dentro del sistema WP-Cron, ofreciendo un mejor control sobre la ejecución de eventos.
Q. ¿Cómo puedo crear y gestionar cron jobs en WordPress?
A. Puedes crear y gestionar cron jobs utilizando código PHP o un plugin como WP Crontrol. Este plugin proporciona una interfaz para ver, editar y programar cron jobs desde el panel de administración de WordPress.
Q. ¿Cómo añado una tarea cron en WordPress?
A. Para añadir una tarea cron, utiliza wp_schedule_event() en tu archivo functions.php para definir una tarea recurrente, o utiliza un plugin como WP Crontrol para facilitar la configuración.
Q. ¿Puedo programar una hora concreta para que se ejecute una tarea cron de WordPress?
A. Sí, puedes programar una tarea cron para que se ejecute a una hora determinada utilizando la función wp_schedule_single_event(), que te permite establecer una marca de tiempo Unix para la ejecución.
Q. ¿Existen plugins que ayuden a gestionar las tareas cron de WordPress?
A. Sí, plugins como WP Crontrol, Advanced Cron ManagerWP-Cron Status Checker y WooCommerce Scheduled Actions Manager permiten un mejor control de las tareas cron.
Q. ¿Qué ocurre si una tarea cron de WordPress no se ejecuta?
A. Los fallos en las tareas cron pueden provocar problemas como la falta de programación de publicaciones, retrasos en las actualizaciones, fallos de mantenimiento e interrupciones en las copias de seguridad. Comprobar los conflictos entre plugins y habilitar tareas cron reales en el servidor puede ayudar a evitar fallos.
Q. ¿Cómo puedo crear una tarea cron en WordPress sin plugins?
A. Puedes crear manualmente una tarea cron añadiendo una función en functions.php y programándola mediante wp_schedule_event(). Alternativamente, puedes configurar una tarea cron real en tu servidor mediante cPanel o un comando SSH.
Mansoor Ahmed Khan
Llevo en el marketing de contenidos desde 2014, y todavía me entusiasma crear historias que resuenen con el público objetivo y generen resultados. En Cloudways by DigitalOcean (una empresa líder en alojamiento en la nube), dirijo un equipo de creadores de contenidos de ensueño. Juntos, aportamos ideas, escribimos y producimos contenidos increíbles en todos los canales: blogs, redes sociales, correos electrónicos, ¡lo que quieras! Puedes ponerte en contacto conmigo en [email protected].