Solución de errores comunes en PrestaShop después de migrar hosting
Migrar una tienda PrestaShop a un nuevo hosting puede parecer un desafío, pero con la guía adecuada, es un proceso que puedes resolver sin ser un experto técnico. Lo más común es que, después de mover los archivos y la base de datos, te encuentres con pantallas en blanco, errores de conexión o mensajes de advertencia. No te preocupes: la mayoría de estos problemas tienen una solución sencilla y directa.
En este artículo, vamos a repasar los errores más frecuentes que aparecen al migrar PrestaShop a un nuevo servidor, y te explicaré paso a paso cómo solucionarlos. Hablaremos de la base de datos, los archivos de configuración, los permisos y algunos ajustes clave del servidor. Al final, tendrás una checklist clara para que tu tienda vuelva a funcionar sin problemas.
1. Pantalla en blanco o error 500 después de la migración
Este es, sin duda, el error más frustrante. Subes todo, abres la web y solo ves una página en blanco o un mensaje como "500 Internal Server Error". Esto suele deberse a un problema en la configuración de la base de datos o a archivos corruptos durante la transferencia.
### 1.1. Verifica la conexión a la base de datos
El primer paso es revisar el archivo app/config/parameters.php (en PrestaShop 1.7 y superiores) o config/settings.inc.php (en versiones anteriores). Ahí se guardan los datos de acceso a la base de datos. Asegúrate de que coincidan con los de tu nuevo hosting.
- Nombre de la base de datos (database_name)
- Usuario (database_user)
- Contraseña (database_password)
- Servidor (database_host) – normalmente es "localhost", pero algunos hosting usan una dirección IP o un nombre como "mysql.tudominio.com".
[WARNING] Si cambiaste el nombre de la base de datos o el usuario en el nuevo hosting, debes actualizar este archivo manualmente. Un simple error tipográfico puede provocar la pantalla en blanco.
### 1.2. Revisa los permisos de archivos y carpetas
Los permisos incorrectos son otra causa común del error 500. PrestaShop necesita ciertos permisos para leer y escribir archivos (por ejemplo, para la caché o los módulos).
- Las carpetas deben tener permisos 755.
- Los archivos deben tener permisos 644.
Puedes cambiarlos desde el panel de control de tu hosting (como Syspanel, que se accede por el puerto 2106) o mediante un cliente FTP como FileZilla. Selecciona todas las carpetas y archivos, y ajusta los permisos de forma masiva.
[TIP] Si usas Syspanel, ve a "Archivos" > "Administrador de archivos", selecciona la carpeta raíz de tu tienda y en el menú de la derecha elige "Cambiar permisos". Es más rápido que hacerlo archivo por archivo.
### 1.3. Activa el modo debug para ver el error real
PrestaShop tiene un modo de depuración que muestra el error específico en lugar de la pantalla en blanco. Para activarlo:
- Accede a tu hosting por FTP o al administrador de archivos de Syspanel.
- Busca el archivo
config/defines.inc.php. - Edítalo y cambia la línea
define('_PS_MODE_DEV_', false);adefine('_PS_MODE_DEV_', true);. - Guarda el archivo y recarga tu tienda. Ahora verás el mensaje de error real (por ejemplo, "Tabla no encontrada" o "Clase no definida").
[INFO] Recuerda volver a poner
falseuna vez resuelto el problema, para no mostrar información sensible a los visitantes.
2. Errores de base de datos: tablas faltantes o incompatibilidad de versiones
Al migrar, es posible que algunas tablas de la base de datos no se hayan transferido correctamente, o que la versión de MySQL/MariaDB del nuevo hosting sea diferente y cause conflictos.
### 2.1. Verifica que todas las tablas se importaron
Después de importar tu base de datos en el nuevo hosting, es recomendable comprobar que no falte ninguna tabla. Puedes hacerlo desde phpMyAdmin (o la herramienta de bases de datos de Syspanel).
- Accede a tu base de datos.
- Busca en la lista de tablas. Normalmente PrestaShop tiene más de 200 tablas (el número exacto depende de los módulos instalados).
- Si ves alguna tabla con el estado "en uso" o "no encontrada", es posible que la importación se haya interrumpido.
Solución: Vuelve a exportar la base de datos desde el hosting anterior (usando mysqldump o phpMyAdmin) y luego impórtala de nuevo en el nuevo servidor. Asegúrate de que el archivo .sql no esté truncado (puedes abrirlo con un editor de texto y verificar que termine con /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;).
### 2.2. Compatibilidad de versiones de MySQL
PrestaShop 1.6 y versiones anteriores funcionan mejor con MySQL 5.x, mientras que PrestaShop 1.7 y 8.x requieren MySQL 5.6+ o MariaDB 10.1+. Si tu nuevo hosting tiene una versión muy nueva (por ejemplo, MySQL 8.0), podrías encontrar errores como "Unknown collation" o "Invalid default value".
- Solución rápida: Cambia el collation de la base de datos a
utf8_general_cioutf8mb4_general_cidesde phpMyAdmin. - Solución avanzada: Si el error persiste, edita el archivo de exportación .sql y busca líneas como
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4y cambiautf8mb4porutf8. Luego vuelve a importar.
[WARNING] No modifiques directamente la base de datos en producción sin hacer una copia de seguridad primero.
### 2.3. Error "Table 'ps_xxx' doesn't exist"
Este error suele aparecer cuando la migración no incluyó todas las tablas, o cuando el prefijo de las tablas es diferente. Por ejemplo, si tu hosting anterior usaba ps_ y el nuevo tiene prestashop_, debes ajustar la configuración.
- Abre el archivo
app/config/parameters.php(oconfig/settings.inc.php). - Busca la línea
'database_prefix' => 'ps_'y cámbiala por el prefijo correcto. - Guarda y vuelve a cargar la tienda.
3. Problemas con la URL y redireccionamientos
Después de migrar, es común que la tienda intente redirigir a la URL anterior, mostrando un error de dominio no encontrado o un bucle de redirección.
### 3.1. Actualiza la URL en la base de datos
PrestaShop guarda la URL de la tienda en varias tablas de la base de datos. Si cambiaste de dominio o de subdominio, debes actualizarla.
- Entra a phpMyAdmin y selecciona tu base de datos.
- Ejecuta la siguiente consulta SQL (reemplaza
tudominioanterior.compor el anterior ytudominionuevo.compor el nuevo):
UPDATE ps_configuration SET value = 'tudominionuevo.com' WHERE name IN ('PS_SHOP_DOMAIN', 'PS_SHOP_DOMAIN_SSL');
UPDATE ps_shop_url SET domain = 'tudominionuevo.com', domain_ssl = 'tudominionuevo.com';
[TIP] Si tu tienda usa SSL (https), asegúrate de que el dominio con SSL también esté actualizado. En algunos casos, también necesitas cambiar
PS_SHOP_DOMAIN_SSL.
### 3.2. Limpia la caché de PrestaShop
La caché guarda versiones antiguas de las URLs y puede causar redirecciones incorrectas.
- Desde el back office: Ve a "Parámetros de la tienda" > "Rendimiento" y haz clic en "Limpiar caché".
- Si no puedes acceder al back office, borra manualmente la carpeta
var/cache/(en PrestaShop 1.7) ocache/(en versiones anteriores) mediante FTP.
### 3.3. Verifica el archivo .htaccess
El archivo .htaccess en la raíz de tu tienda contiene reglas de redirección y URLs amigables. Si lo copiaste del hosting anterior, puede tener referencias al dominio antiguo.
- Abre el archivo
.htaccesscon un editor de texto. - Busca cualquier línea que contenga el dominio anterior y cámbiala por el nuevo.
- Guarda y sube el archivo de nuevo.
[INFO] Si no encuentras el archivo
.htaccess, asegúrate de que los archivos ocultos sean visibles en tu cliente FTP. En FileZilla, ve a "Servidor" > "Forzar mostrar archivos ocultos".
4. Errores de módulos y temas después de la migración
Algunos módulos o el tema pueden dejar de funcionar porque dependen de rutas absolutas o de extensiones de PHP que no están habilitadas en el nuevo hosting.
### 4.1. Verifica los requisitos de PHP
PrestaShop necesita ciertas extensiones de PHP. Las más comunes son: mysqli, gd, curl, openssl, mbstring, zip y json.
- Desde Syspanel (puerto 2106), ve a "Ajustes de PHP" o "Selector de PHP" y asegúrate de que todas las extensiones requeridas estén activadas.
- También puedes crear un archivo
info.phpen la raíz con el contenido<?php phpinfo(); ?>y acceder a él para ver qué extensiones están cargadas. Luego bórralo por seguridad.
### 4.2. Reinstala los módulos conflictivos
Si un módulo muestra error, a veces la solución más rápida es desinstalarlo y volver a instalarlo desde el back office. Si no puedes acceder al back office, renombra la carpeta del módulo en /modules/ (por ejemplo, de micodigo a micodigo_old) para que PrestaShop lo desactive automáticamente, y luego vuelve a instalarlo desde el panel de administración.
### 4.3. Compatibilidad del tema con la nueva versión de PHP
Los temas antiguos pueden no ser compatibles con PHP 7.4 o superior. Si ves errores de tipo "Deprecated" o "Fatal error", prueba a cambiar temporalmente a un tema por defecto (como "classic") para confirmar que el problema es del tema.
- Si el tema es el culpable, contacta al desarrollador para una actualización o busca un tema compatible con tu versión de PrestaShop.
5. Errores de conexión FTP o permisos en Syspanel
Si estás usando Syspanel (acceso por puerto 2106), ten en cuenta que la gestión de archivos y bases de datos es ligeramente diferente a otros paneles.
### 5.1. No puedo subir archivos grandes por FTP
Syspanel tiene un límite de tamaño para subidas por FTP. Si tu archivo de base de datos es muy grande (más de 100 MB), es mejor usar la herramienta de importación directa desde el panel.
- Accede a Syspanel en
https://tudominio.com:2106. - Ve a "Bases de datos" > "Selecciona tu base de datos" > "Importar".
- Sube el archivo .sql directamente. Syspanel acepta archivos de hasta 500 MB.
### 5.2. Error de permisos al instalar módulos
Si al instalar un módulo desde el back office recibes un error de permisos, es probable que la carpeta /modules no tenga los permisos correctos. Desde Syspanel, ve a "Archivos" > "Administrador de archivos", navega hasta la carpeta modules y asígnale permisos 755 recursivamente.
[WARNING] No pongas permisos 777 a ninguna carpeta, ya que es un riesgo de seguridad. 755 es suficiente para que PrestaShop escriba en ella.
6. Checklist final para una migración sin errores
Para evitar la mayoría de estos problemas, sigue esta lista antes de dar por terminada la migración:
- Copia de seguridad de archivos y base de datos del hosting anterior.
- Exporta la base de datos con el método adecuado (mysqldump o phpMyAdmin, evitando cortes).
- Crea la base de datos en el nuevo hosting con el mismo nombre y usuario (o actualiza parameters.php).
- Sube los archivos mediante FTP o el administrador de archivos de Syspanel.
- Importa la base de datos en el nuevo servidor.
- Actualiza la URL en la base de datos (consulta SQL).
- Revisa permisos de carpetas (755) y archivos (644).
- Limpia la caché de PrestaShop.
- Verifica la versión de PHP y extensiones requeridas.
- Prueba el front office y el back office.
Preguntas frecuentes (FAQ)
¿Por qué después de migrar veo "Error de conexión a la base de datos"?
Lo más probable es que los datos en app/config/parameters.php no coincidan con los del nuevo hosting. Revisa el nombre de la base de datos, usuario, contraseña y servidor.
¿Cómo sé si mi nuevo hosting es compatible con PrestaShop?
Consulta los requisitos oficiales: PHP 7.4+ (recomendado 8.1 para PrestaShop 8), MySQL 5.6+ o MariaDB 10.1+, y extensiones como mysqli, curl y gd. Syspanel suele tener un selector de PHP para ajustarlo.
¿Qué hago si el back office no carga pero el front office sí?
Puede ser un problema de redirección o de módulo conflictivo. Intenta acceder directamente a /admin1234/index.php (sustituye "admin1234" por tu carpeta de administración). Si funciona, limpia la caché y desactiva módulos uno por uno.
¿Pierdo los datos de mis clientes al migrar?
No, si haces una copia de seguridad completa de la base de datos y los archivos, y los importas correctamente, todos los datos (clientes, pedidos, productos) se conservan.
¿Es necesario cambiar algo en el archivo .htaccess?
Sí, sobre todo si cambiaste de dominio. Revisa que no haya referencias al dominio anterior y, si usas URLs amigables, asegúrate de que las reglas de reescritura sean correctas.
Con estos pasos y soluciones, podrás resolver la mayoría de los errores comunes en PrestaShop después de migrar de hosting. Recuerda siempre hacer una copia de seguridad antes de cualquier cambio y, si te atascas, no dudes en consultar la documentación oficial o el soporte de tu hosting. ¡Buena suerte con tu tienda!
