Cómo arreglar el error 'La tienda no está disponible' en PrestaShop (cPanel y Plesk)
¿Tu tienda PrestaShop muestra el temido mensaje "La tienda no está disponible"? No te preocupes, respira hondo. Este error es uno de los más comunes en el mundo del comercio electrónico y, en la gran mayoría de los casos, tiene una solución sencilla que puedes aplicar tú mismo sin ser un experto en informática.
En esta guía extensa y detallada, vamos a desglosar paso a paso todas las causas posibles de este fallo, centrándonos en dos de los paneles de control de hosting más utilizados: cPanel y Plesk. Además, te enseñaremos a diferenciar entre un simple modo de mantenimiento y un error de servidor más profundo.
Al final de este artículo, no solo habrás solucionado el problema, sino que entenderás por qué ocurre, lo que te permitirá prevenirlo en el futuro. Vamos a ello.
¿Qué significa realmente "La tienda no está disponible"?
Antes de empezar a tocar botones, es crucial entender qué está pasando. Este mensaje en PrestaShop puede deberse a dos escenarios muy distintos:
- Modo de mantenimiento activado: Has activado el modo mantenimiento (o alguien lo hizo) y has olvidado desactivarlo. Esto es un "apagón" voluntario y temporal.
- Error de conexión con la base de datos: PrestaShop no puede conectarse a MySQL (la base de datos donde se guardan tus productos, pedidos y clientes). Este es un fallo técnico involuntario que provoca una caída total de la tienda.
También puede aparecer como un error 503 prestashop en el navegador, que indica que el servidor no puede procesar la solicitud en ese momento. Identificar cuál de los dos casos tienes es el primer paso.
Diagnóstico rápido: ¿Mantenimiento o Error de Base de Datos?
Para saber por dónde empezar, mira la URL de tu navegador.
- Si la URL contiene
.../index.php?controller=maintenance, entonces es un modo de mantenimiento. - Si la URL se queda en
.../index.phpo muestra un error de conexión a la base de datos, entonces es un problema de conexión MySQL.
A continuación, te mostramos cómo solucionar ambos casos, tanto si tu hosting usa cPanel como Plesk.
Solución 1: Desactivar el Modo de Mantenimiento de PrestaShop
Esta es la causa más habitual y la más fácil de arreglar. Si tu tienda está en modo mantenimiento, los clientes verán ese mensaje, pero tú puedes acceder al panel de administración.
Cómo desactivarlo desde el Panel de Administración (Back Office)
- Accede a tu administración de PrestaShop (normalmente en
tudominio.com/admin). - Ve a la pestaña "Parámetros avanzados" en el menú lateral izquierdo.
- Haz clic en "Mantenimiento".
- En la opción "Activar el modo mantenimiento", selecciona "No".
- Guarda los cambios. ¡Listo!
[TIP] Si no recuerdas tu contraseña de administrador, puedes resetearla desde la base de datos, pero eso es más complejo. Primero prueba con las soluciones de archivos de abajo.
Cómo desactivarlo manualmente si no puedes acceder al panel (Método de emergencia)
Si el panel de administración te da error o no puedes entrar, tendrás que hacerlo manualmente. Esto es útil si el error "La tienda no está disponible" te bloquea incluso el acceso al Back Office.
Si tu hosting usa cPanel:
- Entra en cPanel (normalmente en
tudominio.com/cpanel). - Busca la sección "Archivos" y haz clic en "Administrador de archivos".
- Navega hasta la carpeta raíz de tu tienda (suele ser
public_htmlo una subcarpeta comopublic_html/tienda). - Busca el archivo llamado
parameters.phpdentro de la carpetaapp/config/. - Haz clic derecho sobre él y selecciona "Editar" o "Code Editor".
- Busca la línea que dice
'PS_SHOP_ENABLE' => 1. El número 1 significa que el mantenimiento está activado. Cámbialo a 0 (cero). - Guarda el archivo y cierra el editor.
Si tu hosting usa Plesk:
- Accede a Plesk (normalmente en
tudominio.com:8443). - Ve a "Sitios web y dominios" y haz clic en tu dominio.
- Busca la sección "Administrador de archivos" (suele estar en el menú de la derecha o en la pestaña de archivos).
- Repite los pasos 3 a 7 del método anterior, navegando a
app/config/parameters.phpy cambiando el'PS_SHOP_ENABLE' => 1a'PS_SHOP_ENABLE' => 0.
[WARNING] Antes de editar
parameters.php, haz una copia de seguridad. Si te equivocas, podrías romper la configuración de la tienda. Simplemente cópialo y renómbralo aparameters.php.bak.
Solución 2: Arreglar el Error de Conexión a la Base de Datos (MySQL)
Si el problema no era el mantenimiento, es muy probable que sea la base de datos. Esto ocurre cuando PrestaShop intenta conectarse a MySQL y no puede. Las causas suelen ser:
- Cambio de contraseña de la base de datos sin actualizar el archivo
parameters.php. - La base de datos se ha llenado o ha sido corrompida.
- El servidor MySQL está caído (poco común, pero posible).
Paso 1: Verificar las credenciales en parameters.php
Este archivo, que ya tocamos antes, contiene los datos de acceso a tu base de datos. Debemos asegurarnos de que sean correctos.
- Accede a tu cPanel o Plesk.
- Ve al Administrador de archivos y navega a
app/config/parameters.php. - Edítalo y busca estas líneas:
'database_host' => 'localhost',
'database_name' => 'tu_usuario_basededatos',
'database_user' => 'tu_usuario_mysql',
'database_password' => 'tu_contraseña_mysql',
- Compara estos valores con los que tienes en tu panel de control de hosting.
¿Cómo verificar los datos en cPanel?
- En cPanel, busca la sección "Bases de datos" y haz clic en "Bases de datos MySQL".
- Verás una lista de bases de datos y sus usuarios. Asegúrate de que el nombre de la base y el usuario coinciden con los del archivo.
- Si no recuerdas la contraseña, puedes cambiarla desde aquí. Haz clic en "Cambiar contraseña" junto al usuario y establece una nueva.
- IMPORTANTE: Si cambias la contraseña aquí, debes actualizarla también en el archivo
parameters.php.
¿Cómo verificar los datos en Plesk?
- En Plesk, ve a "Sitios web y dominios" y busca la sección "Bases de datos".
- Haz clic en el nombre de tu base de datos para ver los usuarios asociados.
- Para cambiar la contraseña, selecciona el usuario y haz clic en el icono de cambio de contraseña.
- Actualiza el archivo
parameters.phpcon la nueva contraseña.
[INFO] Si has cambiado la contraseña de la base de datos desde tu panel de hosting, es obligatorio actualizarla en
parameters.php. Si no, tu tienda se caerá inmediatamente.
Paso 2: Reparar la base de datos (si está dañada)
Si las credenciales son correctas y el error persiste, la base de datos puede estar dañada. Podemos intentar repararla.
Reparar con phpMyAdmin (cPanel y Plesk)
- Abre phpMyAdmin desde tu panel de control (en cPanel está en la sección "Bases de datos"; en Plesk, dentro de la base de datos, suele haber un botón "phpMyAdmin").
- Selecciona tu base de datos de PrestaShop en el menú lateral izquierdo.
- Marca la casilla "Seleccionar todo" en la parte inferior de la lista de tablas.
- En el desplegable que dice "Con selección:", elige la opción "Reparar tabla".
- Confirma la acción. Esto puede tardar unos segundos.
Este proceso intenta corregir errores menores en las tablas de la base de datos.
Paso 3: Verificar el espacio en disco
Una base de datos llena o un servidor sin espacio puede provocar que MySQL falle.
- En cPanel, mira el indicador de "Espacio en disco" en la barra lateral. Si está al 90% o más, es un problema.
- En Plesk, ve a la pestaña de estadísticas de tu suscripción para ver el uso del disco.
- Si está lleno, elimina archivos temporales, copias de seguridad antiguas o logs. A veces, vaciar la papelera de tu administrador de archivos ayuda mucho.
Solución 3: Forzar la regeneración de archivos de caché y compilación
PrestaShop guarda archivos temporales (caché) para que la tienda cargue más rápido. A veces, estos archivos se corrompen y provocan errores extraños, incluido el mensaje de tienda no disponible.
Vamos a forzar su regeneración desde el panel de administración, o si no podemos acceder, borrándolos manualmente.
Desde el Back Office (si puedes acceder):
- Ve a "Parámetros avanzados" > "Rendimiento".
- Haz clic en el botón "Vaciar el caché" en la parte superior. Es un botón morado o azul.
- También puedes activar la opción "Modo de depuración" en la pestaña "Depuración", guardar y luego desactivarlo. Esto fuerza una recompilación de las plantillas.
Borrar manualmente la caché (cPanel y Plesk):
Si no puedes acceder al panel, borra los archivos manualmente.
- Ve al Administrador de archivos de tu panel.
- Navega a la carpeta raíz de PrestaShop.
- Dentro, busca la carpeta
var/cache(en versiones antiguas eracache). - Abre la carpeta
cachey dentro encontrarás subcarpetas comodevyprod. Entra en la carpetaprod(odevsi es tu entorno). - Borra TODOS los archivos que hay dentro de esa carpeta, pero NO borres la carpeta en sí. Si no puedes borrarlos todos, al menos borra los que tengan extensión
.phpo.cache.
[WARNING] No borres la carpeta
var/cacheentera, solo su contenido. Si borras la carpeta, PrestaShop la recreará automáticamente, pero es mejor evitar sustos.
Solución 4: Comprobar el estado del servidor y los logs de error
Si todo lo anterior falla, el problema puede estar en el servidor. Tanto cPanel como Plesk tienen herramientas para ver los logs.
Acceder a los logs de error:
- En cPanel: Busca la sección "Métricas" y haz clic en "Errores" o "Registros de errores". Ahí verás los últimos errores de PHP.
- En Plesk: Ve a "Sitios web y dominios", haz clic en el dominio y busca la pestaña "Registros" o "Logs".
¿Qué buscar en los logs?
Busca líneas que contengan [error] o [warning] justo en la fecha y hora en que se cayó la tienda. Los errores comunes son:
PHP Fatal error: Allowed memory size exhausted-> Necesitas aumentar el límite de memoria PHP.SQLSTATE[HY000] [2002] Connection refused-> Problema de conexión con MySQL.PHP Parse error-> Error de sintaxis en un archivo (quizás modificaste uno sin querer).
Si ves un error de memoria PHP, puedes aumentarlo en el archivo .htaccess (en la raíz) o en un archivo php.ini si tu hosting lo permite.
Cómo aumentar el límite de memoria en .htaccess:
- Abre el Administrador de archivos.
- Busca el archivo
.htaccessen la raíz de tu tienda. - Al final del archivo, añade esta línea:
php_value memory_limit 512M
- Guarda el archivo.
[INFO] Si tu hosting usa PHP como módulo de Apache, esto funcionará. Si usa PHP-FPM (común en Plesk), es mejor que contactes con tu proveedor de hosting o uses la herramienta de configuración de PHP en tu panel.
Solución 5: Restaurar desde una copia de seguridad
Si has probado todo y nada funciona, la solución definitiva es restaurar una copia de seguridad reciente de tu tienda.
¿Cómo restaurar en cPanel?
- Ve a la sección "Archivos" > "Copias de seguridad".
- Puedes restaurar una copia de seguridad completa del directorio principal (tu carpeta raíz) o de la base de datos MySQL.
- Sube el archivo de copia de seguridad que tengas guardado (normalmente en tu ordenador o en un servicio de almacenamiento remoto).
¿Cómo restaurar en Plesk?
- Ve a "Sitios web y dominios".
- Haz clic en el botón de "Copias de seguridad" (suele ser un icono de un disco).
- Selecciona la copia que quieras restaurar y haz clic en "Restaurar".
[WARNING] Restaurar una copia de seguridad sobrescribirá todos los cambios que hayas hecho desde que se hizo esa copia. Perderás productos, pedidos o configuraciones nuevas. Úsalo como último recurso.
Preguntas Frecuentes (FAQ) sobre el error tienda no disponible prestashop
¿Por qué mi tienda se cae sola a menudo?
Esto suele deberse a un límite de memoria PHP bajo, a un plugin mal configurado o a un servidor con recursos insuficientes. Te recomendamos revisar los logs de error y aumentar los recursos si es necesario.
¿Qué significa exactamente "error 503 prestashop"?
Un error 503 significa "Servicio no disponible". Es un código HTTP que indica que el servidor no puede manejar la solicitud en ese momento. En PrestaShop, suele estar ligado al modo mantenimiento o a un fallo crítico de PHP.
¿Puedo evitar que esto vuelva a pasar?
Sí. Te recomendamos:
- Realizar copias de seguridad automáticas semanales.
- No editar archivos PHP directamente sin saber qué haces.
- Mantener PrestaShop, sus módulos y plantillas siempre actualizados.
- Configurar un sistema de monitorización (como UptimeRobot) que te avise por email si tu tienda se cae.
¿Y si mi hosting usa Syspanel?
Si tu proveedor utiliza el panel Syspanel (muy común en algunos hostings europeos), el acceso se realiza a través del puerto 2106 (ej. tudominio.com:2106). Una vez dentro, la estructura es similar a Plesk. Busca la sección de "Archivos" y "Bases de datos" para aplicar las mismas soluciones que hemos descrito. Los archivos de configuración (parameters.php) y la carpeta de caché (var/cache) se encuentran en la misma ubicación dentro del sistema de archivos.
¿Qué hago si el mensaje persiste después de desactivar el mantenimiento?
Si ya desactivaste el mantenimiento y el mensaje sigue, es casi seguro que es un problema de base de datos o de permisos de archivos. Repite la Solución 2 y verifica los permisos de las carpetas var, cache y config (deben ser 755 para carpetas y 644 para archivos).
Conclusión
El error "La tienda no está disponible" en Pre
