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

Cómo programar tareas cron en cPanel para WordPress

Actualizado el 24 de septiembre de 2025

¿Qué es un cron job y por qué tu WordPress lo necesita?

Si alguna vez te has preguntado cómo hace WordPress para publicar entradas programadas, enviar correos automáticos o limpiar cachés sin que estés mirando la pantalla, la respuesta es sencilla: gracias a los cron jobs. Un cron job es, en esencia, una tarea programada que tu servidor ejecuta automáticamente en intervalos definidos.

Piénsalo como una alarma que le pones a tu hosting para que haga ciertas cosas por ti. En el caso de WordPress, el sistema tiene su propio "cron" interno (llamado WP-Cron), pero este no es perfecto: solo se ejecuta cuando alguien visita tu web. Si no tienes tráfico, las tareas se retrasan o simplemente no se hacen. Por eso, programar cron jobs en cPanel para WordPress es una solución profesional que garantiza que todo funcione en hora, sin depender de visitas.

En esta guía extensa y pensada para principiantes, te voy a explicar desde cero qué es un cron job, cómo configurarlo en cPanel, qué comandos usar con WordPress y cómo verificar que todo funciona. No necesitas ser un experto en servidores: solo sigue los pasos y verás que es más fácil de lo que parece.


Cron jobs cPanel WordPress: la combinación perfecta

Cuando hablamos de cron jobs cPanel WordPress, nos referimos a la integración entre el panel de control de tu hosting (cPanel) y el sistema de tareas programadas de tu sitio. La mayoría de los hostings que usan cPanel te permiten crear cron jobs desde su interfaz gráfica, sin necesidad de tocar la terminal.

¿Por qué usar el cron del servidor en lugar del de WordPress?

El WP-Cron interno se activa con cada visita. Si tu sitio tiene poco tráfico, las tareas pueden retrasarse horas o incluso días. El cron del servidor, en cambio, se ejecuta de forma independiente, como un reloj suizo. Esto es crucial para:

  • Publicaciones programadas: se publican a la hora exacta.
  • Copias de seguridad: se realizan aunque nadie visite tu web.
  • Limpieza de caché: mejora el rendimiento sin intervención manual.
  • Envío de correos transaccionales: como notificaciones de pedidos o recuperación de contraseñas.
  • Actualización de plugins y temas: mantiene tu WordPress seguro y al día.

¿Qué necesitas para empezar?

  1. Acceso a tu cPanel (normalmente en tudominio.com/cpanel).
  2. Tu usuario y contraseña de hosting.
  3. Conocer la ruta de instalación de WordPress (normalmente /home/usuario/public_html).
  4. Un poco de paciencia, que aquí todo se explica.

Cómo acceder a la sección de Cron Jobs en cPanel

El proceso es muy visual y no tiene pérdida. Te explico paso a paso:

  1. Inicia sesión en cPanel con tus credenciales.
  2. Busca la sección "Avanzado" o "Tareas programadas". En la mayoría de las versiones de cPanel, verás un icono que dice "Cron Jobs" o "Trabajos Cron".
  3. Haz clic en ese icono y te llevará a una pantalla con dos partes: una para añadir un nuevo cron job y otra para listar los existentes.

[INFO] Si tu hosting usa Syspanel (antes conocido como HestiaCP), el acceso es diferente. Recuerda que el puerto de acceso es el 2106 y la interfaz es mucho más simplificada. En Syspanel, la opción se llama "Cron" y está en el menú lateral.


Configuración básica de un cron job en cPanel

Vamos a lo importante: crear tu primera tarea programada. La interfaz de cPanel te pide tres cosas:

  • Comando a ejecutar: la instrucción que quieres que el servidor haga.
  • Configuración de tiempo: cuándo y con qué frecuencia.
  • Dirección de correo (opcional): para recibir avisos de errores.

Paso 1: Elige el intervalo de tiempo

cPanel te ofrece dos modos:

  • Modo básico: eliges entre opciones predefinidas como "Una vez al día", "Cada 5 minutos", etc.
  • Modo avanzado (expresión cron): usas cinco campos para controlar minuto, hora, día del mes, mes y día de la semana.

Para WordPress, lo más común es que necesites ejecutar tareas cada 5 minutos o cada hora. Te recomiendo empezar con el modo básico si eres novato.

Paso 2: Escribe el comando

Aquí es donde muchos se bloquean, pero no te preocupes: hay comandos estándar que funcionan para la mayoría de las webs. El más usado para WordPress es:

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

Pero hay variantes más eficientes. Te las explico en la siguiente sección.

Paso 3: Guarda y verifica

Haz clic en "Agregar nuevo cron job". Si todo está bien, aparecerá en la lista de tareas programadas. Puedes activar la opción de "Enviar correo" para que te notifique si hay algún error, aunque esto puede saturar tu bandeja de entrada si la tarea falla mucho.


Los 5 comandos cron imprescindibles para WordPress

Para automatizar WordPress correctamente, estos son los comandos que más vas a usar. Copia y pega, pero cambia TU_USUARIO por tu usuario real de hosting y public_html por la ruta donde tengas instalado WordPress.

1. Ejecutar el WP-Cron directamente

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

Este comando es el equivalente a decirle a WordPress "ejecuta todas las tareas pendientes". Es el más seguro y el que recomiendo para empezar.

2. Limitar la memoria de PHP (para sitios grandes)

/usr/bin/php -d memory_limit=256M /home/TU_USUARIO/public_html/wp-cron.php

Si tu web tiene muchos plugins o procesos pesados, este comando le da más memoria al cron para que no falle.

3. Ejecutar con un usuario específico (recomendado por seguridad)

/usr/bin/php /home/TU_USUARIO/public_html/wp-cron.php >/dev/null 2>&1

El >/dev/null 2>&1 al final hace que el servidor no te envíe correos con la salida del cron, lo cual evita spam en tu bandeja de entrada.

4. Desactivar WP-Cron y usar el servidor (la mejor práctica)

Este es el método que usan los profesionales. Primero, añade esta línea al archivo wp-config.php de tu WordPress:

define('DISABLE_WP_CRON', true);

Y después, programa un cron job en cPanel con este comando:

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

De esta forma, el cron de WordPress queda desactivado y solo se ejecuta cuando el servidor lo dice, no cuando hay visitas.

5. Ejecutar comandos de WP-CLI (avanzado)

Si tienes WP-CLI instalado, puedes hacer maravillas:

/usr/bin/wp cron event run --due-now --path=/home/TU_USUARIO/public_html

Este comando ejecuta todas las tareas cron que están pendientes de forma inmediata. Muy útil para probar.


¿Cada cuánto tiempo debo ejecutar el cron?

Esta es una de las preguntas más frecuentes. La respuesta depende de qué tareas necesites:

  • Cada 5 minutos: ideal para sitios con actividad constante, como tiendas online o foros.
  • Cada 15 minutos: un buen equilibrio para blogs y webs corporativas.
  • Cada hora: suficiente para la mayoría de los sitios pequeños.

[TIP] No configures el cron a intervalos más cortos de 5 minutos. El servidor se sobrecargará y tu hosting podría penalizarte por uso excesivo de recursos.

Para configurar un intervalo de 5 minutos en cPanel, en el modo avanzado debes escribir:

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

Los cinco asteriscos significan: cada 5 minutos, cada hora, cada día, cada mes, cualquier día de la semana. Es la expresión estándar para "ejecutar siempre".


Tareas programadas WordPress: ejemplos prácticos

No solo puedes ejecutar el cron de WordPress. También puedes automatizar WordPress con scripts personalizados. Aquí tienes algunos ejemplos que puedes añadir como cron jobs:

Limpiar la caché automáticamente

Si usas un plugin de caché como W3 Total Cache, puedes programar su limpieza:

/usr/bin/php /home/TU_USUARIO/public_html/wp-content/plugins/w3-total-cache/wp-content/object-cache.php

Aunque es más fiable usar el comando que incluye el propio plugin. Consulta la documentación del tuyo.

Hacer una copia de seguridad de la base de datos

Puedes usar mysqldump para exportar tu base de datos a un archivo:

/usr/bin/mysqldump -u TU_USUARIO_DB -pTU_PASSWORD TU_NOMBRE_DB > /home/TU_USUARIO/backups/miweb.sql

[WARNING] Este comando expone tu contraseña en la lista de cron jobs. Si lo usas, asegúrate de que solo tú tienes acceso a cPanel. Mejor aún: usa un plugin de backups que ya haga esto por ti.

Actualizar plugins y temas automáticamente

WordPress tiene su propio sistema de actualizaciones. Puedes forzarlas con:

/usr/bin/php /home/TU_USUARIO/public_html/wp-cron.php?doing_wp_cron=1

Pero es más seguro usar un plugin de gestión de actualizaciones.


Cómo verificar que tus cron jobs funcionan

Después de configurar todo, es normal preguntarse: "¿estará funcionando?". Aquí tienes tres formas de comprobarlo:

1. Revisa la lista de cron jobs en cPanel

Vuelve a la sección de Cron Jobs y verás tu tarea listada con la fecha de la última ejecución. Si aparece "Nunca", hay un problema.

2. Activa los logs de error de PHP

Añade temporalmente esta línea a tu wp-config.php:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);

Después revisa el archivo debug.log en la carpeta wp-content. Si no hay errores, todo va bien. Recuerda desactivarlo después.

3. Comprueba con un script de prueba

Crea un archivo test-cron.php en la raíz de tu WordPress con este contenido:

<?php
file_put_contents('cron-test.txt', 'Funciona a las ' . date('Y-m-d H:i:s'));

Programa un cron que lo ejecute cada minuto y espera un par de minutos. Si aparece el archivo cron-test.txt, todo funciona. Después borra ambos archivos.


Errores comunes y cómo solucionarlos

"No tengo permiso para ejecutar el comando"

Esto suele pasar cuando el comando usa una ruta incorrecta. Asegúrate de que la ruta a php es correcta. En cPanel, puedes ver la ruta exacta escribiendo which php en el terminal, o usa /usr/bin/php que es la estándar.

"La tarea se ejecuta pero no hace nada"

Si el cron corre pero WordPress no responde, probablemente tu WP-Cron está desactivado. Revisa el wp-config.php y asegúrate de que no tienes define('DISABLE_WP_CRON', true); sin haber configurado el cron del servidor.

"Recibo muchos correos de error"

Eso significa que el comando está fallando. Revisa el contenido del correo: suele indicar la causa exacta. La mayoría de las veces es por rutas incorrectas o falta de permisos.

[WARNING] Nunca uses rutas relativas como public_html/wp-cron.php. Siempre usa la ruta absoluta completa, empezando por /home/.


Preguntas frecuentes (FAQ)

¿Puedo usar el cron de cPanel si mi hosting es WordPress.com?

No. WordPress.com tiene su propio sistema y no te da acceso a cPanel. Esta guía es para WordPress.org (autohospedado) con cPanel.

¿Qué pasa si mi hosting usa Syspanel en lugar de cPanel?

Si tu hosting usa Syspanel (el antiguo HestiaCP), el proceso es similar pero la interfaz cambia. Accede por el puerto 2106 (por ejemplo: tudominio.com:2106) y busca la sección "Cron". Los comandos que te he dado funcionan igual, solo cambia dónde los escribes.

¿Cada cuánto tiempo debo revisar mis cron jobs?

Te recomiendo revisarlos una vez al mes o cuando cambies de hosting o migres tu web. Los cron jobs no se rompen solos, pero las actualizaciones de WordPress o cambios en la estructura de carpetas pueden afectarlos.

¿Es necesario desactivar el WP-Cron interno?

No es obligatorio, pero es la mejor práctica. Si no lo desactivas, tendrás dos sistemas de cron intentando ejecutar las mismas tareas, lo que puede causar conflictos o duplicados. Si decides desactivarlo, recuerda que tu cron del servidor debe estar funcionando sí o sí, o tu WordPress se quedará sin tareas programadas.

¿Puedo programar un cron para que haga una copia de seguridad completa?

Sí, pero te recomiendo usar un plugin como UpdraftPlus o BackupBuddy. Ellos se encargan de todo y puedes programar sus cron jobs desde su panel. Hacerlo manualmente con comandos es posible, pero es más complejo y propenso a errores.


Conclusión: automatiza tu WordPress como un profesional

Programar cron jobs cPanel WordPress no es un lujo para expertos: es una necesidad para cualquier sitio que quiera funcionar de forma estable y predecible. Con esta guía, ya sabes cómo configurar tus tareas programadas WordPress, qué comandos usar y cómo solucionar los problemas más comunes.

Recuerda los puntos clave:

  • Usa siempre la ruta absoluta a PHP y a tu instalación de WordPress.
  • Desactiva el WP-Cron interno y confía en el cron del servidor para un rendimiento óptimo.
  • Configura intervalos razonables (5-15 minutos) para no saturar tu hosting.
  • Verifica periódicamente que tus cron jobs se ejecutan correctamente.

Si tu hosting usa Syspanel, no olvides que el puerto de acceso es el 2106 y que la lógica es la misma, solo cambia la interfaz.

Ahora que ya sabes cómo automatizar WordPress, te invito a que pruebes con un cron sencillo (por ejemplo, el de WP-Cron básico) y vayas añadiendo más tareas poco a poco. En unos días, verás cómo tu web se vuelve más rápida, más fiable y mucho más fácil de mantener.

¿Tienes alguna duda? Déjala en los comentarios y te ayudaré a resolverla. ¡Feliz automatización!

¿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