Cómo configurar el cron job en PrestaShop desde cPanel
¿Tu tienda PrestaShop va lenta, los pedidos se quedan "colgados", los informes no se generan o los clientes no reciben sus correos? Si es asÃ, es muy probable que las tareas programadas (cron jobs) de tu tienda no estén funcionando correctamente. En este artÃculo, te voy a explicar de forma muy sencilla y paso a paso cómo configurar el cron job en PrestaShop desde cPanel. No necesitas ser un experto en informática; solo sigue estas instrucciones y tendrás tu tienda funcionando como un reloj suizo.
¿Qué es un Cron Job y por qué es tan importante en PrestaShop?
Imagina que tu tienda online tiene un equipo de empleados invisibles que trabajan mientras tú duermes. Uno se encarga de enviar los correos de confirmación de pedido, otro de actualizar tus informes de ventas, otro de generar los mapas del sitio (sitemap) para Google, y otro de limpiar archivos temporales. Un cron job es el "jefe" que les recuerda cuándo deben trabajar.
En términos técnicos, un cron job es una tarea programada que tu servidor (a través de cPanel) ejecuta automáticamente a intervalos regulares. PrestaShop depende de estos cron jobs para realizar funciones crÃticas de forma automática, como:
- Enviar correos electrónicos (confirmaciones, alertas de stock, etc.).
- Actualizar los Ãndices de búsqueda de tu tienda.
- Generar el feed de Google Shopping o comparadores de precios.
- Procesar pedidos pendientes o actualizar estados de envÃo.
- Ejecutar módulos que requieren acciones periódicas (como sincronizaciones con ERPs).
- Limpiar la caché y optimizar la base de datos.
Si no configuras correctamente el cron job prestashop cpanel, es como si tu tienda trabajara a medio gas. Puedes experimentar retrasos en los correos, problemas con los módulos, o incluso caÃdas del sistema cuando el tráfico aumenta. Por eso, aprender a configurar cron prestashop es una habilidad esencial para cualquier dueño de tienda online.
Antes de Empezar: Requisitos Previos
Para configurar el cron job, necesitarás lo siguiente:
- Acceso a cPanel: Normalmente accedes a través de
tudominio.com/cPanelotudominio.com:2083. Si no lo tienes, contacta con tu proveedor de hosting. - Credenciales FTP o el Administrador de Archivos de cPanel: Lo usaremos para verificar que el archivo de PrestaShop existe.
- Conocimiento de tu versión de PrestaShop: La ruta del archivo cron puede variar ligeramente entre versiones (1.6, 1.7, 8.x). No te preocupes, te indicaré las rutas más comunes.
[INFO]: Si tu hosting no tiene cPanel sino otro panel como Plesk o DirectAdmin, el proceso es muy similar, pero la interfaz cambia. Este tutorial se centra especÃficamente en cPanel, que es el más común en el mundo del hosting compartido.
Paso 1: Localizar la URL del Cron Job de PrestaShop
Antes de ir a cPanel, necesitamos saber la URL exacta que debe ejecutarse. Esta URL apunta al archivo que se encarga de gestionar todas las tareas de PrestaShop. Normalmente se encuentra en la raÃz de tu instalación.
- Para PrestaShop 1.6 y 1.7: El archivo se llama
cron.phpy se encuentra en la carpeta raÃz de tu tienda (por ejemplo,public_html/cron.php). - Para PrestaShop 8.x: La ruta ha cambiado. Ahora se encuentra dentro de la carpeta
/app/console.php. Pero tranquilo, la URL que necesitas es más compleja, ya que requiere parámetros especÃficos.
La forma más fácil de obtener la URL correcta es desde el Back Office de PrestaShop:
- Inicia sesión en tu administración de PrestaShop (el Back Office).
- Ve al menú Configuración avanzada (en versiones 1.7 y 8) o Parámetros avanzados (en 1.6).
- Haz clic en Rendimiento o Rendimiento y caché.
- Busca una sección llamada "Cron" o "Tareas programadas". En PrestaShop 8, esta sección está claramente marcada como "Cron".
- Verás un campo que dice "URL del Cron" o "Enlace del Cron". Copia esa URL completa. Es algo parecido a:
- Para 1.6/1.7:
https://tudominio.com/cron.php?token=TU_TOKEN_SECRETO - Para 8.x:
https://tudominio.com/index.php?fc=module&module=pscronjobs&controller=cron&token=TU_TOKEN_SECRETO
- Para 1.6/1.7:
Guarda esta URL en un bloc de notas, la necesitaremos más adelante.
[WARNING]: Esa URL contiene un token secreto que permite ejecutar las tareas. No la compartas públicamente, ya que alguien podrÃa usarla para sobrecargar tu servidor.
Paso 2: Acceder a cPanel y abrir el Administrador de Cron Jobs
Ahora vamos a la parte práctica en cPanel.
- Accede a tu cPanel con tus credenciales.
- Busca la sección "Tareas Programadas" o "Cron Jobs". Normalmente está en la categorÃa Avanzado.
- Haz clic en el icono de "Cron Jobs".
Se abrirá una nueva página. Aquà es donde vamos a crear nuestra tarea.
Paso 3: Configurar el Cron Job en cPanel para PrestaShop
cPanel te mostrará un formulario para crear una nueva tarea. Te recomiendo que lo hagas en dos partes: primero la configuración del correo (opcional) y luego el comando en sÃ.
3.1. Configurar el email de notificación (Opcional)
En la parte superior, verás un campo llamado "Email de notificación". Aquà puedes poner un correo electrónico donde quieras recibir las salidas de la tarea. Si lo dejas vacÃo, no recibirás nada. Te sugiero que lo dejes vacÃo o pongas un correo que no revises a menudo, ya que puede llenarse de mensajes.
3.2. Configurar el horario de ejecución
Esta es la parte más confusa para los principiantes. cPanel te pide que definas el minuto, la hora, el dÃa del mes, el mes y el dÃa de la semana. No te asustes, es más fácil de lo que parece.
- Minuto: Es el minuto exacto en el que quieres que se ejecute. Para PrestaShop, te recomiendo una frecuencia de al menos cada 15 minutos (para tareas como envÃo de correos). Pon
*/15para que se ejecute cada 15 minutos,*/30para cada media hora, o0para que se ejecute en el minuto 0 de cada hora. - Hora: La hora del dÃa. Pon
*para que se ejecute a todas las horas. Si quieres que se ejecute solo de noche, pon0(medianoche) o3(3 AM). - DÃa del mes: Pon
*para todos los dÃas. - Mes: Pon
*para todos los meses. - DÃa de la semana: Pon
*para todos los dÃas de la semana.
La configuración mágica (recomendada para la mayorÃa): Para que PrestaShop funcione correctamente, lo más común es ejecutar el cron cada 15 minutos, todos los dÃas, a todas horas. Por lo tanto, en el formulario deberÃas poner:
- Minuto:
*/15 - Hora:
* - DÃa:
* - Mes:
* - DÃa de la semana:
*
Esto se traduce como: "Ejecuta esta tarea cada 15 minutos, todos los dÃas del año".
3.3. Escribir el comando (La parte clave)
En el campo "Comando", debes introducir la lÃnea que ejecutará la URL de PrestaShop. Tienes dos opciones:
Opción A (La más sencilla y fiable): Usar 'wget'
Esta opción usa un comando de Linux que descarga el contenido de la URL sin necesidad de abrir un navegador. Es la más recomendada porque es ligera y no consume muchos recursos.
/usr/bin/wget -O /dev/null "URL_QUE_COPIASTE_ANTES"
Ejemplo:
/usr/bin/wget -O /dev/null "https://tudominio.com/cron.php?token=abc123def456"
-O /dev/nulles una parte crucial. Le dice a la máquina que descarte la respuesta, asà no se llena el disco duro con archivos basura.
Opción B (Usar PHP en lÃnea de comandos):
Esta opción es más avanzada y puede ser necesaria si tu servidor tiene restricciones con wget. Ejecuta directamente el archivo PHP.
/usr/local/bin/php /home/TU_USUARIO/public_html/cron.php
Ejemplo:
/usr/local/bin/php /home/miusuario/public_html/cron.php
- IMPORTANTE: Debes reemplazar
TU_USUARIOcon tu nombre de usuario de cPanel. Puedes verlo en la parte superior derecha de cPanel. La rutapublic_htmles la carpeta donde está instalada tu tienda. Si tu tienda está en una subcarpeta (ej.public_html/tienda), la ruta cambiará.
[TIP]: Si no estás seguro de qué opción usar, empieza con la Opción A (wget). Es la más compatible y fácil de configurar.
Paso 4: Crear la Tarea y Verificar
- Después de completar todos los campos, haz clic en el botón "Agregar nueva tarea programada" (o "Add New Cron Job").
- Verás que la tarea aparece en la lista inferior, en la sección "Tareas programadas actuales".
¿Cómo saber si funciona? La mejor manera es esperar unos minutos y luego revisar si las acciones se están ejecutando. Por ejemplo, si tienes un módulo de envÃo de correos, envÃa un pedido de prueba y mira si el correo llega al instante. Otra forma es revisar los logs del servidor, pero eso es más técnico.
Solución de Problemas Comunes (FAQ)
¿Por qué mi cron job no funciona?
Estas son las causas más comunes:
- La URL es incorrecta: Vuelve al Back Office de PrestaShop y copia la URL directamente desde el panel de rendimiento. Asegúrate de que no tenga espacios.
- El token ha cambiado: Si has regenerado las claves de PrestaShop, el token de la URL cambia. Debes actualizar el comando en cPanel.
- La ruta del archivo es incorrecta (en la Opción B): Verifica que la ruta
public_htmles correcta. Puedes comprobarlo en el Administrador de Archivos de cPanel. Ve apublic_htmly busca el archivocron.php(o la estructura de carpetas para PrestaShop 8). - El servidor bloquea
wget: Algunos servidores muy restrictivos bloquean este comando. Prueba con la Opción B (PHP). - El cron se ejecuta pero falla: Esto puede deberse a errores de PHP. Puedes intentar añadir
-qal comandowgetpara silenciar errores, o revisar los logs de error de PHP en cPanel.
¿Con qué frecuencia debo ejecutar el cron?
Depende de tu tienda, pero te doy una regla general:
- Cada 5-15 minutos: Tiendas con alto tráfico, muchas ventas o que dependen de sincronizaciones en tiempo real (ej. ERP).
- Cada 30 minutos: Tiendas con tráfico moderado.
- Cada hora: Tiendas pequeñas o en desarrollo.
Mi recomendación personal: Configúralo a */15 (cada 15 minutos). Es un buen equilibrio entre rendimiento y carga del servidor.
¿Puedo usar el cron de PrestaShop para otra cosa?
SÃ, los cron jobs de cPanel son versátiles. Puedes usarlos para hacer copias de seguridad de la base de datos, limpiar carpetas temporales, o incluso llamar a scripts de terceros. Pero eso es tema para otro artÃculo.
¿Qué pasa con el puerto 2106 o "Syspanel"?
[INFO]: Si en algún momento escuchas hablar de Syspanel (que es un panel de control alternativo a cPanel), debes saber que su puerto de acceso por defecto es el 2106. Sin embargo, este tutorial se centra en cPanel, que es el estándar en la mayorÃa de hostings. Si tu proveedor usa Syspanel, el proceso es conceptualmente idéntico, pero la interfaz gráfica será diferente y deberás buscar la sección "Cron Jobs" dentro de ese panel. La lógica de configurar el comando y el horario es exactamente la misma.
¿Necesito ser un experto para hacer esto?
Para nada. Si has seguido los pasos anteriores, ya lo has hecho. La complejidad percibida es mayor que la realidad. Solo necesitas copiar y pegar una URL y ajustar un par de números. Si te atascas, no dudes en contactar con el soporte de tu hosting, pero ahora ya tienes el conocimiento para hacerlo tú mismo o entender exactamente qué te están pidiendo.
Conclusión: Tu tienda, funcionando sola
Configurar el cron job prestashop cpanel es una de esas tareas de mantenimiento que, una vez hechas, te dan una tranquilidad enorme. Ya no tienes que preocuparte por si los correos se envÃan o si los módulos se actualizan. Tu tienda se vuelve autónoma y fiable.
Hemos visto que el proceso se resume en tres pasos clave:
- Obtener la URL del cron desde el Back Office de PrestaShop.
- Acceder a cPanel y crear una nueva tarea programada.
- Pegar el comando (recomiendo
wget) y establecer el horario.
Con esto, has desbloqueado el verdadero potencial de tu tienda online. Ahora, configurar cron prestashop ya no es un misterio, sino una tarea más de tu kit de herramientas de administrador. Si tu tienda va lenta o tienes problemas con las tareas programadas, ya sabes por dónde empezar a mirar. ¡Manos a la obra y a vender!
