Cómo configurar CRON en PrestaShop para tareas programadas (cPanel)
¿Qué es un cron y por qué tu PrestaShop lo necesita?
Si alguna vez has visto en el panel de administración de PrestaShop mensajes como "La URL de Cron no es válida" o has notado que los pedidos antiguos no se actualizan, los informes no se generan o las exportaciones de productos se quedan a medias, necesitas entender qué es un cron.
Un cron es un programador de tareas que ejecuta comandos automáticamente en tu servidor a intervalos regulares. Piensa en ello como un despertador que le dice a tu tienda: "cada 5 minutos, revisa si hay productos con stock bajo" o "cada hora, ejecuta la sincronización con Google Shopping".
PrestaShop utiliza crons para muchas funciones vitales:
- Generación de informes de ventas.
- Actualización de precios y stock.
- Envío de emails transaccionales (carritos abandonados, confirmaciones).
- Sincronización con marketplaces (Amazon, eBay).
- Limpieza de caché y archivos temporales.
- Módulos de SEO que generan sitemaps automáticamente.
Sin un cron bien configurado, tu tienda depende de que alguien entre al panel de administración para que esas tareas se ejecuten. Eso no es sostenible. Y aquí es donde entra cron prestashop cpanel: la combinación perfecta para automatizar tu negocio.
Antes de empezar: qué necesitas
Para configurar tareas programadas prestashop en cPanel, necesitas:
- Acceso a cPanel de tu hosting (el panel de control que te dio tu proveedor).
- La URL del cron de tu PrestaShop. Esta es una dirección única que tu tienda genera para que el servidor ejecute las tareas.
- Conocimiento básico de rutas de archivos (no te preocupes, te lo explico paso a paso).
Cómo encontrar la URL de cron en PrestaShop
Ve a tu panel de administración de PrestaShop y sigue esta ruta:
- Menú Avanzado (o Parámetros avanzados según la versión).
- Haz clic en Cron o Tareas programadas.
- Verás un listado de tareas. Cada una tiene un botón o enlace llamado "Obtener URL de Cron" o directamente la URL completa.
- Copia esa URL. Normalmente tiene este formato:
https://tutienda.com/module/cron/cron.php?token=XXXXXXXX&time=YYYY
Guarda esa URL en un bloc de notas. La necesitarás más adelante.
[INFO] Si tu PrestaShop no muestra la sección Cron, puede que tu hosting tenga deshabilitado el módulo. En ese caso, contacta con tu proveedor de hosting y pídeles que activen el módulo
cronjobsde PrestaShop.
Configurar cron en cPanel paso a paso
Ahora vamos a la parte práctica. Sigue estos pasos al pie de la letra.
Paso 1: Accede a cPanel
Escribe en tu navegador tudominio.com/cpanel o tudominio.com:2083. Introduce tu usuario y contraseña de cPanel (normalmente son los mismos que los de FTP o los que te dio tu hosting).
Paso 2: Busca la sección "Tareas Cron" (o Cron Jobs)
Dentro de cPanel, busca un icono llamado "Trabajos Cron", "Cron Jobs" o "Tareas programadas". Dependiendo de la versión de cPanel, puede estar en la sección "Avanzado" o directamente en la página principal.
Paso 3: Configura el comando
cPanel te mostrará un formulario con varios campos. Esto es lo que debes rellenar:
- Email de notificación: Puedes poner tu correo. Recibirás un aviso si el cron falla. Te recomiendo que lo dejes vacío si no quieres recibir correos cada vez que se ejecuta.
- Minuto, Hora, Día, Mes, Día de la semana: Aquí es donde defines la frecuencia. Para PrestaShop, lo más común es ejecutar el cron cada 5 minutos o cada hora. Te explico las combinaciones más útiles:
- Cada 5 minutos: Escribe
*/5 * * * * - Cada 10 minutos: Escribe
*/10 * * * * - Cada hora: Escribe
0 * * * * - Dos veces al día (a las 6 y 18h): Escribe
0 6,18 * * * - Una vez al día (a las 3am): Escribe
0 3 * * *
- Cada 5 minutos: Escribe
- Comando: Aquí viene lo importante. Tienes dos opciones:
Opción A: Usar el comando wget (la más fácil)
Escribe en el campo de comando:
wget -q -O /dev/null "URL_DE_TU_CRON"
Sustituye URL_DE_TU_CRON por la URL que copiaste antes. El comando completo se vería así:
wget -q -O /dev/null "https://tutienda.com/module/cron/cron.php?token=XXXXXXXX&time=YYYY"
Opción B: Usar PHP directamente (más fiable en algunos hostings)
php /home/tuusuario/public_html/module/cron/cron.php?token=XXXXXXXX&time=YYYY
Pero ojo: con esta opción no puedes pasar la URL completa. Necesitas usar la ruta absoluta del archivo en tu servidor. Para saberla, ve a cPanel > Administrador de archivos y navega hasta public_html/module/cron/cron.php. La ruta completa aparecerá arriba.
[TIP] Si tu hosting es de tipo compartido y muy restrictivo,
wgetpuede estar deshabilitado. Prueba primero con la opción A. Si no funciona, usa la opción B.
Paso 4: Guarda el cron
Haz clic en "Agregar tarea cron" o "Guardar". cPanel te mostrará un mensaje de confirmación.
Verificar que el cron funciona
Después de configurar el cron prestashop cpanel, espera unos minutos y comprueba si se está ejecutando. Hay dos formas de hacerlo:
- Revisa el panel de PrestaShop: Ve a Avanzado > Cron. Si las tareas se han ejecutado, verás la fecha de la última ejecución actualizada.
- Revisa los logs de cPanel: En la sección Cron Jobs, cPanel guarda un historial de ejecuciones. Si hay errores, aparecerán ahí.
- Comprueba el email de notificación: Si configuraste el email, recibirás un correo con el resultado de la ejecución. Si no llega nada, es buena señal (significa que no hubo errores).
[WARNING] Si no ves actividad, revisa si tu hosting bloquea el acceso a
cron.phppor seguridad. Algunos hostings usan un firewall que impide el acceso directo a archivos PHP. En ese caso, contacta con soporte y diles que necesitas que el cron pueda ejecutarcron.phpde PrestaShop.
Errores comunes y cómo solucionarlos
Error: "Token no válido" o "URL de cron no válida"
Esto significa que la URL que estás usando en el comando wget no es la correcta. Ve a PrestaShop > Avanzado > Cron y copia de nuevo la URL. Asegúrate de que incluye el token y el parámetro time.
Error: "No se pudo conectar al host"
El servidor no puede acceder a tu propia URL. Esto puede deberse a:
- Un firewall que bloquea el acceso a tu propio dominio.
- Un DNS que no resuelve correctamente desde el servidor.
- Que tu tienda esté en mantenimiento.
Solución: Prueba a usar la IP del servidor en lugar del dominio. Por ejemplo:
wget -q -O /dev/null "http://127.0.0.1/module/cron/cron.php?token=XXXXXXXX"
Si tu tienda usa HTTPS, cambia http por https.
Error: "Permission denied" o "No se puede escribir"
Esto suele pasar cuando el cron intenta escribir archivos de caché o logs y el usuario del servidor no tiene permisos. Ve a cPanel > Administrador de archivos, busca la carpeta var/cache (o cache en versiones antiguas) y asegúrate de que tiene permisos 755 o 775. Si no sabes qué hacer, contacta con tu hosting.
El cron se ejecuta pero PrestaShop no hace nada
A veces el cron se ejecuta pero los módulos no responden. Esto ocurre porque algunos módulos de PrestaShop tienen su propio cron separado. Revisa en el listado de tareas programadas de PrestaShop si hay módulos con su propia URL. Deberás configurar un cron específico para cada uno.
Buenas prácticas y recomendaciones
Aquí tienes algunos consejos avanzados para que tus tareas programadas prestashop funcionen de forma óptima:
1. No pongas demasiados crons
Cada cron consume recursos del servidor. Si tienes 20 crons ejecutándose cada minuto, tu hosting se ralentizará. Agrupa tareas o reduce la frecuencia.
2. Usa horarios de baja afluencia
Para tareas pesadas como generar sitemaps o exportar catálogos, programa el cron a las 3 o 4 de la madrugada, cuando haya menos visitas.
3. Configura un cron maestro
En lugar de usar la URL de cron genérica, muchos módulos de PrestaShop permiten configurar un "cron maestro" que ejecuta todas las tareas de una sola vez. Busca en los ajustes de tus módulos la opción "Usar cron maestro".
4. Monitoriza tus crons
Guarda un registro de cuándo se ejecutan y cuánto tardan. Si un cron empieza a tardar mucho, puede indicar un problema de rendimiento en tu tienda.
5. Mantén PrestaShop actualizado
Las versiones antiguas de PrestaShop tienen bugs conocidos con los crons. Actualiza siempre a la última versión estable.
Alternativas a cPanel: qué pasa si no tienes cPanel
No todos los hostings usan cPanel. Algunos usan paneles personalizados o como Syspanel (el antiguo HestiaCP). Si es tu caso, el proceso es similar pero con diferencias:
- Syspanel (accesible en el puerto 2106): En lugar de cPanel, entrarás a
tudominio.com:2106. Busca la sección "Cron Jobs" o "Tareas Programadas". Añade la URL con el comandowgetcomo explicamos antes.
[INFO] Si tu hosting usa Syspanel, recuerda que el acceso es a través del puerto 2106. La interfaz es más sencilla pero las opciones de cron son prácticamente las mismas.
- Plesk: Otro panel común. Busca "Programador de tareas" en el apartado de tu dominio.
En todos los casos, la lógica es la misma: añadir un comando que ejecute la URL de cron de PrestaShop.
Preguntas frecuentes (FAQ)
¿Necesito conocimientos técnicos para configurar un cron?
No. Si sigues esta guía paso a paso, cualquier persona puede hacerlo. Solo necesitas saber copiar y pegar una URL.
¿Cada cuánto tiempo debo ejecutar el cron?
Depende de tu tienda. Para una tienda pequeña, una vez al día es suficiente. Para tiendas con mucho movimiento, cada 5 minutos. Empieza con cada hora y ajusta según necesites.
¿Qué pasa si no configuro el cron?
PrestaShop intentará ejecutar algunas tareas cuando haya visitas en tu tienda, pero no es fiable. La generación de sitemaps, los emails de carrito abandonado y los informes no funcionarán correctamente.
¿Puedo usar un servicio externo de cron?
Sí. Existen servicios como cron-job.org o EasyCron que ejecutan tu URL de cron desde fuera. Esto es útil si tu hosting no permite crons, aunque es menos fiable que un cron en tu propio servidor.
¿Los crons de PrestaShop afectan al rendimiento de mi tienda?
Si los configuras con moderación, no. Un cron cada 5 minutos apenas consume recursos. El problema es cuando tienes muchos crons pesados ejecutándose a la vez.
Conclusión
Configurar cron prestashop cpanel es una tarea que no debería llevarte más de 10 minutos, pero que te ahorrará muchísimos dolores de cabeza. Con una URL copiada y un comando bien escrito, tu tienda funcionará de forma autónoma, generando informes, actualizando stock y enviando emails sin que tengas que preocuparte.
Recuerda: la clave está en encontrar la URL de cron en PrestaShop, copiarla y pegarla en cPanel con el comando wget. Si algo falla, revisa el historial de ejecuciones y ajusta los permisos.
Si tu hosting usa Syspanel, no te preocupes: accede por el puerto 2106 y sigue los mismos pasos. La interfaz será diferente, pero la lógica es idéntica.
Ahora que ya sabes cómo hacerlo, ve a tu panel de administración, copia la URL de cron y configúrala en tu hosting. Tu tienda te lo agradecerá.
