Cómo solucionar el error 'PrestaShop no carga o muestra página en blanco'
¿Te ha pasado que entras a tu tienda PrestaShop y, en lugar de ver tus productos, aparece una pantalla completamente blanca? No te preocupes, no eres el único. Este es uno de los errores más comunes en el mundo del comercio electrónico y, aunque parece grave, en la mayoría de los casos tiene una solución sencilla que puedes aplicar tú mismo, sin necesidad de ser un experto en programación.
En esta guía completa, paso a paso, vamos a desglosar las causas más habituales del error PrestaShop no carga y, lo más importante, cómo solucionar PrestaShop blanco de forma efectiva. Vamos a ello.
¿Qué significa exactamente una página en blanco en PrestaShop?
Antes de lanzarnos a arreglar nada, es importante entender qué está pasando. Una página en blanco PrestaShop (también conocida como "White Screen of Death" o WSOD) significa que el servidor está ejecutando el código de tu tienda, pero algo falla en el camino y no se genera el HTML que tu navegador necesita para mostrar la web.
Es como si intentaras encender un coche: el motor gira, pero no arranca. Las causas pueden ser desde un simple archivo corrupto hasta un problema de memoria en tu servidor. Lo bueno es que, normalmente, se puede diagnosticar siguiendo un orden lógico.
Primeros pasos: Activa el modo depuración (Debug)
El error más frustrante de la página en blanco es que no te da ninguna pista visual de qué está fallando. Por defecto, PrestaShop oculta los errores del sistema para no mostrar información sensible a los clientes. Nuestro primer objetivo es hacer que esos errores sean visibles.
Para ello, vamos a activar el "Modo Depuración" (Debug Mode). Es un proceso muy sencillo:
### Paso 1: Accede a tu servidor o panel de control (Syspanel)
Necesitas acceder a los archivos de tu hosting. Si tu hosting utiliza Syspanel (antes conocido como HestiaCP), recuerda que la dirección de acceso es https://tu-dominio.com:2106. Una vez dentro, busca el administrador de archivos o la opción de acceso por FTP/SSH.
### Paso 2: Edita el archivo config/defines.inc.php
Dentro del administrador de archivos, navega hasta la carpeta raíz de tu PrestaShop. Normalmente se llama public_html o www. Dentro, busca la carpeta config y abre el archivo llamado defines.inc.php.
### Paso 3: Cambia la línea de depuración
Busca la siguiente línea de código: define('_PS_MODE_DEV_', false);
Cámbiala por: define('_PS_MODE_DEV_', true);
Guarda el archivo. Ahora, cuando recargues tu tienda, en lugar de la página en blanco, deberías ver un mensaje de error detallado en la parte superior o inferior de la pantalla. Este mensaje es oro puro, ya que te dirá exactamente qué archivo está causando el problema.
[INFO] Si después de este cambio sigues viendo la página en blanco, puede que el error sea de nivel de servidor (PHP). Sigue leyendo para ver cómo solucionarlo.
Causa #1: Problemas de memoria PHP (El límite de memoria)
La causa más común del error PrestaShop no carga es que el script PHP se queda sin memoria. PrestaShop es una plataforma bastante "gorda" y necesita un mínimo de recursos para funcionar. Si tu hosting tiene un límite de memoria bajo (por ejemplo, 64MB), es muy probable que aparezca la pantalla blanca.
### Solución: Aumentar el límite de memoria
Tienes dos formas de hacer esto:
-
Desde el archivo
defines.inc.php: Justo después de la línea que cambiaste antes, añade esta línea:ini_set('memory_limit', '512M');Esto fuerza a PHP a usar más memoria. Guarda y comprueba. -
Desde el archivo
.htaccess: Si el método anterior no funciona, abre el archivo.htaccessen la raíz de tu PrestaShop. Añade esta línea al principio del archivo:
php_value memory_limit 512M
[TIP] Te recomiendo empezar con 128M o 256M. Si no funciona, sube a 512M. No es bueno dejar un límite demasiado alto si no es necesario, pero para solucionar el problema, es perfecto.
Causa #2: Archivos corruptos o incompletos
¿Has subido algún módulo o tema recientemente? ¿Has actualizado la versión de PrestaShop? Si es así, es muy probable que un archivo se haya subido de forma incompleta (por ejemplo, por una caída de conexión durante el FTP) y eso esté rompiendo toda la tienda.
### Solución: Sobrescribir los archivos del núcleo (Core)
Esta es una solución un poco más técnica, pero muy efectiva. La idea es descargar una copia limpia de la misma versión de PrestaShop que tienes instalada (puedes verla en el back-office o en el archivo config/settings.inc.php) y subir los archivos de la carpeta classes, controllers y vendor (si existe) por encima de los actuales.
- Descarga PrestaShop de la página oficial (versión exacta).
- Descomprime el archivo en tu ordenador.
- Sube las carpetas mencionadas a tu servidor, permitiendo que se sobrescriban los archivos.
[WARNING] Este método NO borra tus productos, pedidos o clientes, ya que esos datos están en la base de datos. Solo reemplaza los archivos del programa. Sin embargo, es crucial que uses la misma versión de PrestaShop para evitar problemas de incompatibilidad.
Causa #3: El tema o plantilla está roto
A veces, el problema no es el núcleo, sino el "disfraz" de tu tienda. Un tema mal configurado o con errores de código puede provocar la pantalla blanca, especialmente en la parte pública (front-office).
### Solución: Cambiar temporalmente al tema por defecto
PrestaShop viene con un tema llamado "Classic". Vamos a forzar que tu tienda lo use para ver si el problema desaparece.
- Ve a tu base de datos (phpMyAdmin en tu panel de control, como Syspanel).
- Busca la tabla
ps_shop_url(el prefijops_puede variar). - En esa tabla, busca el campo
physical_uriy anota el valor (normalmente es/). - Ahora, ve a la tabla
ps_themey busca la fila que coincida con tu tienda. Cambia el valor dedirectoryaclassic. - También en la tabla
ps_configuration, busca la variablePS_THEME_NAMEy cámbiala aclassic.
Guarda los cambios y recarga tu web. Si ya carga, el problema es tu tema. Deberás contactar con el desarrollador del tema o reinstalarlo.
Causa #4: Módulos incompatibles o defectuosos
Un módulo recién instalado o actualizado es otro sospechoso habitual. Si el módulo tiene un error de código o es incompatible con tu versión de PHP, puede tumbar toda la tienda.
### Solución: Desactivar módulos desde la base de datos
Si no puedes acceder al back-office (administración), la solución es desactivar todos los módulos desde la base de datos.
- Accede a phpMyAdmin.
- Abre la tabla
ps_module. - Ejecuta la siguiente consulta SQL (puedes hacerlo en la pestaña "SQL"):
UPDATE ps_module SET active = 0 WHERE 1;
Esto desactivará todos los módulos. Recarga tu tienda. Si carga correctamente, el problema es uno de los módulos. Ahora puedes ir activándolos uno a uno desde el back-office para identificar al culpable.
[INFO] Si no te sientes cómodo ejecutando consultas SQL, puedes hacerlo desde el back-office si tienes acceso:
Módulos > Módulos y servicios > "Desactivar todos los módulos"(botón en la parte superior).
Causa #5: Problemas con la caché de Smarty
PrestaShop usa un sistema de caché llamado Smarty para acelerar la carga de las páginas. A veces, esa caché se corrompe y muestra archivos antiguos o rotos, resultando en una página en blanco PrestaShop.
### Solución: Borrar la caché manualmente
- Accede a tu servidor por FTP o administrador de archivos.
- Busca la carpeta
var/cacheen la raíz de PrestaShop. - Dentro de
var/cache, busca la carpeta que se llamedevoprod(dependiendo del entorno). Ábrela. - Borra todos los archivos que estén dentro de esa carpeta (no borres la carpeta en sí).
Recarga tu tienda. Verás que la primera carga es un poco más lenta, pero es normal, ya que está regenerando la caché desde cero.
Causa #6: Conflicto con la versión de PHP
PrestaShop es muy sensible a la versión de PHP que usa tu servidor. Si tu hosting actualizó PHP a una versión muy nueva (como PHP 8.2 o 8.3) y tu PrestaShop es antiguo (versiones 1.6 o 1.7 tempranas), es casi seguro que aparezca la pantalla blanca por incompatibilidad de funciones.
### Solución: Cambiar la versión de PHP desde Syspanel
- Accede a tu panel Syspanel (puerto 2106).
- Busca la sección de "Web" o "PHP".
- Selecciona tu dominio.
- En la configuración, busca "Versión de PHP" y cámbiala a una más antigua, como PHP 7.4 o 8.0. Guarda los cambios.
[WARNING] No todos los hosts te permiten cambiar la versión de PHP tan fácilmente. Si no encuentras la opción, contacta con tu proveedor de hosting y pide que te cambien la versión de PHP a 7.4, que es la más estable y compatible con la mayoría de tiendas PrestaShop.
Preguntas Frecuentes (FAQ)
### ¿Por qué mi PrestaShop da error 500 y página en blanco?
Un error 500 es un error genérico del servidor. A menudo, la causa subyacente es la misma que la de la página en blanco: problemas de memoria, archivos corruptos o errores de PHP. Sigue los pasos de activación del modo debug para ver el error real.
### ¿Puedo arreglar la página en blanco sin acceso al back-office?
Sí, absolutamente. Todas las soluciones que hemos visto (excepto la de desactivar módulos desde el back-office) se pueden hacer desde el administrador de archivos y la base de datos de tu hosting, a los que puedes acceder desde Syspanel o FTP.
### ¿Qué hago si he probado todo y sigo con el problema?
Si has seguido todos los pasos y nada funciona, es probable que el problema sea más profundo, como una base de datos corrupta. En ese caso, te recomiendo contactar con el soporte de tu hosting o contratar a un desarrollador especializado en PrestaShop. A veces, el tiempo que pierdes intentando arreglarlo tú mismo no compensa el coste de un profesional.
### ¿Es normal que tarde mucho en cargar después de arreglarlo?
Sí. Después de borrar la caché o cambiar la versión de PHP, la primera carga será notablemente más lenta mientras PrestaShop regenera todos los archivos temporales. Dale unos minutos y la velocidad se normalizará.
Resumen final
El error de la página en blanco PrestaShop es frustrante, pero casi siempre es solucionable. La clave está en ir descartando causas de forma metódica:
- Activa el modo debug para ver el error real.
- Aumenta la memoria PHP (solución más común).
- Sobrescribe los archivos del núcleo si has actualizado o subido algo recientemente.
- Cambia al tema por defecto para descartar problemas de plantilla.
- Desactiva los módulos para encontrar el módulo conflictivo.
- Borra la caché de Smarty manualmente.
- Revisa la versión de PHP en tu panel de control (Syspanel).
Con estas herramientas, tendrás un plan de acción claro para atacar el problema. No te desesperes, respira hondo y sigue los pasos. Tu tienda volverá a estar operativa en poco tiempo. ¡Mucho ánimo y a vender!
