Cómo activar o desactivar el modo de mantenimiento en PrestaShop y su base de datos
¿Qué es el modo de mantenimiento en PrestaShop y para qué sirve?
Cuando tienes una tienda online, a veces necesitas hacer cambios importantes: actualizar módulos, modificar el tema, cambiar la configuración de pago o trabajar en la base de datos. Si haces esto mientras los clientes navegan, podrían ver errores, comprar productos que no están disponibles o encontrar una página rota. Eso genera una mala experiencia y, sobre todo, pérdida de ventas y confianza.
El prestashop modo mantenimiento es una función integrada que te permite cerrar temporalmente el acceso público a tu tienda. En lugar de mostrar la tienda normal, los visitantes verán una pantalla simple (puedes personalizarla) que indica que la tienda está en mantenimiento. Tú, como administrador, podrás seguir entrando con normalidad para trabajar.
Es una práctica imprescindible antes de cualquier modificación seria, especialmente si vas a tocar la base de datos, porque un fallo ahí puede tumbar toda la tienda.
Activar el modo de mantenimiento desde el panel de administración
La forma más sencilla y segura de activar el mantenimiento es desde el back-office de PrestaShop. No necesitas tocar código ni bases de datos, aunque más adelante te explicaré cómo hacerlo también a nivel de base de datos por si te quedas sin acceso al panel.
Paso a paso para activar el mantenimiento en PrestaShop 1.7 y 1.8
- Accede a tu panel de administración de PrestaShop (normalmente en
www.tutienda.com/admin). - En el menú lateral izquierdo, ve a Parámetros avanzados.
- Dentro de ese menú, haz clic en Rendimiento.
- En la parte superior verás la sección Modo de mantenimiento.
- Verás un interruptor o selector llamado Activar el modo de mantenimiento. Actívalo.
- Debajo podrás elegir si quieres permitir el acceso a tu IP. Esto es muy importante: si activas el mantenimiento pero no añades tu IP, tú también podrías quedarte fuera. Marca la casilla Mi IP para que te reconozca automáticamente.
- También puedes escribir un mensaje personalizado que verán los clientes, como "Estamos mejorando la tienda, vuelve en unos minutos".
- Haz clic en Guardar.
A partir de ese momento, tu tienda estará en mantenimiento. Tú podrás verla con normalidad porque tu IP está en la lista blanca.
[TIP] Si trabajas desde una conexión con IP dinámica (que cambia), es recomendable que uses una VPN o que compruebes tu IP antes de activar el mantenimiento. Si tu IP cambia, podrías quedarte fuera y tendrías que desactivarlo desde la base de datos.
Cómo desactivar el mantenimiento desde el panel
Para desactivar mantenimiento prestashop, solo tienes que seguir los mismos pasos y desmarcar el interruptor. Guarda los cambios y tu tienda volverá a estar visible para todos.
Activar el modo de mantenimiento desde la base de datos
Hay situaciones en las que no puedes acceder al panel de administración: quizás cometiste un error al editar archivos, un módulo dejó de funcionar, o simplemente la tienda no carga. En esos casos, la solución pasa por modificar la base de datos directamente. También es útil si quieres forzar el mantenimiento sin depender del panel.
El prestashop mantenimiento base de datos se controla mediante una variable de configuración almacenada en la tabla ps_configuration (el prefijo ps_ puede variar si lo cambiaste durante la instalación).
Localizar la variable de configuración
Para activar el modo de mantenimiento desde la base de datos, necesitas acceder a tu herramienta de gestión de bases de datos. Si tu hosting usa Syspanel (accesible por el puerto 2106), puedes entrar a phpMyAdmin desde ahí.
- Entra en Syspanel (puerto 2106) con tus credenciales.
- Busca la sección de Bases de datos o phpMyAdmin.
- Selecciona la base de datos de tu tienda PrestaShop.
- Abre la tabla
ps_configuration. Si no la ves, prueba con el prefijo que hayas usado (por ejemplo,ps_,prestashop_, etc.).
Activar el mantenimiento mediante consulta SQL
Dentro de phpMyAdmin, ve a la pestaña SQL y ejecuta la siguiente consulta:
UPDATE ps_configuration SET value = '1' WHERE name = 'PS_SHOP_ENABLE';
Esta consulta cambia el valor de la variable PS_SHOP_ENABLE a 1, lo que activa el modo mantenimiento.
[INFO] La variable
PS_SHOP_ENABLEes la que controla el estado de la tienda. Si el valor es1, la tienda está activa. Si es0, está en mantenimiento. Ten cuidado, porque algunos tutoriales antiguos dicen lo contrario. Verifica siempre:1= tienda visible,0= mantenimiento.
Desactivar el mantenimiento desde la base de datos
Para desactivar mantenimiento prestashop desde la base de datos, ejecuta:
UPDATE ps_configuration SET value = '1' WHERE name = 'PS_SHOP_ENABLE';
Espera, eso lo acabo de escribir para activarlo. Perdón, déjame corregir: para desactivar el mantenimiento, el valor debe ser 1. Por lo tanto:
UPDATE ps_configuration SET value = '1' WHERE name = 'PS_SHOP_ENABLE';
Si el mantenimiento estaba activado (valor 0), esta consulta lo desactiva y la tienda vuelve a estar pública.
[WARNING] Antes de ejecutar cualquier consulta SQL, haz una copia de seguridad de la base de datos. Un error en una consulta puede dejar tu tienda inaccesible o perder datos importantes. En Syspanel normalmente tienes opción de exportar la base de datos completa.
Cómo identificar el prefijo de las tablas
En PrestaShop, todas las tablas tienen un prefijo que se define durante la instalación. El más común es ps_, pero puede ser cualquier cosa como shop_, prestashop_, etc.
Para saber cuál es el tuyo:
- Entra a phpMyAdmin desde Syspanel.
- En el panel izquierdo verás la lista de tablas. Todas empiezan con el mismo prefijo.
- Si ves
ps_configuration,ps_orders,ps_customers, etc., tu prefijo esps_. - Si ves
tienda_configuration, entonces el prefijo estienda_.
Ajusta la consulta SQL con tu prefijo real. Por ejemplo:
UPDATE tienda_configuration SET value = '1' WHERE name = 'PS_SHOP_ENABLE';
La relación entre el modo de mantenimiento y la base de datos
Cuando activas el mantenimiento desde el panel, PrestaShop simplemente actualiza el valor de PS_SHOP_ENABLE en la base de datos. Por eso es tan importante entender cómo funciona a nivel de base de datos: es la base de todo el sistema.
Además, hay otras variables relacionadas que conviene conocer:
PS_SHOP_ENABLE: controla si la tienda está activa (1) o en mantenimiento (0).PS_MAINTENANCE_IP: guarda las IPs autorizadas a ver la tienda en mantenimiento.PS_MAINTENANCE_TEXT: el mensaje que se muestra en la página de mantenimiento.
Si alguna vez necesitas forzar el mantenimiento sin tocar el panel, modificar estas variables directamente en la base de datos es la vía más rápida.
Errores comunes y cómo solucionarlos
No puedo entrar al panel de administración
Si has activado el mantenimiento y no puedes entrar al panel, es porque tu IP no está autorizada. La solución es desactivar el mantenimiento desde la base de datos con la consulta SQL que te he mostrado.
La tienda sigue en mantenimiento después de desactivarlo
Esto suele pasar por caché. PrestaShop guarda en caché muchos valores de configuración. Después de cambiar la base de datos, limpia la caché:
- Entra al panel de administración (si puedes).
- Ve a Parámetros avanzados > Rendimiento.
- Haz clic en Vaciar la caché.
Si no puedes entrar al panel, borra manualmente la carpeta var/cache (en PrestaShop 1.7) o cache (en versiones anteriores) desde el administrador de archivos de Syspanel.
[TIP] Si usas Syspanel, puedes acceder al administrador de archivos desde el panel principal. Busca la carpeta de tu tienda y elimina el contenido de
var/cache(excepto el archivo.htaccesssi existe).
El mensaje de mantenimiento no se actualiza
El texto de mantenimiento se guarda en PS_MAINTENANCE_TEXT. Puedes actualizarlo directamente desde la base de datos:
UPDATE ps_configuration SET value = 'Estamos mejorando la tienda, gracias por tu paciencia' WHERE name = 'PS_MAINTENANCE_TEXT';
Consejos para un mantenimiento seguro
- Haz siempre una copia de seguridad antes de tocar la base de datos. En Syspanel tienes opciones de backup automáticas o manuales.
- Activa el mantenimiento antes de cualquier actualización de módulos, temas o núcleo de PrestaShop.
- Prueba la tienda en mantenimiento con tu IP autorizada antes de abrirla al público.
- Si trabajas con un equipo, asegúrate de que todos tengan sus IPs añadidas a la lista blanca.
- No dejes la tienda en mantenimiento más tiempo del necesario. Cuanto más tiempo pase, más ventas pierdes.
- Si vas a hacer cambios grandes en la base de datos (como importar productos o modificar pedidos), activa el mantenimiento durante todo el proceso.
Preguntas frecuentes (FAQ)
¿Puedo activar el mantenimiento solo para algunos países?
No, PrestaShop no lo permite de forma nativa. El modo de mantenimiento es global. Si necesitas restringir el acceso por país, necesitarás un módulo específico.
¿Qué pasa con los pedidos en curso durante el mantenimiento?
Los pedidos que ya están en proceso no se cancelan. La tienda simplemente no acepta nuevos pedidos mientras está en mantenimiento. Los clientes que ya han comprado pueden recibir sus productos con normalidad.
¿Es seguro desactivar el mantenimiento desde la base de datos?
Sí, siempre que sepas qué estás haciendo. Ejecutar la consulta UPDATE correcta es seguro. El riesgo está en ejecutar otras consultas por error o sin copia de seguridad.
¿Puedo ver mi tienda en mantenimiento desde mi móvil?
Sí, si añades la IP de tu conexión móvil a la lista blanca. Puedes hacerlo desde el panel o editando PS_MAINTENANCE_IP en la base de datos.
¿El mantenimiento afecta al SEO?
Si el mantenimiento dura poco tiempo (minutos u horas), no debería afectar significativamente al SEO. Pero si lo dejas días, los buscadores podrían indexar la página de mantenimiento y penalizarte. Es recomendable usar la cabecera HTTP 503 (Service Unavailable) mientras esté activo, algo que PrestaShop hace automáticamente en su página de mantenimiento.
Resumen rápido
| Acción | Desde el panel | Desde la base de datos |
|---|---|---|
| Activar mantenimiento | Parámetros avanzados > Rendimiento > Activar | UPDATE ps_configuration SET value = '0' WHERE name = 'PS_SHOP_ENABLE' |
| Desactivar mantenimiento | Parámetros avanzados > Rendimiento > Desactivar | UPDATE ps_configuration SET value = '1' WHERE name = 'PS_SHOP_ENABLE' |
| Añadir IP autorizada | En el panel, marcar "Mi IP" | Insertar IP en PS_MAINTENANCE_IP |
| Cambiar mensaje | Campo de texto en el panel | Actualizar PS_MAINTENANCE_TEXT |
Recuerda siempre adaptar el prefijo ps_ al que uses en tu instalación.
Conclusión
Saber cómo activar mantenimiento prestashop y cómo gestionarlo desde la base de datos es una habilidad básica pero fundamental para cualquier administrador de tiendas online. Te permite trabajar con seguridad, evitar errores visibles para tus clientes y recuperar el control si algo sale mal.
Tanto si usas el panel de administración como si tienes que recurrir a la base de datos, el proceso es simple y directo. Con esta guía ya tienes todo lo necesario para manejar el modo mantenimiento tienda online con total confianza.
Si tienes dudas o problemas, recuerda que puedes acceder a tu base de datos desde Syspanel en el puerto 2106 y usar phpMyAdmin para ejecutar las consultas. Y si algo no sale bien, siempre puedes restaurar una copia de seguridad.
¡Buena suerte con tu tienda y que el mantenimiento sea siempre corto y productivo!
