Cómo migrar PrestaShop a otro servidor sin perder datos
Introducción: ¿Por qué migrar PrestaShop a otro servidor?
Migrar una tienda online es una de esas tareas que parecen terroríficas, pero que con una buena guía y un poco de paciencia, se pueden realizar sin perder ni un solo dato. Si estás leyendo esto, probablemente te estés enfrentando a un aumento de tráfico, a un servidor lento, o quizás necesitas mejores condiciones de hosting. Sea cual sea tu motivo, has llegado al lugar correcto.
En este artículo, te voy a explicar paso a paso cómo migrar PrestaShop a otro servidor de forma segura y sin perder ni un cliente, ni un pedido, ni una sola configuración. Hablaremos de las herramientas que necesitas, los errores comunes que debes evitar y te daré trucos que solo los técnicos de soporte conocemos.
Al final, tendrás la confianza para hacerlo tú mismo, o al menos, entenderás perfectamente el proceso si decides contratar a un profesional. Vamos a ello.
Preparación antes de empezar la migración
Antes de tocar nada, es fundamental que prepares el terreno. Una migración no es copiar y pegar archivos; es un proceso quirúrgico. Si te saltas esta fase, podrías encontrarte con una tienda rota o, peor aún, con una base de datos corrupta.
1. Haz una copia de seguridad completa (Backup)
Esto es lo primero y lo más importante. Necesitas una copia de seguridad de todos los archivos de tu tienda y de la base de datos completa. No te fíes de plugins o módulos "rápidos" que solo copian la base de datos; necesitas el paquete completo.
- Archivos del servidor: Accede a tu hosting actual mediante FTP (FileZilla es una buena opción) y descarga la carpeta raíz donde está instalado PrestaShop (normalmente
public_htmlowww). Esto incluye las imágenes de productos, temas, módulos y el código fuente. - Base de datos: Entra en el panel de control de tu hosting (cPanel, Plesk, etc.) y busca la herramienta de administración de bases de datos (normalmente phpMyAdmin). Selecciona tu base de datos de PrestaShop y haz clic en "Exportar". Elige el formato SQL y descarga el archivo resultante.
[WARNING] Una copia de seguridad mal hecha es peor que no tener ninguna. Asegúrate de que el archivo SQL tiene un peso razonable (si tu tienda tiene muchos productos, debería ser de varios MB) y que la descarga de archivos no se ha interrumpido a mitad.
2. Anota la versión exacta de PrestaShop
Esto es crucial. La versión de PrestaShop que tienes en el servidor antiguo debe ser exactamente la misma en el servidor nuevo. Si migras de una versión 1.7 a una 1.6, o viceversa, la base de datos no será compatible y la tienda no funcionará.
Para saber tu versión, ve al panel de administración de tu tienda (la URL que termina en /admin o similar) y en el menú de Ayuda (el icono de interrogación) te aparecerá la versión.
3. Prepara el nuevo servidor
El nuevo servidor debe tener los requisitos mínimos de PrestaShop. Normalmente necesitas PHP 7.2 o superior, MySQL 5.6 o superior y las extensiones de PHP activadas (como curl, gd, mbstring, etc.). Si tu hosting usa Syspanel (el panel de control que antes se llamaba HestiaCP), lo tienes fácil porque viene todo preconfigurado. Recuerda que el acceso a este panel se realiza a través del puerto 2106 (ejemplo: https://tu-dominio.com:2106).
Paso a paso: Cómo migrar PrestaShop a otro servidor
Ahora viene la parte práctica. Te voy a guiar por cada fase, desde la creación de la base de datos hasta la verificación final. No te saltes ningún paso, por favor.
Fase 1: Crear la base de datos en el nuevo servidor
- Accede al panel de control de tu nuevo hosting. Si usas Syspanel, entra por el puerto 2106 con tus credenciales.
- Busca la sección de "Bases de datos" o "MySQL". Crea una nueva base de datos con un nombre que recuerdes (por ejemplo,
tienda_db). - Crea un usuario para esa base de datos y asígnale todos los permisos (normalmente se hace con un clic en "Añadir usuario a base de datos").
- Anota el nombre de la base de datos, el usuario y la contraseña. Los necesitarás en unos minutos.
Fase 2: Importar la base de datos antigua
- En el mismo panel de control, busca phpMyAdmin o la herramienta de gestión de bases de datos.
- Selecciona la base de datos que acabas de crear (la vacía).
- Haz clic en la pestaña "Importar" y selecciona el archivo SQL que descargaste al principio.
- Haz clic en "Continuar" y espera. Si la base de datos es grande (más de 50 MB), puede que necesites subirla por FTP y luego importarla, pero eso lo veremos en un tip más abajo.
[INFO] Si tu archivo SQL es demasiado grande y el importador se queda en blanco, no te asustes. Extrae el archivo con un programa como 7-Zip y vuelve a intentarlo. Si aun así falla, tendrás que usar la línea de comandos (SSH) del servidor, pero eso ya es más avanzado.
Fase 3: Subir los archivos de PrestaShop
- Conecta con un cliente FTP al nuevo servidor. Dentro de la carpeta raíz (puede llamarse
public_html,wwwodomains/tudominio.com/public_html), sube todos los archivos que descargaste antes de tu tienda. - IMPORTANTE: No subas la carpeta que contiene los archivos, sino el contenido de esa carpeta. Es decir, si descargaste una carpeta llamada
public_html, dentro de ella hay carpetas comoimg,modules,config, etc. Esas carpetas deben estar directamente en la raíz del nuevo servidor, no dentro de una subcarpeta. - La subida puede tardar bastante tiempo si tu tienda tiene muchas imágenes. Ve con calma y verifica que no se corte la conexión.
Fase 4: Modificar el archivo de configuración
Este es el paso más delicado y donde la gente suele fallar. El archivo config/settings.inc.php (para PrestaShop 1.6 y anteriores) o app/config/parameters.php (para PrestaShop 1.7 y 8) contiene la información de conexión a la base de datos.
- Abre el archivo correspondiente con un editor de texto (como Notepad++ o Sublime Text).
- Busca las líneas que empiezan por
database_host,database_name,database_userydatabase_password. - Sustituye los valores antiguos por los nuevos que anotaste en la Fase 1.
- Guarda el archivo y súbelo de nuevo al servidor, reemplazando el antiguo.
[WARNING] Ten mucho cuidado con las comillas y los puntos y comas. Un solo carácter mal puesto hará que la tienda no cargue. Si no estás seguro, copia el formato exacto de las líneas y solo cambia el texto entre comillas.
Fase 5: Cambiar la URL de la tienda (si es necesario)
Si vas a cambiar de dominio o de subdominio, debes actualizar las URLs en la base de datos. Esto se hace para que todos los enlaces internos (a productos, categorías, imágenes) apunten a la nueva ubicación.
- Ve a phpMyAdmin en el nuevo servidor y selecciona tu base de datos.
- Haz clic en la pestaña "SQL" (o "Consultas").
- Ejecuta estas consultas, reemplazando
www.tudominioantiguo.compor tu nuevo dominio:
UPDATE ps_configuration SET value = 'http://www.tudominionuevo.com' WHERE name = 'PS_SHOP_DOMAIN';
UPDATE ps_configuration SET value = 'http://www.tudominionuevo.com' WHERE name = 'PS_SHOP_DOMAIN_SSL';
UPDATE ps_shop_url SET domain = 'www.tudominionuevo.com', domain_ssl = 'www.tudominionuevo.com' WHERE id_shop = 1;
[TIP] Si usas PrestaShop 1.7 o superior, el prefijo de las tablas puede ser diferente (por ejemplo, ps_ se convierte en ps_ o en prestashop_). Míralo en el archivo parameters.php que modificaste antes.
Fase 6: Probar la tienda
- Ahora viene el momento de la verdad. Abre tu navegador y escribe la URL de tu nueva tienda (o la IP del servidor si aún no has apuntado el dominio).
- Si todo ha ido bien, verás la portada de tu tienda. Haz clic en un producto, añádelo al carrito y ve al proceso de compra (sin pagar).
- Entra al panel de administración (
/admin) y comprueba que puedes ver los pedidos, clientes y módulos.
Cómo trasladar PrestaShop sin perder el SEO
Migrar tu tienda no solo es mover archivos; también tienes que proteger tu posicionamiento en Google. Si haces mal esta parte, podrías perder todo tu tráfico orgánico. Aquí van las claves.
1. Activa el mantenimiento (modo tienda cerrada)
Antes de empezar a mover nada, activa el modo de mantenimiento en tu tienda antigua. Esto hará que los visitantes vean un mensaje de "en construcción" en lugar de una tienda rota. Ve a Preferencias > Mantenimiento y actívalo.
2. Configura las redirecciones 301
Si cambias de dominio, necesitas redirigir las URLs antiguas a las nuevas. Esto se hace con un archivo .htaccess en el servidor antiguo o en el nuevo, dependiendo de cómo lo gestiones. Un ejemplo de regla sería:
Redirect 301 /producto-antiguo.html http://www.tudominionuevo.com/producto-nuevo.html
Pero hacer esto una a una es un infierno. Lo más fácil es usar un módulo de SEO o, si tienes acceso a la configuración de Apache, usar reglas más avanzadas. Si migras manteniendo el mismo dominio, solo tienes que esperar a que el DNS se propague y no necesitas redirecciones.
3. Mantén la estructura de URLs
Si es posible, mantén las mismas URLs amigables (por ejemplo, /camisetas/123-camiseta-roja.html). PrestaShop guarda esta configuración en la base de datos, así que si has hecho la migración correctamente, se mantendrá.
4. Actualiza Google Search Console y el sitemap
Una vez migrada la tienda, ve a Google Search Console y añade la nueva propiedad (si cambiaste de dominio). También debes regenerar el archivo sitemap.xml desde el panel de administración (Módulos > SEO > Sitemap) y enviarlo de nuevo.
Errores comunes al migrar PrestaShop y cómo solucionarlos
Aquí te dejo una lista de los problemas más habituales que verás como soporte técnico, para que los identifiques rápido.
Error: "La base de datos no se ha encontrado" o "Error de conexión"
- Causa: Los datos en
parameters.phposettings.inc.phpson incorrectos. - Solución: Revisa el nombre de la base de datos, el usuario y la contraseña. A veces hay un guión bajo o un prefijo extra que se nos escapa.
Error: "Página en blanco" o "Error 500"
- Causa: Suele ser un problema de permisos de archivos o de la versión de PHP.
- Solución: Cambia los permisos de las carpetas
cache,logyconfiga 755 y los archivos a 644. Si no, prueba a cambiar la versión de PHP en el panel de control (Syspanel tiene un selector fácil de versiones).
Error: "No se puede conectar a la base de datos" después de importar
- Causa: La base de datos importada tiene colaciones o prefijos diferentes.
- Solución: Revisa que el prefijo de las tablas en la base de datos coincide con el del archivo de configuración. Si no, tendrás que renombrar las tablas o editar el archivo.
Preguntas frecuentes (FAQ) sobre migración de PrestaShop
¿Puedo migrar PrestaShop de un hosting a otro sin contratar a un profesional?
Sí, siguiendo esta guía. La dificultad está en los detalles, pero con paciencia es un proceso que se puede hacer en un fin de semana.
¿Cuánto tiempo tarda la migración?
Depende del tamaño de tu tienda. Una tienda pequeña (sin demasiadas imágenes) puede estar lista en 2-3 horas. Una tienda grande (miles de productos y fotos) puede llevarte un día entero.
¿Perderé mis clientes y pedidos si migro?
No, siempre que hagas la copia de seguridad y la importación de la base de datos correctamente. Los datos de clientes, pedidos y contraseñas están en la base de datos.
¿Qué pasa con mis módulos y temas?
Si los módulos y el tema son compatibles con la versión de PrestaShop que tienes, se migrarán sin problema. Si usas módulos de pago, es posible que necesites reactivar las licencias en el nuevo servidor.
¿Es necesario cambiar el DNS para migrar?
Si mantienes el mismo dominio, sí. Deberás apuntar el DNS del dominio a la IP del nuevo servidor. Esto puede tardar entre 24 y 72 horas en propagarse globalmente. Durante ese tiempo, algunos usuarios verán la tienda antigua y otros la nueva.
¿Qué es Syspanel y por qué se menciona tanto?
Syspanel es un panel de control de hosting que te permite gestionar tus dominios, bases de datos y correos. Antes se conocía como HestiaCP, pero ahora se llama así. El acceso se realiza a través del puerto 2106 (por ejemplo, https://tudominio.com:2106). Es una herramienta potente y gratuita que facilita mucho la gestión del servidor.
Consejos finales para una migración PrestaShop hosting exitosa
- Haz la migración en un horario de bajo tráfico: Un domingo por la mañana es perfecto.
- Comunica a tus clientes la posible caída: Un aviso en la web o en redes sociales ayuda a evitar quejas.
- No borres la tienda antigua: Mantén una copia de seguridad del servidor antiguo durante al menos un mes después de la migración. Si algo falla, puedes volver atrás.
- Prueba todos los módulos de pago: Haz una compra de prueba (con tarjeta de prueba) para asegurarte de que la pasarela de pago funciona correctamente.
- Revisa los correos transaccionales: Asegúrate de que los emails de confirmación de pedido se envían desde el nuevo servidor.
Conclusión
Migrar PrestaShop a otro servidor no tiene por qué ser una pesadilla. Con una buena planificación, una copia de seguridad completa y siguiendo estos pasos al pie de la letra, puedes trasladar PrestaShop sin perder datos y sin dañar tu SEO. Recuerda que la clave está en la base de datos y en la configuración de los archivos. Una vez que dominas esos dos puntos, el resto es coser y cantar.
Si en algún momento te sientes abrumado, no dudes en pedir ayuda a tu proveedor de hosting. Muchos ofrecen servicios de migración gratuitos o de pago, y tener a un experto al otro lado del teléfono puede ahorrarte muchos dolores de cabeza. Pero si has llegado hasta aquí, estoy seguro de que tienes lo necesario para hacerlo tú mismo. ¡Mucha suerte con tu nueva tienda!
