🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo configurar el cron job en DirectAdmin para PrestaShop

Actualizado el 14 de octubre de 2025

¿Qué es un cron job y por qué PrestaShop lo necesita?

Si alguna vez has visto en el panel de administración de PrestaShop mensajes como "La URL de tareas programadas no es válida" o has notado que los pedidos no se actualizan, los informes de marketing no se generan o los clientes no reciben sus correos de confirmación, el problema casi siempre está relacionado con el cron job.

Un cron job (o tarea programada) es un "despertador" que le dice a tu servidor que ejecute ciertas acciones de forma automática a intervalos regulares. En el caso de PrestaShop, estas tareas son esenciales para:

  • Enviar correos electrónicos transaccionales (confirmaciones de pedido, recuperación de carritos abandonados).
  • Generar y actualizar el sitemap para SEO.
  • Actualizar los precios y el stock de los productos.
  • Ejecutar módulos de marketing, estadísticas y envíos.
  • Realizar copias de seguridad automáticas de la tienda.

Sin un cron job configurado correctamente, tu tienda funciona "a medias". La buena noticia es que configurarlo en DirectAdmin (uno de los paneles de control más utilizados en hosting) es un proceso sencillo si sigues esta guía paso a paso. Aquí aprenderás exactamente cómo hacerlo, incluso si nunca has tocado un archivo de configuración en tu vida.

Antes de empezar: qué necesitas tener a mano

Para configurar el cron job en DirectAdmin para PrestaShop, necesitarás tres cosas:

  1. Acceso al panel de DirectAdmin de tu hosting (normalmente en tudominio.com:2222).
  2. La ruta absoluta de tu tienda PrestaShop en el servidor. Suele ser algo como /home/usuario/public_html o /home/usuario/public_html/tienda.
  3. La URL completa de tu tienda (ejemplo: https://tutienda.com).

Si no sabes cuál es tu ruta absoluta, no te preocupes. En DirectAdmin puedes descubrirla fácilmente en la sección "Administrador de archivos", donde verás la carpeta public_html.

Paso 1: Encontrar la URL del cron en tu PrestaShop

Antes de ir a DirectAdmin, necesitas que PrestaShop te diga exactamente qué comando debe ejecutarse. Hay dos formas de obtenerlo:

Opción A: Desde el back office (la más fácil)

  1. Inicia sesión en el panel de administración de tu PrestaShop (ejemplo: tutienda.com/admin123).
  2. Ve al menú Parámetros avanzadosRendimiento.
  3. Dentro de esa página, busca la sección "Tareas programadas" o "Cron".
  4. Verás una lista de tareas (como "Recuperación de carrito", "Sincronización", etc.). Al final de la lista, PrestaShop te muestra una URL de cron completa, similar a esta:
    https://tutienda.com/module/pscron/process.php?token=1234567890abcdef&h=2

Opción B: Desde el archivo de configuración

Si no encuentras la opción en el back office, puedes generarla tú mismo. La URL típica para el cron de PrestaShop es:

https://tudominio.com/modules/pscron/process.php?token=TU_TOKEN&h=2

El token es un código único que puedes encontrar en el archivo config/settings.inc.php dentro de la carpeta de tu tienda, buscando la línea que dice _COOKIE_KEY_ o _NEW_COOKIE_KEY_. Sin embargo, te recomiendo usar la Opción A, ya que es mucho más fiable y evita errores de escritura.

[TIP] Anota esa URL en un bloc de notas. La necesitarás en el siguiente paso. Si tu tienda está en una subcarpeta (ejemplo: tutienda.com/tienda), asegúrate de que la URL también incluya esa subcarpeta.

Paso 2: Acceder a la sección de Cron Jobs en DirectAdmin

Ahora viene la parte práctica. Sigue estos pasos:

  1. Inicia sesión en tu panel de DirectAdmin.
  2. En el menú principal, busca el icono que dice "Cron Jobs" o "Tareas Programadas". Normalmente está en la sección de "Administración de archivos" o "Avanzado".
  3. Haz clic en él. Se abrirá una pantalla con un formulario que tiene varios campos: Minuto, Hora, Día del Mes, Mes, Día de la Semana y un campo para el Comando.

Este formulario puede parecer intimidante al principio, pero es más simple de lo que parece. Cada campo te permite controlar la frecuencia con la que se ejecuta la tarea.

Paso 3: Configurar la frecuencia de ejecución (la parte más importante)

Para PrestaShop, la frecuencia recomendada para la mayoría de las tareas es cada 5 minutos o cada 15 minutos. Esto asegura que los correos se envíen rápido y los datos estén actualizados sin sobrecargar el servidor.

Para configurarlo cada 5 minutos, rellena los campos así:

  • Minuto: */5
  • Hora: *
  • Día del Mes: *
  • Mes: *
  • Día de la Semana: *

Explicación rápida:

  • El * significa "todos". Entonces, * en Hora significa "todas las horas".
  • El */5 en Minuto significa "cada 5 minutos".

Si prefieres que se ejecute cada 15 minutos, solo cambia el primer campo a */15. Si quieres que se ejecute una vez al día (por ejemplo, para el sitemap), podrías poner 0 3 * * * (a las 3:00 AM).

[WARNING] NO configures el cron para que se ejecute cada minuto (* * * * *) a menos que sea absolutamente necesario. Esto puede saturar tu servidor y ralentizar tu tienda.

Paso 4: Insertar el comando correcto para PrestaShop

Este es el paso crucial. En el campo "Comando", debes pegar la URL que copiaste en el Paso 1, pero con un pequeño ajuste. PrestaShop necesita que uses una herramienta del sistema llamada wget para que la tarea se ejecute sin abrir un navegador.

El comando correcto es el siguiente:

wget -q -O /dev/null "https://tutienda.com/module/pscron/process.php?token=TU_TOKEN&h=2"

Desglose del comando:

  • wget: Es el programa que se usa para descargar la URL.
  • -q: Modo silencioso, evita que se muestren mensajes de descarga.
  • -O /dev/null: Redirige la salida a la "nada" para no llenar el servidor con archivos basura.
  • "URL": Es la URL de tu cron de PrestaShop.

Pega tu URL exacta entre las comillas, reemplazando el texto de ejemplo. Por ejemplo:

wget -q -O /dev/null "https://mitiendaonline.com/module/pscron/process.php?token=abc123def456&h=2"

¿Y si mi hosting no permite wget?

Algunos servidores muy restrictivos bloquean wget. En ese caso, puedes usar el comando php directamente. La ruta de PHP suele ser /usr/bin/php. El comando sería:

/usr/bin/php /home/tuusuario/public_html/modules/pscron/process.php?token=TU_TOKEN

Pero cuidado: esta opción requiere que la ruta del archivo sea correcta. Es más compleja, así que te recomiendo usar wget como primera opción, ya que funciona en el 99% de los casos.

Paso 5: Guardar y verificar la configuración

  1. Una vez que hayas rellenado los campos (con */5 * * * * y el comando wget), haz clic en el botón "Agregar Cron Job" o "Guardar".
  2. DirectAdmin te mostrará un mensaje de éxito y la tarea aparecerá en la lista de "Cron Jobs existentes".

¿Cómo saber si funciona?

La forma más sencilla de comprobarlo es ir al back office de PrestaShop y ver la lista de tareas programadas. Debería aparecer la fecha de la última ejecución actualizada (por ejemplo, "hace 2 minutos").

Otra prueba es configurar un cron que se ejecute cada minuto con un comando simple como echo "hola" >> /home/tuusuario/test.txt para ver si se crea el archivo. Pero para PrestaShop, la verificación en el back office es suficiente.

Errores comunes y cómo solucionarlos

Aunque sigas todos los pasos, a veces las cosas fallan. Aquí tienes los problemas más típicos y sus soluciones:

Error: "La URL no es válida" en PrestaShop

Esto significa que PrestaShop no está recibiendo la llamada correctamente.

  • Solución: Asegúrate de que la URL en el comando wget es exactamente la misma que te muestra el back office. No la modifiques ni le añadas espacios.
  • Revisa el token: Si has cambiado la contraseña de administrador recientemente, el token puede cambiar. Vuelve a copiar la URL desde el back office.

Error: El cron se ejecuta pero no hace nada

Puede que el servidor esté bloqueando la ejecución de wget con URLs externas.

  • Solución: Prueba a usar la ruta completa del archivo PHP en lugar de la URL. Encuentra la ruta en el administrador de archivos de DirectAdmin (suele ser /home/usuario/public_html/). El comando sería:
    php /home/usuario/public_html/modules/pscron/process.php?token=TU_TOKEN

Error: Permisos de archivo

Si el cron falla silenciosamente, puede ser un problema de permisos en la carpeta modules.

  • Solución: En DirectAdmin, ve al administrador de archivos, entra en la carpeta modules, busca la carpeta pscron y asegúrate de que tenga permisos 755 (carpetas) y 644 (archivos). Si no sabes cómo cambiar esto, contacta con tu soporte de hosting.

Preguntas frecuentes (FAQ) sobre cron jobs y PrestaShop

¿Con qué frecuencia debo configurar el cron?

Para una tienda normal, cada 5 minutos es el equilibrio perfecto. Si vendes productos digitales o dependes mucho del envío de correos, puedes ponerlo a cada 2 minutos. Si tu tienda tiene poco tráfico, cada 15 minutos es suficiente.

¿Puedo configurar varios cron jobs para diferentes tareas?

Sí. De hecho, PrestaShop te permite usar diferentes URLs para tareas específicas, pero no es necesario. Con un solo cron que llame a la URL general, PrestaShop decide qué tareas debe ejecutar en ese momento. Configurar varios puede causar conflictos y carga innecesaria.

¿Qué pasa si mi hosting es de pago y no tiene DirectAdmin?

Si tu panel es cPanel, el proceso es muy similar (busca "Cron Jobs" en la sección Avanzado). Si tu panel es Syspanel (antes conocido como HestiaCP), recuerda que el acceso es a través del puerto 2106 (ejemplo: tudominio.com:2106) y la opción se llama "Cron Jobs" en el menú lateral. El comando wget funciona igual en todos los paneles.

¿El cron afecta al rendimiento de mi tienda?

Un cron bien configurado (cada 5 minutos) consume una cantidad mínima de recursos. El problema es cuando se ejecuta cada minuto y además tienes muchos módulos pesados. Si notas lentitud, aumenta el intervalo a 10 o 15 minutos.

¿Necesito ser un programador para hacer esto?

No. Si has seguido esta guía, has copiado y pegado correctamente. La lógica de los campos * y */5 es lo único que necesitas entender, y ya lo hemos explicado de forma sencilla.

Conclusión: automatiza tu tienda y olvídate de los correos perdidos

Configurar el cron job en DirectAdmin para PrestaShop es una de esas tareas que parecen complicadas pero que, una vez hechas, te ahorran muchísimos dolores de cabeza. Ya no tendrás clientes quejándose de que no reciben sus facturas, ni tendrás que actualizar manualmente el stock.

Recuerda los puntos clave:

  1. Obtén la URL exacta desde el back office de PrestaShop.
  2. Usa wget -q -O /dev/null seguido de tu URL entre comillas.
  3. Configura la frecuencia a */5 * * * *.
  4. Guarda y verifica en el back office que la última ejecución se actualiza.

Si algo no funciona a la primera, no te frustres. Revisa el token, los permisos de las carpetas y prueba con el comando PHP alternativo. Y si aún así no lo consigues, tu proveedor de hosting (o el soporte de tu panel, ya sea DirectAdmin, cPanel o Syspanel en el puerto 2106) estará encantado de ayudarte con el comando exacto.

Ahora que tu tienda tiene las tareas programadas funcionando, puedes dedicar tu tiempo a lo que realmente importa: vender. ¡Buena suerte con tu negocio!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel