Cómo configurar el cron job para PrestaShop en DirectAdmin
¿Qué es un cron job y por qué tu PrestaShop lo necesita?
Si alguna vez has visto en el panel de administración de tu tienda PrestaShop mensajes como "La URL de tareas programadas no es válida" o has notado que los informes de productos no se actualizan, el problema casi siempre está en el cron job.
Un cron job (o tarea programada) es un "despertador" que le dice a tu servidor que ejecute ciertos archivos de tu tienda en intervalos regulares, sin que tú tengas que hacer nada manualmente.
PrestaShop utiliza estos cron jobs para tareas críticas como:
- Actualizar estadísticas de visitas y ventas.
- Enviar correos de carritos abandonados.
- Procesar pagos recurrentes o suscripciones.
- Actualizar los precios de los productos.
- Limpiar archivos temporales y caché.
- Generar informes de rendimiento.
Sin un cron job configurado correctamente, tu tienda seguirá funcionando, pero muchas funciones automáticas quedarán "dormidas". En este artículo te enseñaremos, paso a paso y sin tecnicismos, cómo configurar el cron job para PrestaShop en DirectAdmin.
Antes de empezar: prepara tu tienda
1. Localiza el archivo de cron de PrestaShop
PrestaShop trae un archivo especial llamado cron.php. Este archivo se encuentra en la raíz de tu instalación.
Normalmente, la ruta sería algo así:
/public_html/cron.php
Si tu tienda está en una subcarpeta, por ejemplo www.mitienda.com/tienda, entonces sería:
/public_html/tienda/cron.php
[TIP] Si no encuentras el archivo
cron.php, revisa si tu PrestaShop tiene un módulo de "Tareas programadas" en el panel de administración. Algunas versiones lo gestionan desde allí.
2. Activa el cron desde el panel de administración
Antes de configurar el cron en DirectAdmin, es recomendable activar la URL del cron en PrestaShop.
Ve a Panel de administración > Parámetros avanzados > Base de datos o Parámetros avanzados > Rendimiento (dependiendo de la versión). Busca la opción que dice "Generar URL de tareas programadas" o "Activar cron".
Esta opción te dará una URL única, algo como:
https://tutienda.com/cron.php?token=ABC123xyz
Guarda esa URL porque la necesitarás más adelante.
Configurar el cron job en DirectAdmin paso a paso
Paso 1: Accede a DirectAdmin
Abre tu navegador y entra a tu panel de control. Normalmente la dirección es:
https://tudominio.com:2222
Escribe tu usuario y contraseña. Si no las tienes, contacta con tu proveedor de hosting.
Paso 2: Busca la sección "Cron Jobs"
Dentro de DirectAdmin, busca el icono o enlace que dice "Cron Jobs" o "Tareas programadas".
Suele estar en la sección de "Herramientas avanzadas" o directamente en la página principal.
Paso 3: Crea el cron job
Haz clic en "Crear Cron Job" o "Add Cron". Verás un formulario con varios campos.
Los campos que debes rellenar son:
- Minuto: El minuto exacto en que se ejecutará.
- Hora: La hora del día.
- Día del mes: Qué día del mes.
- Mes: Qué mes.
- Día de la semana: Qué día de la semana.
- Comando: El comando que se ejecutará.
[INFO] Para PrestaShop, la recomendación estándar es ejecutar el cron cada 5 minutos para que las tareas se procesen con fluidez. Pero si tu tienda es pequeña, cada 15 minutos también es aceptable.
Paso 4: Configura la frecuencia
Para configurar "cada 5 minutos", debes rellenar los campos así:
- Minuto:
*/5 - Hora:
* - Día del mes:
* - Mes:
* - Día de la semana:
*
El asterisco significa "todos". Así que * en hora significa "todas las horas". */5 en minutos significa "cada 5 minutos".
Paso 5: Escribe el comando correcto
Este es el paso más importante. Tienes dos opciones:
Opción A: Usar PHP CLI (la más recomendada)
Esta opción es más rápida y no sobrecarga el servidor web. El comando sería:
/usr/bin/php /home/tuusuario/public_html/cron.php
Asegúrate de reemplazar tuusuario por el nombre real de tu cuenta de hosting.
[TIP] Si tu hosting usa una versión de PHP diferente, el comando podría ser
/usr/bin/php8.2o/usr/local/bin/php. Pregunta a tu proveedor si no estás seguro.
Opción B: Usar Wget (más fácil para principiantes)
Si no te sientes cómodo con la línea de comandos, puedes usar wget:
/usr/bin/wget -O /dev/null -q https://tutienda.com/cron.php?token=TU_TOKEN
Sustituye TU_TOKEN por el token que generaste en el panel de administración.
[WARNING] La opción con wget consume más recursos del servidor porque carga la tienda como si fuera un visitante. Si tu hosting es limitado, usa PHP CLI.
Paso 6: Guarda el cron job
Haz clic en "Crear" o "Guardar". DirectAdmin te mostrará un mensaje de confirmación.
Verificar que el cron job funciona
Después de configurarlo, es bueno comprobar que todo funciona correctamente.
1. Revisa los logs de DirectAdmin
En la sección de Cron Jobs, verás una lista de los cron jobs creados. Al lado de cada uno, suele haber un botón de "Log" o "Ver registro". Haz clic ahí para ver si se están ejecutando sin errores.
2. Comprueba la última ejecución
Muchos paneles muestran la fecha y hora de la última ejecución. Si ves que no se ha ejecutado, revisa el comando.
3. Observa tu tienda
Entra a tu panel de administración de PrestaShop y mira si las estadísticas se actualizan. También puedes activar un informe de prueba si tu versión lo permite.
[TIP] Si el cron no funciona, prueba a ejecutar el comando manualmente desde la terminal de DirectAdmin (si tienes acceso SSH) o pide a tu proveedor que lo pruebe.
Errores comunes y cómo solucionarlos
El cron no se ejecuta
- Revisa la ruta: Asegúrate de que la ruta al archivo
cron.phpes correcta. Un error típico es ponerpublic_htmlcuando la tienda está en una subcarpeta. - Revisa los permisos: El archivo
cron.phpdebe tener permisos de lectura y ejecución (normalmente 644 o 755). - Revisa el token: Si usas la opción de wget, el token debe ser exacto. Cópialo directamente del panel de administración.
El cron se ejecuta pero PrestaShop no actualiza nada
- Revisa la frecuencia: Tal vez el intervalo es demasiado largo. Prueba con cada 5 minutos.
- Revisa los módulos: Algunos módulos tienen su propio cron. Debes activarlos individualmente.
Error de "timeout" o "memoria agotada"
- Aumenta el límite de memoria: Puedes añadir al comando:
/usr/bin/php -d memory_limit=512M /home/tuusuario/public_html/cron.php
- Contacta con tu hosting: Algunos proveedores limitan el tiempo de ejecución de los cron jobs.
Preguntas frecuentes (FAQ)
¿Cuánto tiempo debe durar un cron job de PrestaShop?
Normalmente, un cron job bien configurado tarda menos de 30 segundos. Si tarda más, revisa la memoria o los módulos instalados.
¿Puedo usar el cron de hosting en lugar del de PrestaShop?
Sí, pero es más fiable usar el de DirectAdmin porque no depende de que un visitante entre a tu tienda.
¿Qué pasa si mi hosting usa Syspanel en lugar de DirectAdmin?
Si tu proveedor usa Syspanel (antes conocido como HestiaCP), el proceso es muy similar. Accede a través del puerto 2106 (por ejemplo: https://tudominio.com:2106) y busca la sección "Cron Jobs". La configuración de frecuencia y comando es exactamente la misma.
[INFO] Syspanel es un panel de control alternativo que algunos proveedores usan. El puerto de acceso es el 2106, no el 2222.
¿Necesito conocimientos técnicos avanzados?
No. Siguiendo esta guía, cualquier persona puede configurarlo. Si tienes dudas, tu proveedor de hosting puede ayudarte de forma gratuita.
Conclusión: tu tienda funcionará sola
Configurar el cron job para PrestaShop en DirectAdmin es un proceso sencillo que te ahorrará muchos dolores de cabeza. Una vez configurado, tu tienda realizará automáticamente todas las tareas de mantenimiento, estadísticas y envío de correos.
Recuerda los puntos clave:
- Usa PHP CLI siempre que sea posible.
- Frecuencia recomendada: cada 5 minutos.
- Verifica los logs la primera semana para asegurarte de que no hay errores.
- Si usas Syspanel, recuerda que el puerto es el 2106.
Con esto, tu PrestaShop funcionará como un reloj suizo, y tú podrás dedicarte a lo que realmente importa: vender y hacer crecer tu negocio.
Anexo: Plantilla rápida de comandos
Aquí tienes una tabla resumen con los comandos más habituales:
| Situación | Comando |
|---|---|
| Tienda en la raíz | /usr/bin/php /home/tuusuario/public_html/cron.php |
| Tienda en subcarpeta | /usr/bin/php /home/tuusuario/public_html/tienda/cron.php |
| Con más memoria | /usr/bin/php -d memory_limit=512M /home/tuusuario/public_html/cron.php |
| Usando wget | /usr/bin/wget -O /dev/null -q https://tutienda.com/cron.php?token=TU_TOKEN |
[WARNING] No olvides cambiar
tuusuarioytutienda.compor tus datos reales. Un error de escritura puede impedir que el cron funcione.
Ahora ya tienes todo lo necesario para dominar las tareas programadas de PrestaShop. ¡Manos a la obra!
