🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo programar tareas (cron jobs) en cPanel para WordPress

Actualizado el 14 de septiembre de 2025

¿Por qué tu WordPress necesita un cron job bien configurado?

Si alguna vez has notado que las entradas programadas de tu blog no se publican a la hora exacta, que las copias de seguridad no se generan o que los plugins de SEO no actualizan el sitemap, el problema casi siempre está en el sistema de tareas programadas de WordPress. WordPress tiene su propio "cron" interno, pero no funciona como un reloj suizo: solo se ejecuta cuando alguien visita tu web. Si no tienes tráfico constante, las tareas se retrasan o se acumulan.

La solución profesional es crear un cron job en cPanel que llame al archivo wp-cron.php de WordPress cada cierto tiempo. De esta forma, automatizas WordPress cron sin depender de visitas externas. En esta guía te explico paso a paso cómo hacerlo, incluso si nunca has tocado un panel de hosting en tu vida.


¿Qué es un cron job y qué tiene que ver con WordPress?

Un cron job es una tarea programada que ejecuta un comando en el servidor en intervalos determinados (cada minuto, cada hora, cada día...). Es como poner una alarma en tu hosting para que haga algo automáticamente.

WordPress tiene su propio sistema llamado WP-Cron, pero es un "falso cron": se ejecuta cuando alguien carga una página. Esto funciona en sitios pequeños, pero en webs con poco tráfico o con plugins pesados (backups, seguridad, SEO) las tareas se retrasan.

Al crear un cron job en cPanel para WordPress, le dices al servidor: "ejecuta el cron de WordPress cada 5 minutos, sin importar si hay visitas". Esto se hace llamando a un archivo específico y desactivando el cron interno de WordPress.


Antes de empezar: qué necesitas

Para seguir esta guía, necesitas:

  • Acceso a cPanel de tu hosting (normalmente en tudominio.com/cpanel).
  • Conocer la ruta absoluta de tu instalación de WordPress (normalmente es /home/usuario/public_html).
  • Un plugin o acceso al archivo wp-config.php para hacer un pequeño cambio (te lo explico más adelante).

Si tu hosting usa Syspanel (antes llamado HestiaCP), el proceso es similar, pero el puerto de acceso es el 2106. Por ejemplo: https://tudominio.com:2106. Aunque el panel cambie, los conceptos de cron jobs son prácticamente los mismos.


Paso 1: Localiza la sección de Cron Jobs en cPanel

  1. Inicia sesión en tu cPanel.
  2. Busca la sección "Tareas programadas" o "Cron Jobs". En la mayoría de los temas de cPanel, está en el grupo "Avanzado".
  3. Haz clic en "Cron Jobs" y verás una pantalla con dos partes: la configuración de correo electrónico y el formulario para añadir una nueva tarea.

[INFO] Si no encuentras la sección, usa el buscador de cPanel (normalmente arriba a la derecha) y escribe "cron". Te llevará directamente.


Paso 2: Desactiva el WP-Cron interno (opcional pero recomendado)

Para que el cron de cPanel no entre en conflicto con el de WordPress, debes desactivar el WP-Cron interno. Esto se hace editando el archivo wp-config.php de tu WordPress.

  1. Ve a Administrador de archivos en cPanel.
  2. Navega a /public_html (o la carpeta donde tengas WordPress instalado).
  3. Busca el archivo wp-config.php y haz clic derecho → Editar.
  4. Antes de la línea que dice /* That's all, stop editing! Happy publishing. */, añade esta línea:
define('DISABLE_WP_CRON', true);
  1. Guarda el archivo.

[WARNING] Si no haces este cambio, el cron de WordPress se ejecutará dos veces: una por visitas y otra por el cron de cPanel. Esto puede causar conflictos con plugins que programan envíos de correo o backups.


Paso 3: Crea tu primer cron job en cPanel para WordPress

Ahora viene la parte clave. En la pantalla de Cron Jobs, verás un formulario con estos campos:

  • Configuración de correo electrónico (opcional): aquí puedes poner un email para recibir errores de ejecución. Te recomiendo poner uno tuyo.
  • Comando (o "Command"): es la instrucción que se ejecutará.
  • Configuración de tiempo: aquí eliges cada cuánto se ejecuta.

El comando mágico

En el campo Comando, escribe lo siguiente:

/usr/bin/php /home/TU_USUARIO/public_html/wp-cron.php

Pero debes cambiar TU_USUARIO por tu usuario real de hosting. Si no lo sabes, en la parte superior de cPanel suele aparecer tu nombre de usuario. También puedes verlo en la ruta del Administrador de archivos (por ejemplo, si estás en /home/miusuario/public_html, tu usuario es miusuario).

[TIP] Si WordPress está instalado en una subcarpeta (por ejemplo, /public_html/blog), el comando sería: /usr/bin/php /home/TU_USUARIO/public_html/blog/wp-cron.php

Configura el intervalo de tiempo

En la parte de configuración de tiempo, tienes dos opciones:

  • Configuración común: elige "Cada 5 minutos" o "Cada minuto" si quieres precisión.
  • Configuración avanzada: puedes poner valores específicos con formato de cron (minuto, hora, día del mes, mes, día de la semana).

Para WordPress, lo más recomendable es cada 5 minutos. Así las tareas programadas se ejecutan con suficiente frecuencia sin sobrecargar el servidor.


Paso 4: Guarda y verifica el cron job

  1. Haz clic en "Añadir nueva tarea programada" o "Add New Cron Job".
  2. Verás que aparece en la lista de tareas existentes con el formato que configuraste.
  3. Para probar si funciona, puedes hacer una prueba: modifica una entrada programada en WordPress para que se publique en 2 minutos y comprueba si se publica sin que tú visites la web.

[INFO] Si no se publica, revisa que el comando sea correcto. Un error común es escribir mal la ruta. También asegúrate de que el archivo wp-cron.php existe en la ruta que indicaste.


Paso 5: Configuración avanzada (para usuarios más atrevidos)

Si quieres afinar más, puedes usar comandos más específicos:

Ejecutar solo si hay cambios (optimización)

/usr/bin/php -q /home/TU_USUARIO/public_html/wp-cron.php

La opción -q (quiet) evita que se muestre salida en el servidor, lo cual es más limpio.

Usar wget en lugar de PHP (si tu hosting lo permite)

/usr/bin/wget -q -O - http://tudominio.com/wp-cron.php

Esto simula una visita a la URL, pero con la ventaja de que no depende del navegador. Sin embargo, algunos hosts bloquean wget por seguridad. Prueba primero con PHP.

Limitar la frecuencia de ejecución

Puedes usar la configuración avanzada de tiempo. Por ejemplo, para que se ejecute cada 10 minutos:

  • Minuto: */10
  • Hora: *
  • Día del mes: *
  • Mes: *
  • Día de la semana: *

Errores comunes y cómo solucionarlos

Error: "No se encuentra el archivo wp-cron.php"

Revisa la ruta. Si usas una instalación en subdirectorio, añade la subcarpeta. También verifica que el archivo no esté oculto.

Error: "Permission denied"

Esto significa que el servidor no tiene permisos para ejecutar el archivo. Ve al Administrador de archivos, haz clic derecho sobre wp-cron.phpPermisos y asegúrate de que tenga al menos 755.

El cron se ejecuta pero no hace nada

Prueba a acceder manualmente a tudominio.com/wp-cron.php desde tu navegador. Si ves una página en blanco, es normal (es una buena señal). Si ves un error, es que hay un problema con WordPress o un plugin.

[WARNING] No accedas a wp-cron.php desde el navegador si tienes desactivado el WP-Cron. Solo servirá para una ejecución puntual, pero no para el funcionamiento normal.


¿Qué tareas de WordPress deberías automatizar con cron?

Ahora que ya sabes cómo configurar el cron, aquí tienes ejemplos de tareas que se benefician enormemente:

  • Publicación de entradas programadas: se ejecutan a la hora exacta, sin importar el tráfico.
  • Copias de seguridad de plugins (UpdraftPlus, BackupBuddy): se generan de forma fiable.
  • Actualización de sitemaps de SEO (Yoast, Rank Math): los buscadores reciben el sitemap actualizado.
  • Limpieza de caché: plugins como W3 Total Cache pueden purgar la caché automáticamente.
  • Envío de newsletters: si usas un plugin de email, las colas se procesan sin retrasos.

Preguntas frecuentes (FAQ) sobre cron jobs en cPanel para WordPress

¿Puedo usar el cron de cPanel con Syspanel?

Sí. Syspanel (antes HestiaCP) tiene su propia sección de cron jobs. El proceso es idéntico, solo cambia el puerto de acceso: 2106. Entra con https://tudominio.com:2106, busca "Cron Jobs" y sigue los mismos pasos.

¿Cada cuánto tiempo debo ejecutar el cron de WordPress?

Lo normal es cada 5 minutos. Si tu web tiene mucho tráfico o plugins que requieren precisión (como tiendas), puedes ponerlo cada minuto. Pero ten en cuenta que cada ejecución consume recursos del servidor.

¿Qué pasa si tengo varios sitios WordPress en el mismo hosting?

Debes crear un cron job por cada instalación de WordPress. Cada uno con su ruta correspondiente.

¿Es seguro desactivar el WP-Cron?

Sí, siempre y cuando configures el cron de cPanel correctamente. Si lo desactivas sin crear el cron, WordPress dejará de ejecutar tareas programadas por completo.

¿Puedo usar cron jobs para otras cosas además de WordPress?

Claro. Por ejemplo, puedes programar la ejecución de scripts PHP personalizados, comandos de base de datos o incluso enviar correos. El campo "Comando" acepta cualquier instrucción válida del servidor.


Consejos finales para automatizar WordPress cron como un profesional

  • Empieza con intervalos amplios (cada 15 minutos) y ve reduciendo si notas que las tareas se retrasan.
  • Monitorea los logs: en cPanel, puedes ver el historial de ejecuciones en la sección de Cron Jobs. Revisa de vez en cuando si hay errores.
  • No combines demasiados cron jobs en un solo comando. Si tienes varias tareas, crea varios cron jobs o usa un plugin gestor de cron (como WP Crontrol) para controlarlo todo desde WordPress.
  • Haz una copia de wp-config.php antes de editarlo. Si algo falla, puedes restaurarlo fácilmente.

Conclusión: domina el cron de WordPress y olvídate de los retrasos

Configurar un cron job en cPanel para WordPress no es difícil, pero requiere entender dos conceptos: el comando correcto y el intervalo adecuado. Con esta guía, ya tienes todo lo necesario para que tus tareas programadas se ejecuten como un reloj, sin depender de visitas ni de la suerte.

Recuerda los pasos clave:

  1. Desactiva el WP-Cron en wp-config.php con define('DISABLE_WP_CRON', true);.
  2. Crea un cron job con /usr/bin/php /home/TU_USUARIO/public_html/wp-cron.php.
  3. Configúralo cada 5 minutos.
  4. Verifica con una entrada programada.

Si tu hosting usa Syspanel, no te preocupes: el puerto es el 2106 y el proceso es el mismo. La automatización de WordPress cron es una de las mejores prácticas para mantener tu sitio rápido, fiable y profesional.

¿Te ha servido esta guía? Si tienes dudas, deja un comentario y te ayudaré a configurar tu primer cron job. ¡Tu WordPress te lo agradecerá!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel