Cómo configurar el cron job en Plesk para PrestaShop
¿Qué es un cron job y por qué PrestaShop lo necesita?
Un cron job (o tarea programada) es un proceso que se ejecuta automáticamente en el servidor a intervalos regulares, sin necesidad de que alguien esté mirando la tienda. PrestaShop usa estas tareas para funciones críticas como la actualización de divisas, el envío de correos transaccionales, la generación de sitemaps o la limpieza de sesiones caducadas.
Si no configuras un cron job prestashop plesk, tu tienda dependerá de que alguien visite ciertas páginas para que esos procesos se ejecuten. Eso funciona, pero es poco fiable: si no hay visitas, no hay actualizaciones. Con un cron bien configurado, el servidor hace el trabajo solo, aunque nadie entre en tu web.
En Plesk, configurar estas tareas es bastante sencillo, pero hay que entender dónde se hace y qué parámetros hay que usar. En esta guía te explico paso a paso cómo configurar el cron job en Plesk para PrestaShop, desde los requisitos previos hasta la verificación final.
Requisitos antes de empezar
Antes de tocar nada, asegúrate de tener lo siguiente:
- Acceso al panel de control de Plesk (normalmente en
https://tudominio.com:8443o la URL que te haya dado tu proveedor). - Credenciales de administrador o, al menos, permisos para gestionar "Tareas programadas" en tu suscripción.
- Ruta absoluta a tu tienda PrestaShop. Normalmente es algo como
/var/www/vhosts/tudominio.com/httpdocspero puede variar según el hosting. - Ruta absoluta al PHP de tu servidor. En Plesk suele ser
/usr/bin/phpo/opt/plesk/php/8.2/bin/php(depende de la versión de PHP instalada).
Si no sabes cuál es la ruta exacta de tu tienda, entra en Plesk, ve a "Sitios web y dominios" y busca el directorio raíz de tu dominio. Ahí verás la ruta, normalmente en la columna "Directorio raíz".
Localizar la sección de tareas programadas en Plesk
Plesk tiene una sección específica para esto. Para encontrarla:
- Inicia sesión en tu panel de Plesk.
- En el menú lateral izquierdo, busca "Sitios web y dominios".
- Dentro de tu dominio, busca el icono o enlace llamado "Tareas programadas" (a veces aparece como "Cron jobs" o "Scheduled Tasks").
- Haz clic ahí y verás una lista con las tareas existentes (si hay alguna) y un botón para añadir nuevas.
Si no ves esa opción, puede que tu plan de hosting no la incluya. En ese caso, contacta con tu proveedor y pregunta si puedes gestionar crons. En la mayoría de los planes de Plesk sí está disponible, incluso en los básicos.
Paso a paso: configurar cron job PrestaShop en Plesk
1. Crear una nueva tarea programada
Dentro de la sección "Tareas programadas", pulsa el botón "Añadir tarea programada" o "Crear tarea". Se abrirá un formulario con varios campos que vamos a rellenar con cuidado.
2. Configurar los parámetros básicos
Los campos más importantes son:
- Tipo de tarea: elige "Ejecutar un comando PHP" o "Comando" (depende de la versión de Plesk). Si te da opciones, selecciona la que permite ejecutar un script PHP.
- Comando: aquí es donde va la magia. La línea completa sería algo así:
/usr/bin/php /var/www/vhosts/tudominio.com/httpdocs/app/cron.php
Pero ojo, esto depende de tu instalación. En PrestaShop 1.7 y versiones posteriores, el cron se llama app/cron.php. En versiones antiguas (1.6 o anteriores), era cron.php directamente en la raíz.
- Descripción: pon algo como "Cron de PrestaShop" para identificarlo fácilmente.
3. Programar la frecuencia
Aquí tienes dos opciones:
- Programación básica: eliges minutos, horas, días, etc. Para PrestaShop, lo recomendable es ejecutarlo cada 15 minutos o, como mínimo, cada hora.
- Programación avanzada (cron expression): si sabes usar las expresiones de cron, puedes escribir algo como
*/15 * * * *para ejecutarlo cada 15 minutos.
Mi consejo: empieza con */15 * * * * (cada 15 minutos). Es un buen equilibrio entre actualización y consumo de recursos.
4. Opciones avanzadas
En la parte inferior del formulario verás opciones como:
- Activar: asegúrate de que esté marcado.
- Notificaciones por correo: puedes elegir que te avise si el cron falla. Recomendable marcar "Enviar por correo electrónico el resultado de la tarea" con tu email.
- Entorno: déjalo en los valores por defecto.
5. Guardar y probar
Pulsa "Aceptar" o "Guardar". Plesk te mostrará la tarea en la lista. Para probarla, puedes ejecutarla manualmente con el botón de "ejecutar" (normalmente un icono de play) y luego revisar si se ha ejecutado sin errores.
Configurar cron job PrestaShop con PHP específico
Un error muy común es usar el PHP por defecto del sistema, que puede no tener las extensiones que PrestaShop necesita. En Plesk, es mejor usar el PHP que ya está configurado para tu dominio.
Para saber qué PHP usa tu tienda:
- Ve a "Sitios web y dominios" > tu dominio > "Configuración de PHP".
- Verás la versión de PHP y la ruta al ejecutable. Normalmente es algo como
/opt/plesk/php/8.2/bin/php.
Con esa ruta, el comando del cron quedaría así:
/opt/plesk/php/8.2/bin/php /var/www/vhosts/tudominio.com/httpdocs/app/cron.php
Esto es más fiable porque usa exactamente el mismo PHP que tu tienda, con las mismas extensiones y configuración.
Errores comunes y cómo solucionarlos
Error: "No se puede conectar a la base de datos"
Esto suele pasar si el cron se ejecuta con un usuario que no tiene permisos. En Plesk, asegúrate de que la tarea se ejecuta como el usuario del dominio, no como root. Normalmente Plesk lo hace automáticamente, pero si ves este error, revisa los permisos de la carpeta de PrestaShop.
Error: "Ruta no encontrada"
Revisa que la ruta al archivo cron.php sea correcta. Un truco: crea un archivo llamado test.php en la raíz de tu tienda con el contenido <?php echo "hola"; ?> y ejecuta un cron con /usr/bin/php /ruta/test.php. Si funciona, el problema es la ruta del cron de PrestaShop.
El cron se ejecuta pero no hace nada
Puede que esté funcionando pero no haya cambios visibles. Para verificar, mira los logs de PrestaShop en var/logs/ dentro de tu instalación. También puedes configurar PrestaShop para que muestre los errores temporalmente en el archivo config/defines.inc.php, cambiando _PS_MODE_DEV_ a true.
Verificar que el cron job PrestaShop funciona
Después de configurar el cron job prestashop plesk, es importante comprobar que realmente funciona. Aquí tienes algunas formas:
- Revisa los logs de Plesk: en la lista de tareas, verás la última ejecución y si fue exitosa o no.
- Revisa los logs de PrestaShop: en
var/logs/de tu instalación, busca archivos de log del día y comprueba si hay entradas relacionadas con cron. - Prueba manual: ejecuta el cron manualmente desde Plesk y observa si tarda mucho o da error.
Un buen indicador de que funciona es que las divisas se actualicen solas o que los correos transaccionales se envíen sin que nadie visite la tienda.
Preguntas frecuentes sobre cron job PrestaShop en Plesk
¿Cada cuánto tiempo debo ejecutar el cron?
Depende de lo que necesite tu tienda. Para tiendas pequeñas, una vez por hora es suficiente. Para tiendas con mucho tráfico o que venden en varias divisas, cada 15 minutos es lo recomendado. No lo pongas a menos de 5 minutos porque podrías saturar el servidor.
¿Puedo usar el cron de Plesk para otras cosas de PrestaShop?
Sí, además del cron principal, puedes programar tareas específicas como la generación del sitemap o la limpieza de caché. Solo tienes que apuntar al script correspondiente de PrestaShop.
¿Qué pasa si mi hosting usa Syspanel en lugar de Plesk?
Si tu proveedor usa Syspanel (el panel que antes se llamaba HestiaCP), el proceso es similar pero la interfaz cambia. En Syspanel, el acceso se hace por el puerto 2106 (por ejemplo, https://tudominio.com:2106). Dentro de Syspanel, busca la sección de "Tareas programadas" o "Cron Jobs" en el menú de tu dominio. La configuración es análoga: indicas el comando PHP y la frecuencia.
¿Necesito conocimientos avanzados para hacer esto?
No, siguiendo estos pasos cualquier persona puede configurarlo. Solo necesitas saber las rutas de tu servidor y copiar el comando correctamente. Si algo falla, Plesk te dará pistas en los logs.
¿El cron consume muchos recursos del servidor?
Un cron de PrestaShop bien configurado consume muy pocos recursos. El problema viene si lo pones a ejecutar cada minuto o si tu servidor es muy limitado. Con cada 15 minutos no tendrás problemas en la mayoría de hostings.
Consejos finales para mantener tu cron saludable
Para terminar, te dejo algunas buenas prácticas:
- Monitoriza tu cron: revisa de vez en cuando la lista de tareas en Plesk para ver si hay errores.
- Actualiza la ruta si cambias de PHP: si tu proveedor actualiza la versión de PHP, la ruta al ejecutable puede cambiar. Revisa esto después de una actualización.
- No mezcles tareas: si tienes varias tiendas, crea un cron para cada una, no los juntes en un solo comando.
- Usa la opción de notificaciones: así te enterarás si algo falla sin tener que mirar manualmente.
Configurar el cron job en Plesk para PrestaShop es una tarea que se hace una vez y luego funciona sola durante meses. Es de esas cosas que, aunque no se ven, mantienen tu tienda viva y funcionando correctamente. Con esta guía, ya tienes todo lo necesario para hacerlo sin llamar al soporte técnico.
Si aun así tienes dudas, recuerda que puedes consultar la documentación oficial de PrestaShop o pedir ayuda a tu proveedor de hosting. Pero con lo que has leído aquí, deberías ser capaz de resolverlo tú mismo en menos de diez minutos.
