Cómo configurar el cron job en PrestaShop (cPanel, Plesk, DirectAdmin)
¿Alguna vez has visto avisos en tu PrestaShop como "La URL del cron no es válida" o has notado que los pedidos, los clientes o los informes de tu tienda no se actualizan como deberían? Si es así, lo que necesitas es configurar correctamente el cron job de PrestaShop. No te preocupes, no es tan complicado como parece. En esta guía extensa y paso a paso, te voy a explicar exactamente qué es, para qué sirve y cómo configurarlo en los paneles de control más populares: cPanel, Plesk y DirectAdmin.
Vamos a desmitificar el tema de los cron jobs. Piensa en ellos como un despertador que le dice a tu tienda: "Oye, es hora de ejecutar estas tareas importantes". Sin esta configuración, muchas funciones automáticas de PrestaShop (como generar el sitemap, actualizar divisas, enviar recordatorios de carritos abandonados o procesar pedidos) simplemente no funcionan en segundo plano.
¿Qué es un Cron Job y por qué es vital para tu PrestaShop?
Un cron job es una tarea programada en tu servidor. Es un comando que se ejecuta automáticamente a intervalos regulares (cada hora, cada día, cada 5 minutos, etc.) sin que tú tengas que hacer nada manualmente. En el contexto de una tienda online, esto es oro puro.
PrestaShop utiliza estos cron jobs para ejecutar su "Cron de tareas" o "Cron de URL". Básicamente, es un script PHP que se llama desde el navegador o desde la línea de comandos. Este script revisa si hay tareas pendientes en tu tienda y las ejecuta al momento.
¿Qué pasa si no configuras el cron job PrestaShop?
- Sitemap desactualizado: Tu fichero sitemap.xml (crucial para el SEO) no se regenerará, por lo que Google y otros buscadores tardarán mucho más en indexar tus nuevos productos.
- Carritos abandonados sin recuperar: Los correos automáticos para recuperar ventas perdidas no se enviarán.
- Tipos de cambio desactualizados: Si vendes en varias divisas, los precios pueden quedar obsoletos.
- Informes y estadísticas incompletos: Los datos de ventas y visitas no se procesarán correctamente.
- Problemas con módulos: Muchos módulos de terceros (como los de envío o sincronización de stock) dependen de este cron para funcionar.
En resumen, configurar el cron job es una tarea de mantenimiento esencial para que tu tienda funcione de forma autónoma y saludable. Vamos a ver cómo hacerlo en los tres paneles de control más comunes.
Antes de Empezar: Localiza la URL del Cron en tu PrestaShop
Antes de ir al panel de control de tu hosting, necesitas tener a mano la URL exacta del cron de tu tienda. PrestaShop genera una URL única y segura para esto.
¿Cómo encontrar la URL del cron en PrestaShop 1.7 y 1.6?
- Accede al Panel de Administración de tu PrestaShop (la parte de atrás de tu tienda).
- Ve al menú Configuración avanzada (o Parámetros avanzados en versiones antiguas).
- Haz clic en Rendimiento o Rendimiento / Performance.
- Al final de la página, busca la sección "Cron" o "Cron Tasks".
- Verás un campo con una URL larga que contiene tu token de seguridad. Algo parecido a:
https://tudominio.com/modules/pscron/...ohttps://tudominio.com/cron.php?token=TuToken&....
Copia esa URL completa y guárdala en un bloc de notas. La necesitarás en los siguientes pasos. Si no la encuentras, también puedes buscarla en el archivo config/settings.inc.php buscando el parámetro PS_CRON_URL (aunque esto es menos común y más técnico).
[INFO] En PrestaShop 8 y versiones modernas, el cron suele estar accesible desde el mismo panel de "Rendimiento" o a través de la pestaña "Configuración avanzada > Sistema > Rendimiento". Si usas una versión muy antigua, la ruta puede variar ligeramente, pero siempre buscarás la palabra "Cron".
Cómo Configurar el Cron Job en cPanel
cPanel es el panel de control más popular del mundo. La mayoría de los hostings económicos y de gama media lo usan. Es muy visual e intuitivo.
Paso 1: Accede a cPanel
Escribe tudominio.com/cpanel en tu navegador o accede desde el área de cliente de tu hosting. Introduce tu usuario y contraseña.
Paso 2: Busca la sección "Tareas Programadas" (Cron Jobs)
Dentro de cPanel, busca el icono o la sección llamada "Tareas Cron" o "Cron Jobs". En la mayoría de las versiones, la encontrarás dentro de la categoría "Avanzado".
Paso 3: Configura la frecuencia
cPanel te mostrará un formulario con campos para minutos, horas, días, meses y días de la semana. No te asustes, es más fácil de lo que parece.
- Minuto:
*/5(Esto significa que se ejecutará 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).
[TIP] Para PrestaShop, te recomiendo una frecuencia de 5 minutos (*/5). Es un buen equilibrio entre mantener todo actualizado y no sobrecargar el servidor. Si tu tienda tiene mucho tráfico, puedes usar */10 o */15. Si tiene poco tráfico, */5 es perfecto.
Paso 4: Introduce el comando
Justo debajo del formulario de frecuencia, verás un campo llamado "Comando" o "Command". Aquí tienes que introducir, o bien el comando PHP, o bien la URL del cron.
Opción A (Recomendada - Línea de comandos):
Esta es la forma más eficiente y evita problemas con el tiempo de ejecución del servidor. Escribe lo siguiente:
/usr/bin/php /home/TU_USUARIO/public_html/cron.php
IMPORTANTE: Debes cambiar TU_USUARIO por tu nombre de usuario de cPanel y public_html por la carpeta donde está instalada tu tienda (si es una subcarpeta, por ejemplo, public_html/tienda, tendrás que ponerlo así).
Opción B (Usando wget):
Si tu hosting no te deja usar PHP directamente, puedes usar wget para llamar a la URL. Escribe:
wget -q -O /dev/null "https://tudominio.com/cron.php?token=TU_TOKEN"
Sustituye la URL con la que copiaste antes.
Paso 5: Guarda y verifica
Haz clic en "Añadir nueva tarea cron". cPanel te mostrará un resumen de todas las tareas. Para verificar que funciona, puedes hacer clic en el icono de "ejecutar ahora" (suele ser una flecha o un botón de play) junto a tu tarea. Si ves que la página se carga o no da error, ¡todo está correcto!
Cómo Configurar el Cron Job en Plesk
Plesk es otro panel de control muy común, especialmente en servidores VPS y hosting de negocios. Su interfaz es más moderna que la de cPanel.
Paso 1: Inicia sesión en Plesk
Accede a tudominio.com:8443 o desde el enlace que te haya dado tu proveedor. Introduce tus credenciales.
Paso 2: Encuentra la sección de Cron
Una vez dentro, busca el apartado de tu dominio o suscripción. En la barra lateral izquierda, busca "Programador de tareas" o "Cron" (en inglés, "Scheduled Tasks").
Paso 3: Crea una nueva tarea
Haz clic en el botón "Agregar tarea" o "Crear tarea programada".
Paso 4: Configura la tarea
En el formulario de Plesk, tendrás opciones más claras:
- Nombre de la tarea: Ponle un nombre descriptivo, por ejemplo, "Cron PrestaShop".
- Ejecutar: Especifica la frecuencia. Puedes usar la opción de "Intervalo personalizado" y poner
*/5 * * * *(esto es lo mismo que los 5 minutos de cPanel). - Comando: Aquí tienes que elegir el tipo. Lo más sencillo es elegir "URL" en el desplegable y pegar la URL completa del cron que copiaste antes (la que empieza por
https://...). También puedes elegir "PHP" y poner la ruta al archivocron.phpde tu servidor.
[TIP] Plesk es muy amigable. Si eliges la opción "URL", Plesk se encargará de llamar a esa dirección web en el horario que le digas. Es la opción más fácil para principiantes.
Paso 5: Guarda y prueba
Haz clic en "Aceptar" o "Guardar". Para probar, puedes seleccionar la tarea y hacer clic en el botón de "ejecutar" (suele ser un icono de "play" o "ejecutar ahora"). Plesk te dirá si la tarea se ha ejecutado sin errores.
Cómo Configurar el Cron Job en DirectAdmin
DirectAdmin es un panel de control muy rápido y ligero, popular en servidores dedicados y VPS de alta gama. Su interfaz es más "clásica" pero muy funcional.
Paso 1: Accede a DirectAdmin
Normalmente se accede en tudominio.com:2222. Introduce tu usuario y contraseña.
Paso 2: Ve a "Cron Jobs"
En el menú principal, busca el icono llamado "Cron Jobs" o "Tareas Cron". Está en la sección de "Herramientas Avanzadas".
Paso 3: Crea la tarea
Verás un formulario llamado "Comando Cron". DirectAdmin es un poco más técnico que los otros dos.
- Minutos:
*/5 - Horas:
* - Días:
* - Meses:
* - Días de la Semana:
*
Debajo, en el campo de "Comando", tienes que escribir la línea de comandos. Al igual que en cPanel, la opción más fiable es:
/usr/local/bin/php /home/TU_USUARIO/domains/tudominio.com/public_html/cron.php
IMPORTANTE: En DirectAdmin, la ruta completa al archivo es diferente. Debes incluir /home/TU_USUARIO/domains/tudominio.com/ antes de public_html. Sustituye TU_USUARIO y tudominio.com con tus datos reales.
Paso 4: Añade la tarea
Haz clic en el botón "Añadir" o "Agregar". La tarea aparecerá en la lista de abajo. DirectAdmin no tiene un botón de "probar" muy visible, pero puedes usar el comando wget en la línea de comandos para probar la URL manualmente si te sientes cómodo.
[WARNING] En DirectAdmin, si usas wget, debes asegurarte de que la ruta a wget sea correcta. Normalmente es /usr/bin/wget. Un comando válido sería: /usr/bin/wget -q -O /dev/null "https://tudominio.com/cron.php?token=TU_TOKEN".
Solución de Problemas Comunes (FAQ)
Aquí tienes las dudas más habituales cuando configuras el cron job PrestaShop.
¿Por qué mi cron no funciona?
Esto es frustrante. Las causas más comunes son:
- Ruta incorrecta al archivo
cron.php: Asegúrate de que la ruta que pusiste en cPanel o DirectAdmin es la correcta. Puedes verificar la ruta exacta creando un archivotest.phpen tu carpeta raíz con el contenido<?php echo __DIR__; ?>y accediendo a él desde el navegador. Te mostrará la ruta absoluta. - URL incorrecta: Si usas la opción de URL, comprueba que el token es válido y que la URL está completa (con
https://). - Permisos de archivo: Asegúrate de que el archivo
cron.phptenga permisos de ejecución (generalmente 755 es correcto). - Bloqueo del servidor: Algunos hostings bloquean la ejecución de cron jobs por seguridad. Contacta con tu proveedor para verificar que no hay restricciones.
¿Con qué frecuencia debo configurar el cron?
Te recomiendo */5 minutos como estándar de oro. Es la frecuencia que PrestaShop sugiere para la mayoría de las tareas, como la actualización de divisas o el envío de emails. Si tu hosting tiene límites estrictos, */15 es aceptable.
¿Es mejor usar wget, curl o php?
- PHP: Es la opción más eficiente porque no sobrecarga el servidor web. Se ejecuta directamente en el motor de PHP. Es la que recomiendo si tu hosting lo permite.
- wget o curl: Son alternativas que simulan una visita al navegador. Son útiles si PHP CLI no está disponible, pero consumen más recursos. Si usas
wget, añade-q -O /dev/nullpara que no genere archivos de salida.
¿Puedo usar el cron de mi hosting para otras cosas?
Sí, por supuesto. El cron job es una herramienta universal. Puedes usarlo para hacer copias de seguridad de la base de datos, limpiar archivos temporales, etc. Pero para PrestaShop, la tarea principal es la que hemos configurado.
¿Qué es la URL del token que veo en PrestaShop?
Es una clave de seguridad única que impide que personas ajenas ejecuten las tareas de tu tienda. Nunca la compartas públicamente. Es normal que cambie si modificas la configuración de la tienda.
Consejos Finales y Buenas Prácticas
Configurar el cron job PrestaShop es una tarea de "configurar y olvidar", pero es bueno que verifiques de vez en cuando que todo sigue funcionando.
- Revisa los logs: Tanto PrestaShop (en "Configuración Avanzada > Logs") como tu panel de control (en la sección de Cron) suelen tener registros de las ejecuciones. Revísalos si algo falla.
- Activa el modo mantenimiento: Si vas a hacer cambios importantes en la configuración del cron, activa el modo mantenimiento de tu tienda para que los clientes no vean errores.
- Sé paciente: Después de configurar el cron, no esperes que todo se actualice al instante. Dale unos minutos para que la primera ejecución se lleve a cabo.
En conclusión, configurar el cron job en PrestaShop no tiene por qué ser un dolor de cabeza. Ya sea en cPanel, Plesk o DirectAdmin, el proceso es bastante similar: localizar la URL o el comando, definir la frecuencia y guardar. Siguiendo estos pasos, tu tienda funcionará de manera más autónoma, tu SEO mejorará con un sitemap actualizado y tus procesos automáticos se ejecutarán sin problemas.
[TIP] Si después de intentarlo todo sigues teniendo problemas, no dudes en contactar con el soporte de tu hosting. Tener un cron bien configurado es parte de un buen mantenimiento de tu tienda online, y ellos deberían poder ayudarte a verificar que la ruta y los permisos son correctos.
Espero que esta guía te haya sido de gran ayuda. Ahora ya sabes cómo mantener tu PrestaShop funcionando como un reloj suizo.
