Solución a los 5 errores más comunes en PrestaShop al migrar de servidor
Mudar tu tienda PrestaShop a un servidor nuevo es como hacer una mudanza real: emocionante por el nuevo hogar, pero lleno de cajas que pueden romperse si no las manejas con cuidado. A menudo, el problema no es el destino, sino los pequeños detalles que se olvidan en el camino.
Si estás aquí porque ves una pantalla blanca, un error de conexión a la base de datos o enlaces rotos, respira hondo. No has roto nada irreparable. En este artículo, vamos a desglosar los 5 errores más comunes al migrar PrestaShop y, lo más importante, cómo solucionar PrestaShop paso a paso, incluso si no eres un experto en hosting.
Vamos a ponernos el cinturón y a revisar el motor antes de arrancar.
1. El Error de Conexión a la Base de Datos (El Clásico)
Este es, sin duda, el error más temido y el más frecuente. Te aparece una pantalla roja o un mensaje que dice algo como "Link to database cannot be established" o "Error de conexión con la base de datos".
¿Por qué ocurre?
Imagina que tu web es un edificio y la base de datos es el sótano donde están todos los archivos importantes. Al migrar, has copiado el edificio (los archivos) pero has cambiado la cerradura del sótano (la contraseña) o has movido el sótano a otra dirección (el servidor de base de datos). Tu PrestaShop sigue intentando abrir con la llave vieja.
Esto sucede porque el archivo de configuración de PrestaShop, llamado parameters.php, guarda los datos de acceso a la base de datos del servidor anterior.
La solución paso a paso
-
Accede a tu hosting vía FTP o desde el administrador de archivos de tu panel de control (cPanel, Plesk, etc.).
-
Navega hasta la carpeta
app/config/. -
Busca el archivo
parameters.php. Antes de tocarlo, descarga una copia de seguridad a tu ordenador por si acaso. -
Ábrelo con un editor de texto plano (como el Bloc de notas o Sublime Text). No uses Word.
-
Verás algo como esto:
'database_host' => 'localhost', 'database_name' => 'usuario_bd_antigua', 'database_user' => 'usuario_antiguo', 'database_password' => 'contraseña_antigua', -
Ahora, ve a tu nuevo panel de control del hosting (donde creaste la base de datos) y copia los nuevos valores de nombre, usuario y contraseña.
-
Sustituye los valores antiguos por los nuevos en el archivo. El host normalmente es
localhost, pero si tu nuevo servidor usa una dirección remota (comomysql.tudominio.com), asegúrate de cambiarlo también. -
Guarda el archivo y súbelo de nuevo a la carpeta
app/config/, sobrescribiendo el original.
[WARNING] Asegúrate de que el usuario de la base de datos tenga todos los privilegios sobre la base de datos (SELECT, INSERT, UPDATE, DELETE, CREATE, etc.). Si solo tiene permisos de lectura, la tienda cargará pero no podrás hacer pedidos.
2. La Pantalla Blanca o Error 500 (El Misterio)
La temida "pantalla blanca de la muerte" o un escueto "Error 500: Internal Server Error". Esto es frustrante porque no te da ninguna pista visual de qué está mal.
¿Por qué ocurre?
Las causas más comunes son:
- Permisos de archivos incorrectos: En el servidor antiguo los archivos tenían un "dueño" y unos permisos. Al subirlos al nuevo servidor, estos permisos pueden no ser válidos.
- Versión de PHP incompatible: Tu tienda funcionaba con PHP 7.4 y el nuevo servidor tiene PHP 8.0 o 8.1. PrestaShop es sensible a esto.
- Cache corrupta: Durante la migración, los archivos de caché se copiaron de forma incompleta.
La solución paso a paso
-
Activa el modo debug de PrestaShop para ver el error real. Edita el archivo
config/defines.inc.phpy busca esta línea:define('_PS_MODE_DEV_', false);Cámbiala a:
define('_PS_MODE_DEV_', true);Guarda y recarga la web. Ahora verás un mensaje de error detallado en lugar de la pantalla blanca.
-
Revisa los permisos de las carpetas. Los permisos correctos para la mayoría de carpetas en PrestaShop son 755 y para los archivos 644. La carpeta
var/cache(ocacheen versiones antiguas) yvar/logsdeben tener permisos 755 o incluso 775 para que el servidor pueda escribir en ellas. -
Borra la caché manualmente. Conecta por FTP y elimina todo el contenido de la carpeta
var/cache(en PrestaShop 1.7+) ocache/smarty/compileycache/smarty/cache(en versiones 1.6). No borres la carpeta en sí, solo su interior. -
Comprueba la versión de PHP. Si el error persiste, ve al panel de control de tu hosting y cambia la versión de PHP a una que sea compatible con tu versión de PrestaShop. Para PrestaShop 1.7, PHP 7.4 suele ser la opción más segura.
[TIP] Si no puedes acceder al panel para cambiar PHP, contacta con el soporte de tu nuevo hosting y pídeles que lo cambien a PHP 7.4.
3. Enlaces Rotos y Rutas Incorrectas (El Laberinto)
Tu tienda carga, pero las imágenes no se ven, los enlaces llevan a páginas que no existen o el CSS está "roto" (la web se ve sin estilos).
¿Por qué ocurre?
PrestaShop guarda la URL absoluta de la tienda en su base de datos. Si migraste de miviejaweb.com a miviejaweb.com/tienda o a miviejaweb.com, estas rutas antiguas quedan grabadas a fuego.
La solución paso a paso
-
Accede a tu base de datos desde el panel de control del hosting (phpMyAdmin normalmente).
-
Selecciona la base de datos de tu PrestaShop.
-
Ve a la pestaña SQL (o "Consultas").
-
Ejecuta la siguiente consulta SQL. Reemplaza
www.miviejaweb.compor tu dominio antiguo ywww.mivienuevaweb.compor el nuevo.UPDATE ps_shop_url SET domain='www.mivienuevaweb.com', domain_ssl='www.mivienuevaweb.com', physical_uri='/' WHERE id_shop=1; -
Importante: Si tu tienda está en una subcarpeta (ej:
mivienuevaweb.com/tienda), cambiaphysical_uria/tienda/. -
Ahora, ve a la tabla
ps_configurationy busca las entradasPS_SHOP_DOMAINyPS_SHOP_DOMAIN_SSL. Actualízalas con el nuevo dominio. -
Limpia la caché de nuevo (como en el punto anterior) y recarga.
[INFO] El prefijo ps_ es el predeterminado. Si en tu instalación usaste otro prefijo (como shop_), tendrás que sustituirlo en la consulta SQL.
4. El Problema con el Archivo .htaccess (El Guardián Invisible)
Este archivo es un guardián que controla cómo se accede a tu web, las redirecciones y las URLs amigables. Si no se copia o se corrompe, tu tienda puede dar errores de "404 Not Found" en todas las páginas excepto en la portada.
¿Por qué ocurre?
Al migrar, el archivo .htaccess (que está oculto) puede no copiarse correctamente, o el servidor nuevo tiene reglas diferentes.
La solución paso a paso
-
Asegúrate de que el archivo
.htaccessexista en la raíz de tu instalación de PrestaShop. -
Si no existe o está vacío, no te preocupes. PrestaShop puede generarlo automáticamente.
-
Ve al Panel de Administración de tu tienda (si puedes acceder).
-
Ve a Parámetros Avanzados > Rendimiento.
-
Busca la sección "URLs amigables" y haz clic en el botón "Guardar" (aunque no hayas cambiado nada). Esto forzará a PrestaShop a regenerar el archivo
.htaccess. -
Si no puedes acceder al panel, crea un archivo
.htaccessen blanco con un editor de texto y súbelo a la raíz. Luego, intenta acceder al panel de administración. -
Si el problema persiste, es posible que tu nuevo servidor tenga el módulo
mod_rewritede Apache desactivado. Deberás contactar con el soporte del hosting para que lo activen, ya que es esencial para PrestaShop.
[WARNING] No edites el .htaccess con editores que añadan caracteres invisibles (como Word). Usa siempre un editor de texto plano.
5. El Error de "La tienda no está disponible" o Mantenimiento Forzado
Tu tienda se ve, pero te redirige a una página de mantenimiento, o ves un mensaje de "503 Service Unavailable". Esto es un mecanismo de seguridad de PrestaShop.
¿Por qué ocurre?
Durante la migración, el archivo app/config/parameters.php tiene una opción para forzar el modo mantenimiento. A veces, esta opción queda activada por defecto al copiar los archivos.
La solución paso a paso
-
Conecta por FTP a tu servidor.
-
Ve a la carpeta
app/config/. -
Abre el archivo
parameters.php. -
Busca la línea que contiene
'PS_SHOP_ENABLE'. Verás algo como'PS_SHOP_ENABLE' => 0. El valor0significa mantenimiento activado. -
Cámbialo a
1para activar la tienda:'PS_SHOP_ENABLE' => 1, -
Guarda el archivo y súbelo de nuevo.
-
Limpia la caché (carpeta
var/cache). -
Recarga tu web. Debería volver a estar visible.
[TIP] Este valor también se puede cambiar desde la base de datos en la tabla ps_configuration. Busca la fila con el nombre PS_SHOP_ENABLE y cambia su valor de 0 a 1.
Preguntas Frecuentes (FAQ) sobre la Migración de PrestaShop
¿Qué es lo primero que debo hacer antes de migrar PrestaShop?
Hacer una copia de seguridad completa. Esto incluye todos los archivos (vía FTP) y la base de datos (vía phpMyAdmin). Nunca migres sin una red de seguridad. Es como hacer una maleta: asegúrate de que las llaves de tu casa vieja están guardadas antes de mudarte.
¿Cuánto tarda en propagarse el cambio de DNS tras la migración?
Puede tardar entre 4 y 48 horas. Durante este tiempo, algunos usuarios verán la web nueva y otros la antigua. Es un proceso normal y no debes alarmarte. Para acelerar, puedes modificar el archivo "hosts" de tu ordenador para ver la nueva web antes de que se propague, y así ir probando.
¿Es obligatorio cambiar la URL en la base de datos si migro a un dominio nuevo?
Sí, es obligatorio si cambias el dominio o la estructura de carpetas. Si solo cambias de servidor pero mantienes el mismo dominio, no es necesario, pero sí es recomendable limpiar la caché y regenerar el .htaccess.
Mi tienda usa Syspanel para gestionar el hosting. ¿Hay algo especial que deba saber?
Si tu nuevo servidor es gestionado con Syspanel, recuerda que el acceso a la gestión del servidor se realiza a través del puerto 2106 (por ejemplo, https://tudominio.com:2106). El proceso de migración es el mismo, pero presta atención a los datos de acceso a la base de datos que te proporciona Syspanel, ya que a veces los puertos de conexión a MySQL pueden ser diferentes (como el 3307 en lugar del 3306). Consulta la documentación de tu panel para asegurarte.
Después de seguir todos los pasos, sigo con errores. ¿Qué hago?
Respira. Revisa los logs de error del servidor. En cPanel suelen estar en la carpeta logs o en el visor de "Errores". En Syspanel, busca la sección de "Registros" o "Logs". Estos archivos te dirán exactamente qué línea de código falla. Si no lo entiendes, copia el error y búscalo en Google o contacta con tu proveedor de hosting; es una práctica muy común.
¿Puedo migrar PrestaShop usando un plugin o módulo?
Existen módulos de pago que automatizan la migración, pero para un usuario básico, hacerlo manualmente con FTP y phpMyAdmin te da un control total y te ayuda a entender cómo funciona tu tienda. Si te sientes inseguro, la opción manual con esta guía es tu mejor aliada.
Migrar un servidor es un proceso delicado, pero con paciencia y siguiendo estos pasos, podrás solucionar PrestaShop y tener tu tienda online funcionando en su nuevo hogar sin dolores de cabeza. Recuerda: la mayoría de los errores PrestaShop migración se reducen a tres factores: base de datos, permisos y rutas. Revisa esos tres y tendrás el 90% del trabajo hecho. ¡Mucha suerte con tu mudanza virtual!
