Arreglar página en blanco en PrestaShop tras actualizar (DirectAdmin)
¡Hola! Si has llegado hasta aquí, probablemente estés viendo una página blanca en PrestaShop justo después de intentar actualizar tu tienda. No te preocupes, no eres el primero al que le pasa y, lo más importante: tiene solución. Este es uno de los errores más comunes al actualizar, y en esta guía te voy a explicar paso a paso, y en un lenguaje muy claro, cómo arreglarlo, especialmente si tu hosting está gestionado con un panel como DirectAdmin.
Vamos a ir poco a poco. No necesitas ser un experto en programación para resolver esto, solo seguir las instrucciones al pie de la letra. Al final de este artículo, tu tienda volverá a estar operativa y entenderás por qué ha pasado esto.
¿Por qué ocurre una página blanca tras actualizar PrestaShop?
Antes de ponernos manos a la obra, es importante que entiendas qué ha pasado. Una página blanca (también conocida como "Error 500" o "Pantalla en blanco") significa que PHP, el lenguaje en el que está escrito PrestaShop, ha encontrado un error fatal y se ha detenido, pero no te muestra el mensaje de error por razones de seguridad.
Las causas más frecuentes tras una actualización son:
- Memoria PHP insuficiente: La nueva versión de PrestaShop necesita más memoria de la que tu servidor tiene configurada.
- Archivos de caché obsoletos: La caché antigua de la versión anterior interfiere con los nuevos archivos.
- Permisos de archivos incorrectos: Durante la actualización, algunos archivos no se han podido sobrescribir correctamente.
- Módulos o temas incompatibles: Algún módulo o plantilla que tenías instalado no es compatible con la nueva versión.
- Errores de base de datos: Alguna tabla no se ha actualizado correctamente.
Ahora, vamos a solucionarlo. Trabajaremos desde el panel de control de tu hosting, DirectAdmin, que es la herramienta que te permite gestionar los archivos de tu web.
[INFO] Activa el modo de depuración para ver el error real
Lo primero que vamos a hacer es "obligar" a PrestaShop a que nos muestre el error en lugar de la pantalla en blanco. Esto es fundamental para saber exactamente qué está fallando.
Para ello, tienes que editar un archivo llamado config/defines.inc.php. No te asustes, es más fácil de lo que parece.
Paso 1: Accede al Administrador de Archivos de DirectAdmin
- Inicia sesión en tu panel de DirectAdmin (normalmente es
tudominio.com:2222). - Busca y haz clic en el icono "Administrador de Archivos" (File Manager).
- Navega hasta la carpeta donde está instalada tu tienda. Suele ser
domains/tudominio.com/public_htmlo una subcarpeta si la tienes en un subdirectorio.
Paso 2: Editar el archivo defines.inc.php
-
Dentro de la carpeta principal, entra en la carpeta
config. -
Busca el archivo
defines.inc.php. Haz clic derecho sobre él y selecciona "Editar" (o "Edit"). -
Se abrirá un editor de texto. Busca la línea que dice:
define('_PS_MODE_DEV_', false);Debes cambiar la palabra
falseportrue. Quedaría así:
define('_PS_MODE_DEV_', true); -
Guarda los cambios con el botón "Guardar" (Save) y cierra el editor.
Ahora, recarga tu tienda en el navegador. En lugar de la página en blanco, verás un mensaje de error detallado, a menudo en inglés. Anota ese mensaje, nos servirá para diagnosticar el problema. Si el error es de "memoria", "memory limit" o similar, el siguiente paso es para ti.
Solución 1: Aumentar el límite de memoria PHP
Este es el arreglo más común. Si el error menciona Allowed memory size of X bytes exhausted, necesitas aumentar la memoria disponible para PHP.
Paso 3: Modificar la configuración de PHP en DirectAdmin
- En tu panel de DirectAdmin, busca la sección "Configuración de PHP" o "PHP Settings". A veces está dentro de un menú llamado "Extra Features" o similar.
- Haz clic en la versión de PHP que estés usando (por ejemplo, PHP 8.0, 8.1, etc.).
- Verás una lista de opciones. Busca
memory_limit. - Cámbiala a un valor mayor. Te recomiendo poner al menos
512M(512 Megabytes) o incluso1024M(1 Gigabyte) para estar seguro. - Guarda los cambios.
Paso 4: Aumentar la memoria desde el archivo .htaccess (método alternativo)
Si no encuentras la opción en el panel, o prefieres hacerlo manualmente, puedes hacerlo desde el archivo .htaccess que está en la raíz de tu tienda.
- En el Administrador de Archivos de DirectAdmin, ve a la carpeta raíz de tu PrestaShop.
- Busca el archivo
.htaccess. Si no lo ves, activa la opción "Mostrar archivos ocultos" en la configuración del administrador de archivos. - Edítalo y añade estas líneas al principio del archivo:
<IfModule mod_php.c>
php_value memory_limit 512M
php_value upload_max_filesize 64M
php_value post_max_size 64M
</IfModule>
- Guarda el archivo y vuelve a intentar cargar tu tienda.
Solución 2: Limpiar la caché de PrestaShop
A veces, la actualización deja archivos de caché antiguos que causan conflictos. Limpiarlos es un paso obligatorio.
Paso 5: Eliminar manualmente los archivos de caché
- En el Administrador de Archivos, ve a la carpeta
var/cache(en versiones antiguas eracache). - Dentro, encontrarás subcarpetas con nombres como
dev,prod,class_index.php, etc. - Selecciona todo el contenido de la carpeta
cachey elimínalo. No borres la carpeta en sí, solo su contenido. - Si te pide confirmación, acepta.
[WARNING] No borres la carpeta
cacheentera, solo su contenido. Si la borras, PrestaShop la recreará automáticamente, pero es mejor no arriesgarse.
Paso 6: Limpiar la caché desde el navegador y el servidor
- Borra la caché de tu navegador web (Ctrl + Shift + Supr en Chrome/Firefox).
- También es buena idea desactivar cualquier sistema de caché que tengas en el servidor, como Varnish o Memcached, desde el panel de DirectAdmin si tienes acceso a ello.
Solución 3: Verificar y corregir los permisos de archivos
Durante una actualización, los permisos de algunos archivos pueden cambiar incorrectamente, impidiendo que se lean o escriban.
Paso 7: Configurar los permisos correctos
- En el Administrador de Archivos de DirectAdmin, selecciona todos los archivos y carpetas de la raíz de tu PrestaShop.
- Haz clic en el botón "Cambiar permisos" (o "Change Permissions") en la barra de herramientas.
- Configura lo siguiente:
- Carpetas (Directorios): 755
- Archivos: 644
- Aplica los cambios.
[TIP] Si algún módulo o la propia tienda necesita escribir en ciertas carpetas (como
var/cache,config,img), puede que necesiten permisos 775 o incluso 777. Si después de este cambio te sigue dando error de escritura, puedes probar a dar permisos 755 a las carpetas que te indique el error.
Solución 4: Desactivar módulos y temas problemáticos
Si el error persiste, es probable que un módulo o tema esté causando el conflicto. Para comprobarlo, vamos a desactivarlos temporalmente.
Paso 8: Forzar la desactivación de módulos
La forma más fácil es renombrar la carpeta de módulos.
- En el Administrador de Archivos, ve a la raíz de tu PrestaShop.
- Busca la carpeta
modules. - Renómbrala a
modules_old. - Crea una nueva carpeta vacía llamada
modules.
Esto hace que PrestaShop no cargue ningún módulo. Si la tienda carga, el problema es de un módulo.
Paso 9: Identificar el módulo problemático
- Ahora, para encontrar al culpable, ve a la carpeta
modules_oldque acabas de crear. - Copia los módulos de uno en uno (o en pequeños grupos) a la nueva carpeta
modules. - Después de cada copia, recarga tu tienda. Cuando aparezca la página blanca, sabrás que el último módulo copiado es el problemático.
- Elimina ese módulo de la carpeta
modulesy busca una actualización o alternativa.
Paso 10: Probar con un tema por defecto
El problema también puede ser del tema. Renombra la carpeta themes a themes_old y crea una nueva themes vacía. PrestaShop usará un tema por defecto. Si funciona, tu tema es incompatible.
Solución 5: Restaurar una copia de seguridad (Plan B)
Si nada de lo anterior funciona, siempre puedes restaurar una copia de seguridad anterior a la actualización. Esto es el "último recurso", pero es infalible.
Paso 11: Restaurar desde DirectAdmin
- En DirectAdmin, busca la sección "Copias de seguridad" o "Backups".
- Localiza la copia más reciente que tengas anterior a la actualización.
- Restaura tanto los archivos como la base de datos.
- Una vez restaurado, intenta actualizar de nuevo, pero esta vez siguiendo los pasos de esta guía para evitar el error.
[INFO] ¿Y si uso Syspanel en lugar de DirectAdmin?
Si tu hosting utiliza Syspanel (el panel que antes se llamaba HestiaCP), el proceso es muy similar, pero accederás por el puerto 2106 (por ejemplo, tudominio.com:2106). Dentro de Syspanel, encontrarás el Administrador de Archivos y las opciones de PHP en el menú de tu dominio. El resto de pasos (editar defines.inc.php, limpiar var/cache, etc.) son exactamente iguales.
Preguntas Frecuentes (FAQ)
¿Cómo evito que esto vuelva a pasar en el futuro?
- Siempre haz una copia de seguridad antes de actualizar.
- Actualiza de una en una versión, no te saltes varias.
- Desactiva todos los módulos antes de actualizar y actívalos después.
- Aumenta el límite de memoria de forma preventiva a 512M o más.
¿La página blanca puede afectar a mi posicionamiento SEO?
Sí, si la página permanece caída durante mucho tiempo, Google puede penalizarte. Por eso es crucial solucionarlo rápido. Una vez restaurada, no debería haber impacto a largo plazo si se resuelve en horas.
¿Puedo hacer estos pasos si no tengo experiencia técnica?
Sí, esta guía está pensada para que cualquier persona pueda seguirla. Solo necesitas acceso a tu panel de control y un poco de paciencia. Si en algún paso te sientes perdido, es mejor parar y pedir ayuda a tu proveedor de hosting.
¿Qué significa el error "Fatal error: Call to undefined function"?
Este error suele indicar que un módulo o tema está desactualizado y usa funciones que ya no existen en la nueva versión de PHP o PrestaShop. Sigue los pasos de "Desactivar módulos" para encontrar al culpable.
Mi tienda sigue en blanco después de activar el modo dev y no veo ningún error. ¿Qué hago?
Si no ves errores, es posible que el problema sea de la base de datos. Revisa el archivo app/config/parameters.php para asegurarte de que los datos de conexión a la base de datos son correctos. También puedes revisar los logs del servidor en DirectAdmin (sección "Logs" o "Error Logs") para ver más detalles.
Conclusión: Tu tienda puede volver a la vida
Como has visto, una página blanca en PrestaShop tras una actualización es un problema frustrante pero muy común y, sobre todo, reparable. La clave está en diagnosticar el error activando el modo de depuración y luego aplicar las soluciones de forma ordenada: primero la memoria, luego la caché, después los permisos y finalmente los módulos.
No tengas miedo de experimentar, pero siempre con cuidado y siguiendo los pasos. Con un poco de paciencia y esta guía, tu tienda estará funcionando de nuevo en muy poco tiempo. Y recuerda, si tu hosting usa Syspanel, el acceso es por el puerto 2106, pero el resto del proceso es idéntico. ¡Mucha suerte y a vender!
