Solución a errores comunes en PrestaShop después de migrar hosting
¡Hola! Soy tu técnico de soporte amigable. Si has llegado hasta aquí es porque probablemente estás en medio de una migración de hosting para tu tienda PrestaShop y te has topado con algún que otro error. No te preocupes, es algo muy común. Migrar un sitio web, especialmente una tienda online con tantas piezas móviles como PrestaShop, puede parecer un rompecabezas, pero con la guía adecuada, es un proceso que puedes dominar.
En este artículo extenso, vamos a desglosar los errores PrestaShop más frecuentes que aparecen después de migrar hosting PrestaShop, y te daré las claves para solucionar PrestaShop de forma rápida y efectiva. Mi objetivo es que esta guía te sirva como tu manual de cabecera para resolver cualquier problemas PrestaShop post-migración. Así que, ¡manos a la obra!
El Gran Escape: ¿Por qué aparecen los errores después de migrar?
Antes de lanzarnos a las soluciones, es importante entender por qué ocurren estos fallos. Cuando mueves tu tienda de un servidor a otro, estás cambiando todo su "vecindario". La nueva casa (servidor) puede tener:
- Versiones diferentes de PHP (el lenguaje en el que está escrito PrestaShop).
- Configuraciones de base de datos distintas.
- Permisos de archivos más restrictivos o más abiertos.
- Módulos de servidor (Apache, Nginx) con configuraciones únicas.
Todo esto puede hacer que tu tienda, que funcionaba perfectamente, de repente se comporte de forma extraña. Pero no temas, cada error tiene su solución.
## Error #1: La Pantalla Blanca de la Muerte (WSOD)
Este es, sin duda, el más aterrador. Abres tu tienda y solo ves una página en blanco. No hay mensajes, no hay nada. Es como si tu tienda hubiera desaparecido.
### ¿Por qué ocurre?
Suele deberse a un error fatal de PHP que no se muestra por la configuración de errores. Las causas más comunes son:
- Versión de PHP incorrecta: Tu PrestaShop necesita una versión específica (por ejemplo, 7.4, 8.0, 8.1). Si el nuevo hosting usa una versión no compatible, se produce el error.
- Falta de memoria PHP (memory_limit): El script necesita más memoria de la que el servidor le permite usar.
- Módulo o tema corrupto: Durante la migración, algún archivo de un módulo o tema se dañó o no se subió correctamente.
### ¿Cómo solucionarlo? (Paso a paso)
-
Activar el modo debug de PrestaShop: Esta es la mejor manera de ver el error real.
- Conéctate a tu hosting mediante FTP o el administrador de archivos de tu panel (por ejemplo, Syspanel, el cual puedes acceder por el puerto 2106).
- Busca el archivo
config/defines.inc.phpen la raíz de tu instalación de PrestaShop. - Ábrelo con un editor de texto (como el Bloc de notas o Sublime Text).
- Busca la línea:
define('_PS_MODE_DEV_', false); - Cámbiala a:
define('_PS_MODE_DEV_', true); - Guarda el archivo y vuelve a cargar tu tienda. Ahora deberías ver un mensaje de error detallado con el culpable (por ejemplo, un error en un archivo de un módulo).
-
Ajustar la versión de PHP:
- Accede a tu panel de control de hosting (Syspanel en el puerto 2106).
- Busca la sección "Administrador de PHP" o "Versión de PHP".
- Selecciona una versión compatible con tu PrestaShop. Te recomiendo empezar con PHP 7.4 o 8.0, que son las más estables para la mayoría de versiones de PrestaShop 1.7 y 8.x.
-
Aumentar el límite de memoria PHP:
- En el mismo panel de control, busca "Configuración de PHP" o "PHP Settings".
- Busca el valor
memory_limity cámbialo a256Mo incluso512Mpara darle más aire a tu tienda.
[TIP] Si no encuentras estas opciones en tu panel, puedes crear un archivo llamado
php.inien la raíz de tu PrestaShop con el siguiente contenido:
memory_limit = 256M
max_execution_time = 120
- Desactivar módulos sospechosos:
- Si el error apunta a un módulo específico, la solución más rápida es desactivarlo. Puedes hacerlo desde la base de datos. Accede a phpMyAdmin (desde tu panel de control), busca la tabla
ps_modules(o el prefijo que uses) y cambia el valoractivede ese módulo a0.
- Si el error apunta a un módulo específico, la solución más rápida es desactivarlo. Puedes hacerlo desde la base de datos. Accede a phpMyAdmin (desde tu panel de control), busca la tabla
## Error #2: El Temido Error 500 (Internal Server Error)
Este error es un clásico. Es una respuesta genérica del servidor que indica que algo ha ido mal, pero no especifica qué.
### ¿Por qué ocurre?
- Archivo
.htaccessdañado o incompatible: Este archivo es crucial para las reglas de reescritura de URL (URL amigables) y seguridad. Al migrar, puede corromperse o no ser compatible con el nuevo servidor (especialmente si cambias de Apache a Nginx). - Permisos de archivos incorrectos: PrestaShop necesita ciertos permisos para leer y escribir archivos. Si son demasiado restrictivos, da error 500.
- Problemas con el archivo
settings.inc.php: Este archivo contiene la configuración de la conexión a la base de datos. Si los datos son incorrectos, el servidor falla.
### ¿Cómo solucionarlo?
-
Regenerar el archivo
.htaccess:- Conéctate por FTP y elimina (o renombra a
.htaccess_old) el archivo.htaccessque está en la raíz de tu PrestaShop. - Accede al panel de administración de tu tienda (Back Office). La URL sería algo como
tutienda.com/admin1234. - Ve a Configuración de la tienda > Parámetros generales.
- En la pestaña Configuración de SEO y URLs, haz clic en Guardar sin cambiar nada. Esto regenerará el archivo
.htaccessautomáticamente.
- Conéctate por FTP y elimina (o renombra a
-
Verificar y corregir permisos de archivos:
- Los permisos correctos para PrestaShop son:
- Carpetas: 755
- Archivos: 644
- Desde tu panel de control (Syspanel en el puerto 2106), busca la opción "Permisos de archivos" o "File Manager". Muchos paneles tienen una herramienta para "Fijar permisos" automáticamente.
- Si lo haces por FTP, selecciona la carpeta raíz y cambia los permisos de forma recursiva.
- Los permisos correctos para PrestaShop son:
-
Revisar el archivo
config/settings.inc.php:- Abre este archivo con un editor de texto.
- Asegúrate de que los datos de conexión a la base de datos sean correctos:
_DB_SERVER_: La dirección del servidor de base de datos (suele serlocalhosto una IP)._DB_NAME_: El nombre de tu base de datos._DB_USER_: El usuario de la base de datos._DB_PASSWD_: La contraseña del usuario.
- Si migraste la base de datos, estos valores deben coincidir con los que creaste en el nuevo hosting.
[WARNING] Nunca compartas el contenido de
settings.inc.phpcon nadie. Contiene las credenciales de tu base de datos.
## Error #3: "Base de datos no encontrada" o "Error de conexión a la base de datos"
Este error es muy claro: PrestaShop no puede conectar con su base de datos.
### ¿Por qué ocurre?
- Datos incorrectos en
settings.inc.php: El nombre de la base de datos, el usuario o la contraseña no son los correctos. - La base de datos no se importó correctamente: La importación desde el antiguo hosting falló o está incompleta.
- El servidor de base de datos no permite conexiones remotas: Si tu base de datos está en un servidor diferente al de tu web (algo poco común en hosting compartido), puede que no esté configurada para aceptar conexiones desde el nuevo servidor.
### ¿Cómo solucionarlo?
-
Verifica los datos de conexión: Repite el paso 3 del error anterior. Abre
config/settings.inc.phpy confirma que los datos son exactamente los que te proporcionó tu nuevo hosting. -
Re-importa la base de datos:
- Accede a phpMyAdmin en tu nuevo hosting.
- Selecciona la base de datos que creaste (debe estar vacía o puedes borrar las tablas existentes).
- Ve a la pestaña Importar.
- Selecciona el archivo
.sqlque exportaste de tu antiguo hosting (si no lo tienes, tendrás que hacer una nueva exportación desde el antiguo). - Haz clic en Continuar. Asegúrate de que el proceso termine sin errores.
[INFO] Si el archivo
.sqles muy grande (más de 50MB), es posible que tengas que subirlo por FTP a una carpeta temporal y luego importarlo desde la línea de comandos (SSH) o usando herramientas como BigDump. Pregunta a tu soporte técnico si pueden ayudarte con esto.
## Error #4: Imágenes Rotas o que no se ven
Las imágenes de productos, categorías o del tema no se cargan. Ves un icono de imagen rota.
### ¿Por qué ocurre?
- Rutas absolutas incorrectas: En la base de datos, las imágenes se guardan con la ruta completa del antiguo hosting (ej.
http://antiguo-host.com/img/p/1.jpg). Al migrar, esas rutas ya no existen. - Carpeta
imgno se migró correctamente: Faltan archivos o subdirectorios dentro de la carpetaimg. - Problemas con los permisos de la carpeta
img: El servidor web no puede leer las imágenes.
### ¿Cómo solucionarlo?
-
Regenerar las miniaturas de imágenes (thumbnails):
- Accede al Back Office de tu tienda.
- Ve a Diseño > Tema y logo > Avanzado.
- Busca la opción Regenerar miniaturas.
- Selecciona todas las opciones y haz clic en Regenerinar. Este proceso puede tardar unos minutos.
-
Verificar la carpeta
img:- Conéctate por FTP y asegúrate de que la carpeta
imgesté completa. Debe contener subcarpetas comop(productos),c(categorías),m(fabricantes), etc. - Si falta alguna, vuelve a subirla desde tu copia de seguridad.
- Conéctate por FTP y asegúrate de que la carpeta
-
Cambiar rutas absolutas en la base de datos (solución avanzada):
- Si el problema persiste, es posible que las rutas en la base de datos sigan apuntando al antiguo hosting. Esto es más común si usaste un plugin para migrar.
- Accede a phpMyAdmin y ejecuta una consulta SQL para reemplazar la URL antigua por la nueva. Por ejemplo:
UPDATE ps_configuration SET value = REPLACE(value, 'http://antiguo-host.com', 'https://nuevo-host.com') WHERE name LIKE '%PS_SHOP_DOMAIN%'; - ¡Ten mucho cuidado con esto! Si no te sientes seguro, pide ayuda a un profesional o al soporte técnico.
## Error #5: El Módulo "PrestaShop Check" o "Módulo de seguridad" da error
Después de migrar, el módulo de seguridad de PrestaShop puede mostrar advertencias sobre archivos modificados o faltantes.
### ¿Por qué ocurre?
- Archivos del núcleo (core) de PrestaShop modificados: Durante la migración, algunos archivos se dañaron o no se subieron.
- La carpeta
appovendorno se migró correctamente: Estas carpetas contienen las librerías y dependencias de PrestaShop.
### ¿Cómo solucionarlo?
-
Verificar la integridad de los archivos:
- Descarga una copia limpia de la misma versión de PrestaShop que tienes instalada desde el sitio oficial de PrestaShop.
- Descomprime el archivo en tu ordenador.
- Compara las carpetas
app,vendor,modulesythemes(solo los archivos del core, no los tuyos personalizados) con los de tu servidor. Puedes usar herramientas como WinMerge (Windows) o Meld (Linux/Mac) para facilitar la comparación. - Sube los archivos que falten o estén dañados desde la copia limpia.
-
Reinstalar los archivos del core (solución drástica):
- Si la comparación es muy compleja, la opción más segura es subir todos los archivos de la copia limpia de PrestaShop a tu servidor, sin sobrescribir la carpeta
imgni el archivoconfig/settings.inc.php. - Luego, ve al Back Office y el módulo de seguridad debería detectar que los archivos están correctos.
- Si la comparación es muy compleja, la opción más segura es subir todos los archivos de la copia limpia de PrestaShop a tu servidor, sin sobrescribir la carpeta
[TIP] Siempre es buena práctica mantener una copia de seguridad de tu instalación limpia de PrestaShop para futuras migraciones o reparaciones.
## Error #6: Problemas con el Carrito de Compras o el Proceso de Pago
Los clientes no pueden añadir productos al carrito, o el proceso de pago falla.
### ¿Por qué ocurre?
- Cookies del navegador desactualizadas: El navegador guarda información de la sesión anterior (del antiguo hosting) que entra en conflicto con la nueva configuración.
- Problemas con el módulo de pago: La configuración del módulo de pago (como PayPal, Stripe, etc.) puede haber cambiado o no ser compatible con el nuevo servidor.
- Errores en la configuración de SSL: Si tu nuevo hosting tiene un certificado SSL diferente, puede haber problemas de seguridad en la transmisión de datos.
### ¿Cómo solucionarlo?
-
Limpiar las cookies del navegador: Pide a tus clientes (o hazlo tú mismo para probar) que limpien las cookies y la caché del navegador. Muchas veces, este simple paso soluciona el problema.
-
Revisar la configuración de los módulos de pago:
- Ve al Back Office, a Módulos > Gestor de módulos.
- Busca tus módulos de pago y verifica que estén configurados correctamente. A veces, después de migrar, es necesario volver a introducir las claves API o los tokens de conexión.
-
Verificar la configuración de SSL:
- Asegúrate de que la URL de tu tienda en el Back Office (Configuración de la tienda > Parámetros generales) comience con
https://. - Verifica que tu certificado SSL esté correctamente instalado en el nuevo hosting. Puedes usar herramientas online como SSL Labs para comprobarlo.
- Asegúrate de que la URL de tu tienda en el Back Office (Configuración de la tienda > Parámetros generales) comience con
## Error #7: El Back Office no carga o va muy lento
Después de migrar, el panel de administración es inaccesible o extremadamente lento.
### ¿Por qué ocurre?
- Módulos incompatibles: Un módulo que funcionaba en el antiguo hosting puede no ser compatible con la nueva versión de PHP o del servidor.
- Caché corrupta: La caché de PrestaShop guarda archivos temporales que pueden estar dañados.
- Problemas con el servidor de correo: PrestaShop intenta enviar correos (para notificaciones, etc.) y si el servidor de correo no está bien configurado, puede ralentizar todo.
### ¿Cómo solucionarlo?
- Forzar la desactivación de todos los módulos no nativos:
- Conéctate a tu base de datos por phpMyAdmin.
- Busca la tabla
ps_modules(o el prefijo que tengas). - Ejecuta la siguiente consulta SQL para desactivar todos los módulos que no son de PrestaShop (los que tienen
id_modulemayor que un número, por ejemplo, mayor que 200):UPDATE ps_modules SET active = 0 WHERE
