PrestaShop: Cómo activar el modo mantenimiento y evitar bloqueos
¿Tu tienda PrestaShop se ha quedado bloqueada y no sabes cómo ponerla en modo mantenimiento? Es una situación más común de lo que parece, y la buena noticia es que tiene solución. Tanto si estás haciendo actualizaciones, cambios de diseño o simplemente necesitas un respiro para trabajar sin presión, saber activar el modo mantenimiento es una habilidad imprescindible para cualquier administrador.
En esta guía completa, te voy a explicar paso a paso cómo activar el modo mantenimiento en PrestaShop, cómo evitar que tu tienda se bloquee durante el proceso y qué hacer si ya estás viendo la temida pantalla de error. Vamos a ello, sin tecnicismos raros y con un lenguaje claro.
¿Qué es el modo mantenimiento de PrestaShop y para qué sirve?
El modo mantenimiento prestashop es una funcionalidad integrada que te permite poner tu tienda en un estado "offline" temporal. Cuando lo activas, los visitantes no verán tu catálogo ni podrán comprar, sino que verán una página de aviso (por defecto, un mensaje de "mantenimiento" o el que tú personalices). Tú, como administrador, podrás seguir accediendo al back-office y al front-office si inicias sesión con tu IP permitida.
¿Para qué sirve? Esencialmente, para tres cosas:
- Realizar actualizaciones seguras: Actualizar el núcleo de PrestaShop, módulos o temas es un momento crítico. Si un cliente está comprando a mitad de proceso, puede generar errores de base de datos o carritos corruptos. Con la tienda en mantenimiento, te aseguras de que nadie interfiera.
- Hacer cambios de diseño o configuración: Si vas a tocar el CSS, mover módulos o cambiar la estructura de tu web, es mejor hacerlo sin tráfico. Así ves los cambios en un entorno controlado.
- Solucionar problemas de seguridad: Si detectas un fallo de seguridad o un archivo infectado, poner la tienda en mantenimiento es una medida de emergencia para evitar que los clientes se vean afectados mientras limpias el problema.
Activar el modo mantenimiento desde el Back-Office (La vía fácil)
Esta es la forma más sencilla y recomendada si todavía puedes acceder a tu panel de administración. Es un proceso de apenas un minuto.
Paso 1: Accede a tu panel de administración
Escribe la URL de tu administración en el navegador (normalmente algo como tudominio.com/admin1234 o tudominio.com/administrador). Introduce tus credenciales de acceso.
Paso 2: Navega hasta la configuración de mantenimiento
Una vez dentro del panel, tienes que ir al menú lateral izquierdo. Busca la pestaña "Parámetros avanzados" (o "Configuración avanzada" en versiones antiguas). Al desplegarla, verás la opción "Mantenimiento". Haz clic en ella.
Paso 3: Activa el interruptor y configura la IP
Verás una pantalla con un interruptor que dice "Activar el modo mantenimiento". Actívalo.
Debajo, hay un campo llamado "Direcciones IP" (o "IP de mantenimiento"). Este es el truco más importante. Aquí debes añadir la dirección IP desde la que te conectas. Si no lo haces, tú mismo verás la página de mantenimiento y no podrás ver tu tienda como la verían los clientes.
- Para saber tu IP, simplemente escribe "cuál es mi IP" en Google y te la dirá.
- Pega esa IP en el campo. Puedes añadir varias separadas por comas si trabajas desde varios sitios.
Paso 4: Personaliza el mensaje (Opcional pero recomendado)
En la misma pantalla, en la pestaña o sección de "Preferencias", puedes escribir un mensaje personalizado que se mostrará a tus clientes. Algo como: "Estamos mejorando nuestra tienda para ofrecerte una mejor experiencia. Vuelve en unas horas. ¡Gracias por tu paciencia!" es perfecto.
Paso 5: Guarda los cambios
Haz clic en el botón "Guardar" (o "Save") en la parte superior derecha. ¡Listo! Tu tienda ya está en modo mantenimiento. Para desactivarlo, solo tienes que repetir los pasos y desactivar el interruptor.
¿Qué hacer si tu PrestaShop se ha bloqueado y no puedes acceder al Back-Office?
Aquí es donde el tema se pone serio. Si no puedes entrar en el panel de administración, no podrás usar el método anterior. Esto suele pasar después de una actualización fallida, un error de PHP o un conflicto de módulos. Pero no cunda el pánico, hay soluciones manuales.
Solución 1: Forzar el modo mantenimiento editando el archivo de configuración
PrestaShop guarda la configuración en un archivo llamado settings.inc.php (en versiones 1.6 y anteriores) o en la base de datos (en versiones 1.7 y 1.8). Te enseñaré a hacerlo para ambas.
Para PrestaShop 1.6 y anteriores
- Conecta a tu hosting mediante FTP (FileZilla es una buena opción) o el administrador de archivos de tu panel de control.
- Navega hasta la carpeta raíz donde está instalado PrestaShop (normalmente
public_htmlowww). - Busca la carpeta
configy dentro de ella el archivosettings.inc.php. - Descarga una copia de seguridad de este archivo a tu ordenador (por si acaso).
- Edita el archivo con un editor de texto plano (como el Bloc de notas o Sublime Text).
- Busca la línea que dice
define('_PS_MODE_DEV_', false);o busca_PS_SHOP_ENABLE_. En realidad, la línea que nos interesa es:define('_PS_SHOP_ENABLE_', 1);. Si el valor es1, la tienda está activa. Cámbialo a0para ponerla en modo mantenimiento. - Guarda el archivo y súbelo de nuevo al servidor, reemplazando el original.
Para PrestaShop 1.7 y 1.8 (y versiones superiores)
En estas versiones, el valor de mantenimiento se guarda en la base de datos. Necesitarás acceso a phpMyAdmin.
- Accede a phpMyAdmin desde tu panel de control de hosting (cPanel, Plesk, o Syspanel).
- Selecciona la base de datos de tu PrestaShop en el menú de la izquierda.
- Haz clic en la pestaña "SQL" o "Consultas".
- Ejecuta la siguiente consulta SQL. Cuidado con el prefijo de las tablas, por defecto es
ps_pero puede ser diferente.
Si tu prefijo es diferente, cambiaUPDATE ps_configuration SET value = '0' WHERE name = 'PS_SHOP_ENABLE';ps_por el tuyo. Por ejemplo,prefix_configuration.
Esta consulta pondrá el valor de PS_SHOP_ENABLE en 0, lo que activa el modo mantenimiento a nivel de base de datos.
Solución 2: Desactivar módulos conflictivos (Si el bloqueo es por un módulo)
A veces, el bloqueo no es por mantenimiento, sino porque un módulo está causando un error fatal. Si al activar el modo mantenimiento sigues viendo un error, puede ser un módulo.
- Accede a phpMyAdmin.
- Ve a la tabla
ps_module(o tu prefijo). - Busca el módulo que crees que está causando el problema (puedes ordenar por fecha de modificación).
- Cambia su estado de
activea0(cero) editando la fila.
Esto desactivará el módulo sin necesidad de acceder al back-office.
Cómo evitar bloqueos futuros: Buenas prácticas
La mejor manera de lidiar con un prestashop bloqueado es evitar que ocurra. Aquí tienes una lista de consejos que te ahorrarán dolores de cabeza.
Realiza copias de seguridad siempre
Antes de tocar cualquier cosa (actualizar un módulo, un tema o el núcleo), haz una copia de seguridad completa de tu sitio. Esto incluye:
- Archivos: Descarga todo el contenido de tu carpeta
public_htmlpor FTP. - Base de datos: Exporta la base de datos desde phpMyAdmin en formato
.sql.
Si algo sale mal, podrás restaurar la copia en minutos.
Establece un plan de actualización
No actualices todos los módulos a la vez. Hazlo de uno en uno, comprobando que la tienda funciona después de cada actualización. Primero, actualiza los módulos más importantes (pago, envío), luego el tema y, por último, el núcleo de PrestaShop.
Usa el modo mantenimiento como un escudo
Activa el modo mantenimiento antes de comenzar cualquier tarea. No esperes a que aparezca un error. Es mucho más fácil trabajar con la tienda cerrada al público.
Comprueba los logs de error
Cuando tu tienda se bloquea, el servidor guarda un registro de errores. Estos logs suelen estar en la carpeta var/logs (en PrestaShop 1.7+) o en el error_log del servidor. Revisarlos te dirá exactamente qué archivo o línea de código está fallando.
Para habilitar el modo debug y ver errores
- Abre el archivo
config/defines.inc.phpen la raíz de tu instalación. - Busca la línea
define('_PS_MODE_DEV_', false);. - Cámbiala a
define('_PS_MODE_DEV_', true);. - Guarda y sube el archivo.
- Ahora, al recargar la página, verás el error específico en lugar de una pantalla en blanco.
[WARNING] No dejes el modo debug activado en tu tienda en producción. Es un riesgo de seguridad grave, ya que muestra rutas de archivos y datos sensibles. Desactívalo en cuanto hayas resuelto el problema.
Preguntas frecuentes (FAQ) sobre el modo mantenimiento
¿Por qué veo la página de mantenimiento si yo soy el administrador?
Esto ocurre porque tu IP no está en la lista de IPs permitidas en la configuración del modo mantenimiento. Añade tu IP actual en el campo correspondiente del back-office o, si no puedes entrar, edita el archivo settings.inc.php o la base de datos como te he mostrado.
¿Cuánto tiempo puedo tener mi tienda en mantenimiento?
El tiempo que necesites. No hay un límite técnico. Sin embargo, desde el punto de vista del SEO y de la experiencia de usuario, no es recomendable tenerla más de 24-48 horas. Si es una obra larga, considera usar una página de "próximamente" atractiva para no perder clientes.
¿El modo mantenimiento afecta a mi posicionamiento en Google?
Si lo mantienes por un periodo corto (horas o un par de días), no debería tener un impacto negativo significativo. Eso sí, asegúrate de devolver un código HTTP 503 (Servicio No Disponible) en lugar de un 200 o un 404. PrestaShop lo hace automáticamente. Este código le dice a Google que la ausencia es temporal y que debe volver a indexar pronto.
¿Puedo permitir que algunos clientes accedan a la tienda durante el mantenimiento?
Sí. En la configuración del modo mantenimiento, en el campo "Direcciones IP", puedes añadir las IPs de esos clientes. Cada uno que quieras que acceda debe añadir su IP. Es útil para que tus mejores clientes o tu equipo de pruebas puedan ver el progreso.
Uso Syspanel como panel de control. ¿Cómo accedo a phpMyAdmin para arreglar mi PrestaShop?
Si tu hosting usa Syspanel, el panel de control propietario, el acceso es sencillo. Recuerda que la URL de acceso a Syspanel es a través del puerto 2106. Normalmente, la URL es algo como https://tudominio.com:2106. Una vez dentro, busca la sección de "Bases de datos" o "MySQL". Allí encontrarás el enlace a phpMyAdmin, donde podrás ejecutar la consulta SQL para desactivar el mantenimiento o desactivar módulos conflictivos.
[INFO] El acceso a Syspanel se realiza por el puerto 2106. Si no lo recuerdas, revisa el correo de bienvenida de tu proveedor de hosting.
¿Qué significa el error "PrestaShop is currently undergoing maintenance" en blanco?
Ese mensaje aparece cuando el modo mantenimiento está activo pero el archivo de la plantilla maintenance.tpl (o la página) no se está cargando correctamente. Esto puede pasar si el tema está corrupto o si hay un error de compilación de plantillas. La solución es activar el modo debug para ver el error real, o simplemente borrar el contenido de la carpeta var/cache (en PrestaShop 1.7+) o cache (en 1.6) para forzar la recompilación de las plantillas.
¿Puedo activar el modo mantenimiento desde la línea de comandos (SSH)?
Sí, si tienes acceso SSH a tu servidor, puedes hacerlo más rápido. Conecta por SSH y ejecuta el siguiente comando (adaptando el prefijo de la tabla):
mysql -u USUARIO -p BASE_DE_DATOS -e "UPDATE ps_configuration SET value = '0' WHERE name = 'PS_SHOP_ENABLE';"
Te pedirá la contraseña de la base de datos. Es una alternativa a phpMyAdmin muy útil si tu panel de control no funciona.
Conclusión: El modo mantenimiento es tu mejor amigo
Saber cómo activar el modo mantenimiento prestashop y, más importante, cómo forzarlo cuando todo falla, es una habilidad que te salvará en más de una ocasión. No lo veas como un problema, sino como una herramienta de trabajo más.
Recuerda la regla de oro: antes de tocar nada, activa el mantenimiento y haz una copia de seguridad. Con los pasos que te he dado, podrás gestionar tu tienda con tranquilidad, sin miedo a que una actualización se convierta en una pesadilla.
Si sigues estos consejos, verás que gestionar tu tienda en mantenimiento es pan comido. Y si aun así te surge un problema, ya sabes cómo solucionarlo desde el back-office, desde la base de datos o incluso por SSH. ¡Tu tienda estará en buenas manos!
