Cómo migrar PrestaShop a otro servidor con Plesk (sin perder datos)
Mudar tu tienda online puede parecer una operación a corazón abierto, pero con la guía adecuada, es un proceso que puedes realizar sin perder ni un solo dato, pedido o cliente. Si estás usando Plesk como panel de control, estás de suerte: esta herramienta está diseñada para facilitar este tipo de tareas. En esta guía extensa y paso a paso, te explicaré cómo migrar PrestaShop a otro servidor con Plesk de forma segura, manteniendo la integridad de tu base de datos y archivos. No necesitas ser un experto en terminales Linux; solo sigue estas instrucciones al pie de la letra.
Antes de empezar: La preparación es la clave
La regla de oro para cualquier migración PrestaShop sin pérdida de datos es la planificación. No se trata solo de copiar archivos; hablamos de sincronizar bases de datos, ajustar configuraciones y verificar que todo funcione en el nuevo entorno. Si lo haces con calma y método, el proceso será invisible para tus clientes.
1. Reúne tus credenciales y accesos
Antes de tocar nada, asegúrate de tener a mano:
- Acceso al panel de Plesk del servidor actual (origen).
- Acceso al panel de Plesk del servidor nuevo (destino).
- Credenciales de acceso a phpMyAdmin (o similar) en ambos servidores.
- Datos de acceso FTP/SFTP de ambos sitios.
- Una copia de seguridad reciente (por si acaso).
2. Verifica la compatibilidad del nuevo servidor
No todos los servidores son iguales. Asegúrate de que el nuevo hosting cumpla con los requisitos de tu versión de PrestaShop. Revisa la versión de PHP, MySQL y las extensiones necesarias. Si tu tienda usa versiones antiguas de PHP, el nuevo servidor podría no ser compatible. Lo ideal es que uses una versión de PHP 7.4 o superior para PrestaShop 1.7 y 8.x.
[INFO] Si tu nuevo servidor usa una versión de PHP mucho más moderna, es posible que algunos módulos de terceros dejen de funcionar. Te recomiendo hacer una prueba en un subdominio antes de lanzar la migración definitiva.
Paso 1: Realiza una copia de seguridad completa en el servidor origen
Este es el paso más importante. Una copia de seguridad mal hecha puede arruinar todo el proceso. Vamos a hacerlo bien, separando archivos y base de datos.
1.1. Exportar la base de datos desde Plesk
La base de datos es el cerebro de tu tienda: contiene productos, clientes, pedidos y configuraciones. Para exportarla:
- Entra a tu panel de Plesk.
- Ve a la sección "Sitios web y dominios".
- Busca tu dominio de PrestaShop y haz clic en "Bases de datos".
- Encuentra la base de datos de tu tienda (suele tener un prefijo como
presta_o similar). - Haz clic en el icono de "phpMyAdmin" (o "Administrar").
- Dentro de phpMyAdmin, selecciona la base de datos en el panel izquierdo.
- Ve a la pestaña "Exportar".
- Elige el método "Rápido" y el formato "SQL".
- Haz clic en "Continuar" y guarda el archivo
.sqlen tu computadora.
[WARNING] No uses el método "Personalizado" si no sabes lo que haces. Las opciones por defecto son suficientes para una migración PrestaShop estándar.
1.2. Descargar los archivos de la tienda
Ahora vamos con los archivos del sistema (código fuente, imágenes, módulos, temas, etc.):
- Vuelve a la sección "Sitios web y dominios" en Plesk.
- Busca tu dominio y haz clic en "Archivos" (o "Administrador de archivos").
- Navega hasta la carpeta
httpdocs(opublic_html). Ahí es donde vive todo tu PrestaShop. - Selecciona todos los archivos y carpetas dentro de
httpdocs. - Usa la opción "Comprimir" (Zip o Tar.gz) para crear un único archivo. Si el tamaño es muy grande (más de 500 MB), es mejor que uses un cliente FTP como FileZilla para descargar la carpeta completa directamente, ya que el compresor de Plesk puede agotar el tiempo de espera.
[TIP] Si prefieres usar FTP, conecta con FileZilla, navega a /httpdocs/ y arrastra todas las carpetas y archivos a tu PC. Asegúrate de activar la "Transferencia de archivos sin procesar" para no perder metadatos.
Paso 2: Configurar el servidor de destino y subir archivos
Una vez tengas tu copia de seguridad local, es hora de actuar en el nuevo servidor. Aquí es donde muchos se equivocan: suben los archivos antes de crear la base de datos. No lo hagas; sigue el orden correcto.
2.1. Crear una base de datos vacía en el nuevo Plesk
- Entra al panel de Plesk del servidor destino.
- Ve a "Sitios web y dominios" y haz clic en tu dominio (o crea uno nuevo si es una migración a un dominio distinto).
- Haz clic en "Bases de datos" y luego en "Agregar base de datos".
- Asigna un nombre (puede ser el mismo que el original) y crea un usuario con contraseña. Anota estos datos, los necesitarás más adelante.
- Una vez creada, entra en phpMyAdmin para esta nueva base de datos.
2.2. Importar la base de datos vieja en la nueva
- En phpMyAdmin del nuevo servidor, selecciona la base de datos vacía que acabas de crear.
- Ve a la pestaña "Importar".
- Haz clic en "Elegir archivo" y selecciona el archivo
.sqlque descargaste en el paso 1.1. - Haz clic en "Continuar" y espera a que termine. Si el archivo es muy grande (más de 50 MB), es posible que tengas que usar la herramienta
Importde Plesk o subirlo por SSH. Pero para la mayoría de tiendas, phpMyAdmin funciona bien.
[WARNING] Si la importación falla a mitad de camino, no repitas el proceso sin limpiar. Borra todas las tablas de la base de datos de destino e intenta de nuevo. A veces hay que aumentar el max_execution_time en phpMyAdmin, pero eso ya es más técnico.
2.3. Subir los archivos de PrestaShop
Ahora sí, sube la carpeta httpdocs completa al nuevo servidor. Tienes dos opciones:
- Opción A (FTP): Conecta con FileZilla al nuevo servidor y sube todos los archivos a la carpeta
httpdocsdel dominio. - Opción B (Administrador de archivos de Plesk): Si tu archivo es un
.zip, sube el zip ahttpdocsy luego haz clic derecho > "Extraer" en Plesk.
[INFO] Si tu tienda es grande, la subida puede tardar horas. No interrumpas la conexión. Una buena práctica es subir primero el zip y extraerlo en el servidor, ya que la extracción es más rápida que la transferencia de miles de archivos individuales.
Paso 3: Ajustar la configuración de conexión a la base de datos
Este es el paso crucial para transferir PrestaShop a otro hosting sin errores. PrestaShop guarda los datos de conexión a la base de datos en un archivo de configuración. Si no lo actualizas, la tienda no podrá conectarse a la nueva base de datos.
3.1. Editar el archivo settings.inc.php
- En el nuevo servidor, navega a la carpeta
httpdocs/config/. - Busca el archivo
settings.inc.php. - Ábrelo con un editor de texto (desde el Administrador de archivos de Plesk o descárgalo y edítalo en tu PC).
- Busca las líneas que definen
_DB_SERVER_,_DB_NAME_,_DB_USER_y_DB_PASSWD_. - Sustituye los valores por los de la nueva base de datos que creaste en el paso 2.1.
Por ejemplo:
define('_DB_SERVER_', 'localhost');
define('_DB_NAME_', 'nueva_basededatos');
define('_DB_USER_', 'nuevo_usuario');
define('_DB_PASSWD_', 'nueva_contraseña');
[WARNING] No cambies el valor de _DB_PREFIX_ a menos que sepas exactamente lo que haces. Si lo cambias, perderás todos los datos porque las tablas no coincidirán.
3.2. Verificar el archivo .htaccess (si existe)
En la raíz de httpdocs, es probable que haya un archivo .htaccess. Este archivo contiene reglas de redirección y configuración del servidor. A veces, al migrar, las rutas absolutas cambian. No lo borres, pero si tu tienda da error 500, prueba a renombrarlo a .htaccess.bak y luego accede a la tienda para que PrestaShop genere uno nuevo automáticamente.
Paso 4: Actualizar la URL de la tienda y limpiar cachés
Si tu tienda usaba una URL de desarrollo o un dominio temporal, ahora debes asegurarte de que todo apunte al dominio correcto.
4.1. Cambiar la URL en la base de datos (si es necesario)
Si el dominio cambia (por ejemplo, de tienda.old.com a tienda.new.com), debes actualizar las referencias en la base de datos. Puedes hacerlo con una consulta SQL en phpMyAdmin:
UPDATE ps_configuration SET value = 'https://www.tudominionuevo.com' WHERE name IN ('PS_SHOP_DOMAIN', 'PS_SHOP_DOMAIN_SSL');
También actualiza la tabla ps_shop_url:
UPDATE ps_shop_url SET domain = 'www.tudominionuevo.com', domain_ssl = 'www.tudominionuevo.com';
[INFO] Si mantienes el mismo dominio, este paso no es necesario. Pero si usaste un dominio temporal para probar, es obligatorio hacerlo.
4.2. Limpiar la caché de PrestaShop
PrestaShop guarda archivos de caché en las carpetas var/cache (para PrestaShop 1.7 y 8) o cache (para versiones antiguas). Para evitar errores extraños, borra el contenido de estas carpetas:
- En PrestaShop 1.7+ :
httpdocs/var/cache/dev/yhttpdocs/var/cache/prod/. - En PrestaShop 1.6:
httpdocs/cache/.
Puedes borrar todos los archivos dentro de estas carpetas, pero no las carpetas en sí.
Paso 5: Verificación exhaustiva de la tienda migrada
No des por hecho que todo funciona solo porque la web carga. Debes hacer una revisión completa para asegurar una migración PrestaShop sin pérdida de funcionalidad.
5.1. Pruebas básicas de funcionalidad
- Accede al front-office: ¿Carga la página de inicio? ¿Las imágenes se ven bien?
- Accede al back-office: Entra en
/admin123(o el nombre de tu carpeta admin). ¿Puedes iniciar sesión? - Revisa un producto: ¿Se ven las fotos? ¿Las cantidades y precios son correctos?
- Añade un producto al carrito: ¿El proceso de compra funciona? No es necesario pagar, solo llegar a la pasarela de pago.
- Prueba el módulo de búsqueda: ¿Encuentra productos?
5.2. Comprobar la configuración de los módulos
Algunos módulos (especialmente los de pago) guardan la URL de la tienda en su configuración interna. Ve a Módulos > Administrador de módulos y revisa los que tengan opciones de configuración. Asegúrate de que las URLs estén actualizadas.
[TIP] Si un módulo de pago usa API keys o certificados SSL, es posible que tengas que reconfigurarlos desde cero, ya que las IPs de los servidores suelen cambiar.
5.3. Activar el modo mantenimiento (si lo prefieres)
Si quieres hacer la migración definitiva sin que los clientes vean errores, activa el modo mantenimiento en el nuevo servidor antes de probar. Ve a Parámetros avanzados > Mantenimiento y actívalo. Así podrás trabajar con tranquilidad y cuando todo esté perfecto, desactívalo.
Paso 6: Migrar los archivos de la carpeta img y download (si los tienes)
Este paso es vital y a menudo se olvida. PrestaShop guarda las imágenes de productos en httpdocs/img/p. Además, si vendes productos digitales, los archivos están en httpdocs/download. Si estos no se migran correctamente, verás productos sin fotos o descargas rotas.
- Asegúrate de que la carpeta
img/pesté completa. - Si usas el módulo de "productos descargables", copia también
download. - No comprimas estas carpetas con rutas absolutas, ya que al extraerlas podrían crear subdirectorios extraños. Mejor súbelas por FTP directamente.
[WARNING] Si tu tienda tiene más de 50,000 imágenes, la subida por FTP puede fallar. Usa un cliente FTP robusto como FileZilla y configura la transferencia en modo binario. También puedes usar la herramienta de sincronización de Plesk si tu servidor lo permite.
Preguntas frecuentes (FAQ) sobre la migración de PrestaShop con Plesk
Aquí resolvemos las dudas más comunes que surgen en este proceso.
¿Qué hago si al entrar al back-office me da error 500?
Lo más común es un problema con el archivo .htaccess o la caché. Prueba a renombrar .htaccess y a limpiar la carpeta var/cache. Si el error persiste, revisa los logs de errores de PHP en Plesk (sección "Logs").
¿Puedo migrar PrestaShop de un servidor cPanel a Plesk?
Sí, el proceso es el mismo. La diferencia está en la forma de exportar la base de datos y subir archivos, pero los pasos de configuración interna de PrestaShop son idénticos.
¿Es necesario cambiar los permisos de archivos y carpetas?
Sí, es muy recomendable. En Plesk, los archivos deben tener permisos 644 y las carpetas 755. Puedes hacer esto desde el Administrador de archivos de Plesk seleccionando todo y cambiando los permisos en masa, o usando un cliente FTP.
¿Cómo afecta la migración a mi SEO?
Si mantienes las mismas URLs y el mismo dominio, el impacto será mínimo. Asegúrate de que el archivo .htaccess tenga las reglas de redirección de PrestaShop (se generan automáticamente). Si cambias de dominio, tendrás que configurar redirecciones 301 para no perder posicionamiento. Te recomiendo que, una vez migrada, envíes tu nuevo sitemap a Google Search Console.
¿Qué pasa con los correos electrónicos de mi tienda?
Los correos transaccionales (confirmaciones de pedido, etc.) dependen de la configuración SMTP de tu servidor. Después de migrar, revisa la configuración de envío de correo en Parámetros avanzados > E-mail. Si usabas el envío de correo de PHP, es probable que funcione igual. Si usabas SMTP, deberás actualizar los datos del nuevo servidor.
¿Puedo hacer la migración sin cortar el servicio de la tienda original?
Sí, es lo ideal. Migra todo al nuevo servidor, haz las pruebas pertinentes en una URL temporal (por ejemplo, nuevo.dominio.com), y cuando estés seguro, cambia los DNS de tu dominio al nuevo servidor. Este proceso se llama "migración en caliente" y evita pérdidas de pedidos.
Conclusión y consejos finales
**Migrar PrestaShop a otro servidor con
