Cómo configurar cron jobs en PrestaShop con cPanel
¿Te has preguntado alguna vez por qué tu tienda PrestaShop no actualiza sus informes de Google Analytics, no envía los correos de carritos abandonados o tarda una eternidad en generar el sitemap? La respuesta, casi con total seguridad, es que no has configurado las tareas programadas (también conocidas como cron jobs).
Piensa en los cron jobs como un despertador interno que le dice a tu tienda: "Oye, es hora de hacer esta tarea". Sin ellos, PrestaShop se convierte en un empleado que solo trabaja cuando alguien le da la orden manualmente.
En este artículo, te voy a explicar paso a paso, y sin tecnicismos complicados, cómo configurar los cron jobs prestashop cpanel para que tu tienda funcione sola como un reloj suizo. Al final, serás capaz de automatizar todo el mantenimiento pesado de tu ecommerce.
¿Qué es un Cron Job y por qué tu PrestaShop lo necesita?
Antes de ensuciarnos las manos con el código, vamos a entender qué estamos haciendo. Un cron job es una tarea programada que se ejecuta en un horario específico. En el contexto de PrestaShop, es vital para tareas como:
- Envío de correos transaccionales: Avisar a los clientes que su pedido está en camino o recordarles que dejaron productos en el carrito.
- Generación de informes: Actualizar las estadísticas de ventas y visitas sin que tengas que entrar al panel de administración.
- Indexación para buscadores (SEO): Regenerar el archivo
sitemap.xmlpara que Google encuentre tus productos nuevos rápidamente. - Actualización de monedas: Si vendes en dólares y euros, el tipo de cambio se actualiza automáticamente.
- Limpieza de archivos temporales: Evitar que el servidor se llene de caché y basura innecesaria.
Si no configuras las tareas programadas prestashop cpanel, tu tienda seguirá funcionando, pero tendrás que hacer muchas de estas tareas a mano, lo cual es un quebradero de cabeza. Además, algunas funciones críticas, como el envío de correos masivos, fallarán silenciosamente.
Requisitos previos: Lo que necesitas antes de empezar
Para llevar a cabo esta configuración, solo necesitas dos cosas:
- Acceso a cPanel: Las credenciales de tu hosting (normalmente algo como
tudominio.com/cpanel). - La URL exacta del cron de tu PrestaShop: Esta es la "receta" que le daremos al servidor. La encontraremos en el back-office de tu tienda.
[INFO] Si tu hosting no usa cPanel, no te preocupes. La lógica es exactamente la misma, aunque los botones cambien. Si usas un panel alternativo llamado "Syspanel", el acceso se realiza a través del puerto 2106 (ejemplo:
tudominio.com:2106). La estructura del cron será idéntica a la que veremos aquí.
Paso 1: Encuentra tu URL de Cron en PrestaShop
Este es el paso más importante. Necesitamos que PrestaShop nos diga exactamente qué comando quiere ejecutar. Hazlo así:
- Inicia sesión en el Panel de Administración de tu PrestaShop (la parte de atrás de tu tienda).
- En el menú lateral izquierdo, ve a Configuración Avanzada.
- Haz clic en E-mail (en versiones antiguas se llama "Correo electrónico").
- Desplázate hacia abajo hasta encontrar una sección llamada "Cron" o "Tareas programadas".
- Verás una URL larga que empieza con
https://tudominio.com/...y contiene texto cifrado. - Cópiala entera. Es posible que haya un botón para copiar directamente.
[WARNING] No compartas esta URL con nadie. Es como una llave maestra que permite ejecutar acciones en tu tienda sin necesidad de iniciar sesión. Si crees que se ha filtrado, PrestaShop te permite regenerarla desde el mismo panel.
Paso 2: Accede a cPanel y localiza "Cron Jobs"
Ahora vamos al servidor.
- Abre tu navegador y escribe
tudominio.com/cpanel. Introduce tu usuario y contraseña (los mismos que usas para gestionar el hosting). - Una vez dentro, busca la sección "Avanzado" (o "Advanced" si está en inglés).
- Dentro de esa sección, haz clic en el icono que dice "Cron Jobs" o "Tareas Cron".
Verás una interfaz con varias casillas de texto. No te asustes, es más fácil de lo que parece.
Paso 3: Configura el Cron paso a paso (La parte práctica)
Aquí es donde vamos a "traducir" la URL que copiamos de PrestaShop a un formato que entienda el servidor Linux. Vamos a crear una tarea sencilla para empezar.
3.1. Configura el horario (La frecuencia)
En cPanel, verás una sección para configurar la frecuencia. Tienes dos opciones: usar los menús desplegables o el modo "Configuración avanzada" (que usa una fórmula tipo * * * * *).
Para los principiantes, recomiendo usar los menús desplegables. Te sugiero los siguientes valores para un cron estándar:
- Minuto:
0(o*/5si quieres que se ejecute cada 5 minutos). - Hora:
*(Esto significa "cada hora"). - Día del mes:
*(Todos los días). - Mes:
*(Todos los meses). - Día de la semana:
*(Cualquier día de la semana).
Traducción: Esto ejecutará la tarea cada hora en punto. Es la frecuencia más segura y recomendada para PrestaShop, ya que no satura el servidor.
[TIP] Si tu tienda tiene mucho tráfico y necesitas que el carrito abandonado se envíe rápido, puedes cambiar el Minuto a
*/5(cada 5 minutos). Pero si tu hosting es básico, no lo hagas, podría ralentizar la web.
3.2. El Comando (La magia)
Ahora viene lo importante. En el campo "Comando" (o "Command"), normalmente verás una línea que dice php -e. No la uses.
Necesitas pegar el comando completo. Copia la URL que obtuviste en el Paso 1 y pégala en el campo de comando. Debería verse algo así (aunque la letras y números serán diferentes):
/usr/bin/php -e /home/tuusuario/public_html/...
Pero espera, ¿qué pasa si no tengo acceso SSH o la URL no funciona?
cPanel te ofrece una alternativa más fiable. En lugar de usar la línea de comandos, usaremos el "Wget". Cambia el comando a esto:
wget -q -O - "https://tudominio.com/modules/pscronjobs/cron.php?token=123456789..."
¿Por qué usar wget? Porque es más tolerante a errores de configuración del servidor. Le dice al servidor "ve a esta dirección web y descarga el contenido en silencio". Es como si abrieras la URL en tu navegador, pero sin abrir el navegador.
Instrucciones:
- En el campo "Comando", borra todo.
- Escribe:
wget -q -O - - Deja un espacio y pega la URL que copiaste de PrestaShop entre comillas dobles (
").
Ejemplo visual:
wget -q -O - "https://midominio.com/modules/pscronjobs/cron.php?token=abc123"
3.3. Guarda el Cron
Finalmente, introduce una dirección de correo en el campo "Dirección de correo electrónico" si quieres recibir un aviso de error (opcional, no lo recomiendo porque genera spam).
Haz clic en "Agregar nuevo cron job" (o "Add New Cron Job").
¡Listo! Ya tienes tu primer cron configurado.
Paso 4: Verifica que el Cron Funciona (El momento de la verdad)
Configurar el cron y que no funcione es muy frustrante. Para asegurarte de que todo está bien:
- Vuelve a tu Panel de Administración de PrestaShop.
- Ve a Configuración Avanzada > E-mail.
- En la sección de Cron, busca un botón que diga "Ejecutar ahora" o "Probar".
- Haz clic en él. Si la página tarda unos segundos en cargar y no muestra un error fatal, significa que la tarea se está ejecutando correctamente.
También puedes verificar en cPanel: en la lista de Cron Jobs, verás la última vez que se ejecutó. Si dice "Nunca", revisa que la URL no tenga espacios y que el formato wget sea correcto.
Preguntas Frecuentes (FAQ) sobre Cron en PrestaShop
Aquí te resuelvo las dudas más comunes que me suelen plantear los clientes:
¿Qué hago si mi hosting no tiene cPanel?
Si tu hosting usa Syspanel (recuerda, acceso por el puerto 2106), el proceso es casi idéntico. Busca la sección "Planificadores" o "Cron". Allí, en lugar de wget, tendrás que poner la URL directamente en un campo llamado "Comando" o "URL". La lógica de la frecuencia es la misma.
¿Cuál es la diferencia entre wget y php -e?
php -e: Ejecuta el archivo directamente en el servidor. Es más rápido, pero a veces falla si el hosting tiene configuraciones de seguridad estrictas.wget: Simula una visita web a la URL. Es más lento (tarda unos segundos), pero es mucho más fiable y universal. Recomiendowgetpara el 99% de los casos.
¿Con qué frecuencia debo configurar el cron?
Para PrestaShop, la frecuencia ideal es cada hora. Si lo pones cada minuto, saturarás el servidor y tu web se volverá lenta. Si lo pones una vez al día, los correos de carritos abandonados llegarán tarde y Google tardará más en indexar tus productos nuevos.
¿Recibiré un correo cada vez que se ejecute?
No, a menos que marques la casilla de "Recibir un correo electrónico con el resultado". Te recomiendo NO activar esa opción, ya que recibirás cientos de correos basura al día. Solo actívala temporalmente si estás depurando un error.
Mi tienda usa la URL de cron, pero no envía correos. ¿Qué pasa?
Esto es un problema de configuración del servidor de correo (SMTP), no del cron. El cron solo "despierta" a PrestaShop para que intente enviar los correos. Si el envío falla, el problema está en la configuración de Parámetros Avanzados > E-mail. Asegúrate de usar el SMTP de tu hosting en lugar de la función mail() de PHP.
Conclusión: Automatiza para Escalar
Configurar cron prestashop cpanel es una de esas tareas que parecen difíciles pero que te ahorran horas de trabajo cada mes. No es un lujo, es una necesidad para cualquier tienda que quiera crecer sin volverse loco con el mantenimiento manual.
Ahora que has configurado tu primer cron, te animo a que explores el resto de tareas que PrestaShop ofrece por defecto en esa misma sección de "E-mail". Verás que hay varios procesos listos para ser activados.
Si has seguido todos los pasos y algo no funciona, revisa los siguientes puntos:
- ¿Copiaste la URL entera? A veces se corta y falta el token.
- ¿Usaste comillas dobles? En el comando
wget, las comillas son obligatorias. - ¿Guardaste el cron? Suena obvio, pero es el error más común.
Si aun así no funciona, contacta con tu proveedor de hosting (o con nosotros, si tu plan incluye soporte) y facilítales el comando exacto que usaste. Con eso podrán diagnosticar el problema en segundos.
¡Espero que tu tienda ahora funcione como un reloj suizo! No dudes en dejar tus preguntas en los comentarios si te has quedado atascado en algún punto del proceso.
