Cómo configurar WP-CRON en cPanel para tareas programadas
¿Qué es WP-CRON y por qué deberÃas configurarlo manualmente?
WordPress tiene un sistema interno llamado WP-CRON que se encarga de ejecutar tareas programadas. Estas tareas incluyen cosas tan importantes como:
- Publicar entradas programadas.
- Enviar notificaciones de actualizaciones.
- Ejecutar backups automáticos.
- Revisar comentarios spam.
- Limpiar cachés o bases de datos.
- Actualizar plugins y temas.
El problema es que WP-CRON funciona de forma un poco "tramposa". No es un cron real del servidor. Lo que hace es simular un cron cada vez que alguien visita tu web. Si no tienes visitas, las tareas no se ejecutan. Y si tienes muchas visitas, se ejecutan de forma aleatoria, consumiendo recursos del servidor justo cuando no quieres.
Por eso, la solución profesional es desactivar el WP-CRON falso y crear un cron job real en cPanel. De esta forma, las tareas se ejecutan en intervalos exactos, sin depender de visitas y sin frenar tu web.
A lo largo de este artÃculo, te voy a enseñar paso a paso cómo configurar WP-CRON en cPanel. No necesitas ser un experto, solo seguir las instrucciones con calma.
Beneficios de usar cron jobs cPanel en lugar del WP-CRON nativo
Antes de ponernos manos a la obra, es importante que entiendas por qué merece la pena hacer este cambio. Los beneficios son claros y notarás la diferencia desde el primer dÃa:
1. Rendimiento mejorado
WP-CRON se activa con cada visita. Imagina que en un dÃa recibes 500 visitas. Eso son 500 posibles ejecuciones de tareas, muchas de ellas innecesarias. Con un cron real, la tarea se ejecuta una sola vez en el intervalo que tú decidas (por ejemplo, cada hora o cada 5 minutos).
2. Fiabilidad total
Si tu web no recibe visitas durante unas horas, WP-CRON no se ejecuta. Eso significa que una entrada programada para las 9:00 AM podrÃa publicarse a las 3:00 PM, cuando llegue el primer visitante. Con un cron real, se publica a las 9:00 AM sà o sÃ.
3. Menos consumo de recursos
Cada vez que WP-CRON se dispara, consume CPU y memoria. Si tienes muchos plugins con tareas programadas, esto puede ralentizar tu web. Un cron centralizado evita picos de carga innecesarios.
4. Control absoluto
Puedes definir intervalos exactos: cada minuto, cada 5 minutos, cada hora, etc. También puedes desactivar tareas especÃficas con plugins como Advanced Cron Manager o WP Crontrol si necesitas afinar.
Requisitos previos antes de configurar WP-CRON
Para seguir esta guÃa, necesitas:
- Acceso a cPanel de tu hosting (normalmente en
tudominio.com/cpanel). - Un sitio WordPress instalado y funcionando.
- Acceso al Administrador de archivos de cPanel o a un cliente FTP (como FileZilla).
- Conocimientos básicos de edición de archivos (no te preocupes, es muy sencillo).
Paso 1: Desactivar el WP-CRON nativo
El primer paso es evitar que WordPress ejecute su propio cron. Para ello, tienes que editar el archivo wp-config.php.
¿Cómo editar wp-config.php?
- Entra a cPanel y busca la sección Archivos.
- Haz clic en Administrador de archivos.
- Navega hasta la carpeta
public_html(o el directorio donde esté instalado WordPress). - Busca el archivo llamado
wp-config.php. - Haz clic derecho sobre él y selecciona Editar. Si te pide confirmación, acepta.
Dentro del archivo, busca la lÃnea que dice:
/* ¡Eso es todo, deja de editar! Feliz blogging. */
Justo antes de esa lÃnea, pega el siguiente código:
define('DISABLE_WP_CRON', true);
Guarda los cambios y cierra el editor.
[TIP] Si no encuentras la lÃnea exacta, no pasa nada. Puedes pegar el código justo después de la lÃnea que define las constantes de base de datos (DB_NAME, DB_USER, etc.). Lo importante es que esté dentro de la etiqueta
<?php.
Con esto, WordPress ya no ejecutará tareas programadas automáticamente. Ahora necesitas un cron real que las dispare.
Paso 2: Crear un cron job en cPanel
Ahora viene la parte clave: programar tareas wordpress desde cPanel. Esto se hace en la sección de Cron Jobs.
Acceso a Cron Jobs
Dentro de cPanel, busca la sección Avanzado y haz clic en Cron Jobs (a veces aparece como "Tareas programadas").
Verás un formulario con varios campos. No te asustes, es más fácil de lo que parece.
Configuración básica del cron
- Configuración común: Te permite elegir un intervalo predefinido. Para WordPress, lo más recomendable es cada 5 minutos. Selecciona esa opción en el desplegable.
- Comando: Aquà tienes que pegar la lÃnea que ejecutará el cron. La más común es:
/usr/bin/php /home/USUARIO/public_html/wp-cron.php
Pero debes reemplazar dos cosas:
- USUARIO: por tu nombre de usuario de cPanel.
- public_html: por la carpeta donde esté instalado WordPress (si es una subcarpeta, cambia la ruta).
[INFO] Si no sabes cuál es tu usuario de cPanel, mÃralo en la esquina superior derecha del propio cPanel, o usa el comando
pwddentro del Administrador de archivos para ver la ruta completa.
Ejemplo práctico
Imagina que tu usuario es miusuario y WordPress está en public_html. El comando serÃa:
/usr/bin/php /home/miusuario/public_html/wp-cron.php
Si tu WordPress está en una subcarpeta llamada blog, serÃa:
/usr/bin/php /home/miusuario/public_html/blog/wp-cron.php
¿Qué significa cada parte del comando?
/usr/bin/php: Es la ruta al intérprete de PHP. En la mayorÃa de los servidores es esta, pero si no funciona, puedes probar conphpo/usr/bin/php7.4(depende de la versión)./home/miusuario/public_html/wp-cron.php: Es la ruta absoluta al archivowp-cron.phpde WordPress.
Guardar el cron
Una vez que hayas rellenado los campos, haz clic en Agregar nuevo cron job. Verás que aparece en la lista de tareas programadas.
[WARNING] No uses la URL pública (
https://tudominio.com/wp-cron.php) como comando. Eso volverÃa a depender de las visitas y no es un cron real. Debes usar la ruta del servidor.
Paso 3: Verificar que el cron funciona
Después de configurar el cron, es importante comprobar que todo va bien. Aquà tienes varias opciones:
Opción A: Revisar los registros
En la misma página de Cron Jobs de cPanel, puedes clicar en el icono de envelope junto a tu tarea para recibir un correo con el resultado de la ejecución. Hazlo una vez y revisa que no salgan errores.
Opción B: Usar un plugin
Instala el plugin WP Crontrol. Te mostrará todas las tareas programadas y la hora de la próxima ejecución. Si tu cron está bien configurado, verás que las tareas se ejecutan a tiempo.
Opción C: Comprobar manualmente
Puedes ejecutar el cron manualmente desde el navegador (solo para pruebas) visitando:
https://tudominio.com/wp-cron.php
Si todo está bien, verás una página en blanco o un mensaje de éxito. No lo hagas con frecuencia porque consume recursos, pero una vez para comprobar es válido.
Paso 4: Ajustar la frecuencia según tus necesidades
No todas las webs necesitan un cron cada 5 minutos. Depende de tus tareas programadas:
- Cada 5 minutos: Ideal para tiendas online, foros o webs con actividad constante.
- Cada 15 minutos: Perfecto para blogs o webs de contenido.
- Cada hora: Suficiente para webs pequeñas o portfolios.
Para cambiar la frecuencia, solo tienes que editar el cron job existente y modificar los campos de minutos, horas, etc.
[TIP] Si usas plugins de backup, asegúrate de que el cron tenga una frecuencia mayor que la del propio backup. Por ejemplo, si haces backups cada 6 horas, el cron deberÃa ejecutarse al menos cada hora para que el plugin pueda iniciar la tarea.
Errores comunes al configurar cron jobs cPanel
Aunque es un proceso sencillo, es normal que surjan dudas. Aquà te dejo los errores más frecuentes y cómo solucionarlos:
Error: "No se encuentra el archivo wp-cron.php"
Revisa la ruta. Lo más probable es que hayas puesto mal el nombre de usuario o la carpeta. Ve al Administrador de archivos y copia la ruta exacta desde la barra superior.
Error: "Permiso denegado"
Esto suele pasar cuando el archivo wp-cron.php no tiene permisos de ejecución. No suele ser lo común, pero si ocurre, cambia los permisos a 755 desde el Administrador de archivos.
Error: El cron se ejecuta pero no hace nada
Puede que el problema sea que otro plugin está bloqueando el cron. Prueba a desactivar todos los plugins temporalmente y volver a ejecutar el cron manualmente. Si funciona, reactiva los plugins uno a uno para encontrar al culpable.
El cron funciona pero tarda mucho
Si tu web es grande, puede que el cron tarde más de 5 minutos en completarse. En ese caso, aumenta el intervalo a 10 o 15 minutos. También puedes usar un plugin como WP Crontrol para ver qué tareas son las más lentas.
¿Qué pasa si no uso cPanel? Alternativas
Si tu hosting no tiene cPanel, no te preocupes. La mayorÃa de paneles de control tienen opciones similares:
- DirectAdmin: Busca la sección "Cron Jobs" en el menú.
- Plesk: Ve a "Scheduled Tasks" o "Tareas programadas".
- Syspanel (antes conocido como HestiaCP): También tiene una opción para cron jobs. Si usas Syspanel, recuerda que el puerto de acceso es el 2106 (por ejemplo,
https://tudominio.com:2106). Dentro, busca la sección de "Scheduled Tasks" o "Cron Jobs" y sigue el mismo proceso.
Preguntas frecuentes (FAQ)
¿Es obligatorio desactivar el WP-CRON nativo?
No es obligatorio, pero es altamente recomendable. Si no lo desactivas, tendrás dos crons ejecutándose: el falso (con cada visita) y el real. Eso puede causar conflictos y duplicar tareas.
¿Puedo tener varios cron jobs para diferentes tareas?
SÃ, puedes crear tantos cron jobs como necesites. Por ejemplo, uno para backups cada 6 horas y otro para actualizaciones cada 5 minutos. Solo asegúrate de que los comandos apunten a archivos diferentes.
¿Qué pasa si mi hosting no permite cron jobs?
La mayorÃa de los hostings compartidos lo permiten. Si no es tu caso, puedes usar un servicio externo como EasyCron o cron-job.org, que envÃan peticiones a tu web en intervalos regulares. Eso sÃ, la URL debe ser pública.
¿Cuál es la diferencia entre wp-cron.php y wp-cron.php?do=run?
Ninguna en la práctica. Ambos ejecutan el cron. La segunda opción es más especÃfica y puede usarse para forzar la ejecución desde el navegador.
¿Cómo sé si mi cron se está ejecutando correctamente?
Instala WP Crontrol y revisa la pestaña de "Cron Events". Verás la próxima ejecución y el tiempo transcurrido desde la última. Si todo funciona, las tareas aparecerán como "Done" o "Scheduled".
Conclusión final
Configurar WP-CRON en cPanel es una de las mejores optimizaciones que puedes hacer en tu WordPress. No solo mejora el rendimiento, sino que te da un control total sobre las tareas programadas. Con los pasos que te he dado, ya eres capaz de:
- Desactivar el WP-CRON nativo.
- Crear cron jobs cPanel con la frecuencia adecuada.
- Verificar que todo funciona.
- Solucionar los errores más comunes.
No tengas miedo de experimentar. Recuerda que siempre puedes volver atrás cambiando el valor de DISABLE_WP_CRON a false o eliminando el cron job desde cPanel.
[TIP] Guarda siempre una copia de seguridad de tu
wp-config.phpantes de editarlo. Si algo sale mal, puedes restaurarlo fácilmente.
Ahora ya sabes cómo configurar cron wordpress cpanel como un profesional. Si tienes alguna duda, déjala en los comentarios y te ayudaré encantado. ¡Feliz programación de tareas!
