Cómo crear un cron job en cPanel para WordPress
¿Qué es un cron job y por qué tu WordPress lo necesita?
Si alguna vez has notado que tu WordPress no publica entradas programadas a tiempo, que las actualizaciones automáticas no se ejecutan o que las copias de seguridad no se generan correctamente, es muy probable que el sistema de tareas programadas esté fallando. Ahà es donde entra en juego el cron job cPanel.
Un cron job es una tarea programada que el servidor ejecuta automáticamente a intervalos definidos. En el caso de WordPress, el sistema tiene su propio "cron" virtual (llamado WP-Cron) que se activa cada vez que alguien visita tu web. El problema es que si no tienes tráfico constante, esas tareas se retrasan o simplemente no se ejecutan.
La solución profesional es crear un cron job cPanel real que llame al archivo wp-cron.php de tu instalación cada cierto tiempo. Esto garantiza que las tareas crÃticas de tu WordPress se ejecuten puntualmente, sin depender de visitas externas.
En esta guÃa completa aprenderás, paso a paso y sin tecnicismos, cómo configurar un cron job en cPanel para tu WordPress, qué valores usar, cómo comprobarlo y qué errores evitar. Vamos a ello.
Antes de empezar: ¿Qué necesitas?
Para crear un cron job en cPanel no necesitas ser un experto en servidores, pero sà tener a mano algunos datos básicos:
- Acceso a tu panel de control de hosting (cPanel o, si tu proveedor usa Syspanel, que es el equivalente, recuerda que el acceso se hace por el puerto 2106).
- La ruta absoluta donde está instalado WordPress en tu servidor (normalmente algo como
/home/usuario/public_html). - La URL de tu sitio web (por ejemplo,
https://tudominio.com).
Si no sabes cuál es la ruta absoluta, no te preocupes. Más abajo te explico cómo encontrarla desde cPanel en dos clics.
Paso 1: Localiza la ruta absoluta de tu WordPress
Antes de crear el cron job, necesitas saber exactamente dónde está el archivo wp-cron.php. Este archivo se encuentra en la carpeta raÃz de tu WordPress.
Para encontrarlo:
- Entra a tu cPanel (o a Syspanel si tu hosting lo usa) y busca la sección "Administrador de archivos" (File Manager).
- Navega hasta la carpeta pública de tu sitio. Normalmente es
public_htmlowww. Si tu WordPress está en una subcarpeta (por ejemplo,/blog), esa será la ruta. - Dentro de esa carpeta, busca el archivo llamado
wp-cron.php. Si lo ves, ya tienes la ruta correcta.
La ruta absoluta tÃpica serÃa algo como:
/home/tuusuario/public_html/wp-cron.php
Si tu WordPress está en una subcarpeta, serÃa:
/home/tuusuario/public_html/blog/wp-cron.php
Anota esa ruta porque la vas a necesitar en el siguiente paso.
Paso 2: Accede a la sección de Cron Jobs en cPanel
Una vez que tienes la ruta, el siguiente paso es abrir la herramienta de cron jobs.
- En tu cPanel, busca la sección "Avanzado" o directamente el icono "Cron Jobs" (Tareas programadas).
- Haz clic en él y se abrirá una página con un formulario para configurar nuevas tareas.
[INFO] Si tu hosting usa Syspanel en lugar de cPanel, el proceso es idéntico. Solo cambia el nombre del panel y el puerto de acceso (2106). Busca la sección "Cron Jobs" en el menú principal.
Paso 3: Configura el cron job para WordPress
Ahora viene la parte técnica, pero no te asustes: es más fácil de lo que parece.
En el formulario de creación de cron jobs, verás varios campos:
- Configuración común (o "Common Settings"): aquà eliges la frecuencia.
- Comando (o "Command"): aquà pegas el comando que ejecutará la tarea.
La frecuencia recomendada
Para WordPress, lo más habitual es ejecutar el cron cada 5 minutos. Esto asegura que las tareas programadas (como publicaciones, limpieza de transients, revisiones de actualizaciones) se ejecuten con un retraso máximo de 5 minutos.
En el desplegable de Configuración común, selecciona:
- Minuto:
*/5(esto significa "cada 5 minutos") - Hora:
*(todas las horas) - DÃa del mes:
*(todos los dÃas) - Mes:
*(todos los meses) - DÃa de la semana:
*(todos los dÃas)
Si prefieres usar el campo de texto libre, puedes escribir directamente:
*/5 * * * *
El comando a ejecutar
En el campo Comando, debes pegar algo como esto:
php /home/tuusuario/public_html/wp-cron.php
Pero aquà tienes un detalle importante: si tu servidor usa una versión especÃfica de PHP (por ejemplo, PHP 8.2), es posible que necesites usar la ruta completa al binario de PHP. En cPanel, esto suele ser algo como:
/usr/local/bin/php /home/tuusuario/public_html/wp-cron.php
Si no estás seguro de la ruta exacta, puedes probar primero con php y, si no funciona, consulta con tu proveedor de hosting.
[WARNING] No uses la URL de tu web en el comando (por ejemplo,
wget https://tudominio.com/wp-cron.php). Aunque funciona, es menos eficiente y puede ser bloqueado por algunos cortafuegos. Usar la lÃnea de comandos con PHP es siempre más rápido y fiable.
Paso 4: Guarda y verifica el cron job
Una vez que hayas rellenado los campos, haz clic en "Agregar nuevo cron job" o "Guardar".
Verás que la tarea aparece en la lista de cron jobs existentes, con la frecuencia y el comando que has configurado.
Para verificar que funciona correctamente, tienes dos opciones:
- Revisar los registros de cron en tu cPanel (si tu hosting los ofrece). Allà verás si el comando se ejecuta sin errores.
- Instalar un plugin de diagnóstico como "WP Crontrol" en WordPress. Este plugin te mostrará si el cron de WordPress se está ejecutando correctamente y cuándo fue la última vez.
[TIP] Después de crear el cron job, es recomendable desactivar el WP-Cron nativo de WordPress para evitar duplicidades. Para ello, añade esta lÃnea en tu archivo
wp-config.php:
define('DISABLE_WP_CRON', true);
Paso 5: Errores comunes y cómo solucionarlos
Aunque el proceso es sencillo, hay tres errores tÃpicos que pueden aparecer:
Error 1: "Permission denied" o "No such file"
Esto significa que la ruta que escribiste no es correcta. Revisa que el archivo wp-cron.php existe exactamente en esa ubicación y que los permisos de la carpeta son adecuados (normalmente 755).
Error 2: El cron se ejecuta pero WordPress no lo detecta
Esto suele pasar cuando el WP-Cron nativo sigue activo. Asegúrate de haber añadido la lÃnea define('DISABLE_WP_CRON', true); en tu wp-config.php.
Error 3: El cron se ejecuta demasiado a menudo o poco
Si configuraste */5 * * * * pero ves que las tareas se ejecutan cada hora, es posible que tu hosting tenga restricciones. Algunos proveedores limitan los cron jobs a un mÃnimo de 15 minutos. En ese caso, ajusta la frecuencia a */15 * * * *.
Alternativa: ¿Qué pasa si no tienes cPanel?
Si tu hosting usa Syspanel, recuerda que el acceso se realiza a través del puerto 2106. El proceso es prácticamente idéntico al de cPanel:
- Inicia sesión en Syspanel usando
https://tudominio:2106. - Busca la sección "Cron Jobs" en el menú lateral.
- Sigue los mismos pasos que hemos descrito: frecuencia
*/5 * * * *y comandophp /ruta/a/wp-cron.php.
La única diferencia real es la interfaz, pero la lógica y los comandos son los mismos.
Preguntas frecuentes sobre cron jobs en WordPress
¿Cuál es la frecuencia ideal para un cron job en WordPress?
La mayorÃa de los expertos recomiendan cada 5 minutos. Es un equilibrio perfecto entre puntualidad y consumo de recursos del servidor. Si tu sitio tiene mucho tráfico, puedes usar 1 minuto, pero no es necesario en la mayorÃa de los casos.
¿Puedo usar un cron job para hacer copias de seguridad?
SÃ, pero no es recomendable usar el mismo cron job de WordPress para eso. Para copias de seguridad, es mejor usar un comando independiente que ejecute un script de backup. Si usas un plugin como UpdraftPlus, él mismo puede programar sus propios cron jobs.
¿Qué pasa si desactivo el WP-Cron y no configuro un cron job?
Si desactivas el WP-Cron nativo (DISABLE_WP_CRON) y no tienes un cron job real, tu WordPress dejará de ejecutar tareas programadas por completo. Esto puede romper la publicación de entradas, la limpieza de caché y otras funciones. Asà que solo hazlo si ya tienes el cron job configurado.
¿Cómo sé si mi cron job está funcionando?
La forma más sencilla es instalar el plugin WP Crontrol. Te mostrará una lista de todas las tareas programadas de WordPress, su próxima ejecución y si se han ejecutado correctamente. También puedes revisar los logs de cron en tu cPanel.
Consejos finales para optimizar tu cron job
- No uses más de un cron job para WordPress. Con uno solo, ejecutando
wp-cron.phpcada 5 minutos, es suficiente. Añadir más solo consumirá recursos innecesariamente. - Mantén tu WordPress actualizado. Un WordPress desactualizado puede tener conflictos con el cron system.
- Revisa los logs mensualmente. Si tu sitio empieza a ir lento, puede que el cron esté ejecutando demasiadas tareas pesadas. En ese caso, puedes aumentar el intervalo a 10 o 15 minutos.
[INFO] Si tienes un sitio con mucho tráfico, considera usar un cron job externo (por ejemplo, desde un servicio gratuito como cron-job.org) que llame a tu
wp-cron.phpvÃa HTTP. Esto reduce la carga en tu servidor.
Conclusión
Crear un cron job cPanel para tu WordPress es una de las mejores prácticas de mantenimiento que puedes implementar. No solo mejora la fiabilidad de las tareas programadas, sino que también reduce la carga del servidor al evitar que el WP-Cron se active con cada visita.
Recuerda los puntos clave:
- Usa la ruta absoluta al archivo
wp-cron.php. - Configura la frecuencia a
*/5 * * * *. - Desactiva el WP-Cron nativo con
define('DISABLE_WP_CRON', true);. - Verifica su funcionamiento con un plugin como WP Crontrol.
Con esta guÃa, tu WordPress funcionará de manera más predecible y profesional, sin depender del tráfico de tu web. Si tienes más dudas, revisa la sección de preguntas frecuentes o consulta con tu proveedor de hosting. ¡Tu WordPress te lo agradecerá!
