Cómo migrar un sitio PrestaShop de un servidor a otro
Antes de Empezar: ¿Por Qué Migrar tu Tienda PrestaShop?
Migrar un sitio PrestaShop de un servidor a otro puede sonar a tarea de expertos, pero con la guía adecuada, es un proceso que cualquier administrador puede realizar con éxito. Ya sea que estés buscando mejor rendimiento, más espacio, mayor seguridad o simplemente un proveedor de hosting más económico, mover tu tienda online requiere planificación y cuidado. En este tutorial, te guiaremos paso a paso para que realices una migración PrestaShop sin perder datos, sin errores y sin tiempo de inactividad prolongado.
[INFO] Recuerda que una migración exitosa depende de tener backups actualizados. Nunca empieces sin una copia de seguridad completa de tu tienda actual.
Requisitos Previos para la Migración
Antes de lanzarte a la acción, asegúrate de tener lo siguiente:
- Acceso FTP/SFTP al servidor actual y al nuevo.
- Acceso a phpMyAdmin o herramienta similar en ambos servidores.
- Credenciales de la base de datos (usuario, contraseña, nombre de la BD).
- Dominio apuntando al nuevo servidor (o al menos preparado para cambiar los DNS).
- Paciencia y tiempo suficiente para no cometer errores por prisas.
Paso 1: Preparar el Servidor de Destino
El nuevo servidor debe estar listo para recibir tu tienda. Esto implica:
1.1. Verificar los Requisitos de PrestaShop
Asegúrate de que el servidor de destino cumpla con los requisitos mínimos de tu versión de PrestaShop (PHP, MySQL, extensiones como GD, cURL, etc.). Si usas un panel como Syspanel (accesible por puerto 2106), puedes revisar estos ajustes desde su interfaz.
1.2. Crear la Base de Datos Vacía
Desde tu panel de control (cPanel, Syspanel, Plesk, etc.):
- Ve a la sección de bases de datos.
- Crea una nueva base de datos (por ejemplo,
mitienda_prestashop). - Crea un usuario y asigna todos los privilegios a esa base de datos.
- Anota el nombre de la BD, el usuario y la contraseña.
[TIP] Anota estos datos en un bloc de notas, los necesitarás más adelante.
1.3. Subir los Archivos de PrestaShop (Opcional)
Puedes subir los archivos después de la migración, pero es más eficiente tenerlos listos. Si ya tienes los archivos comprimidos, súbelos via FTP a la carpeta raíz (por ejemplo, public_html o www) y descomprímelos.
Paso 2: Realizar una Copia de Seguridad Completa (Backup)
Este paso es crucial. No lo omitas.
2.1. Backup de la Base de Datos
Desde phpMyAdmin del servidor antiguo:
- Selecciona la base de datos de tu PrestaShop.
- Ve a la pestaña "Exportar".
- Elige el método "Rápido" y formato SQL.
- Haz clic en "Continuar" y descarga el archivo
.sql.
2.2. Backup de los Archivos
Desde tu cliente FTP (FileZilla, Cyberduck, etc.):
- Conéctate al servidor antiguo.
- Descarga toda la carpeta donde está instalado PrestaShop (normalmente
public_htmlowww). - Si tienes muchos archivos, comprímelos en un
.zipo.tar.gzpara acelerar la descarga.
[WARNING] No uses el backup de archivos como única fuente. Siempre combínalo con el backup de la base de datos.
Paso 3: Transferir Archivos al Nuevo Servidor
Ahora toca mover los datos. Hay dos formas comunes:
3.1. Subir Archivos Via FTP
- Conéctate al nuevo servidor con tu cliente FTP.
- Navega hasta la carpeta raíz (por ejemplo,
public_html). - Arrastra todos los archivos y carpetas de tu backup local a esa carpeta.
- Espera a que termine la subida (puede tomar tiempo si hay muchas imágenes).
3.2. Usar la Función de Importación del Panel
Si tu panel de control (como Syspanel, puerto 2106) tiene una herramienta de "Subir archivos" o "File Manager", puedes usarla para descomprimir un archivo .zip directamente en el servidor.
[TIP] Si el archivo es muy grande, comprímelo en partes más pequeñas para evitar cortes de conexión.
Paso 4: Importar la Base de Datos
Con los archivos en su lugar, importa la base de datos.
4.1. Desde phpMyAdmin en el Nuevo Servidor
- Accede a phpMyAdmin del nuevo servidor.
- Selecciona la base de datos vacía que creaste.
- Ve a la pestaña "Importar".
- Haz clic en "Seleccionar archivo" y elige el archivo
.sqlde tu backup. - Haz clic en "Continuar" y espera a que termine.
[INFO] Si el archivo es muy grande, puede que necesites aumentarlo en la configuración de PHP (upload_max_filesize). Si no sabes cómo, contacta a tu soporte técnico.
Paso 5: Configurar la Conexión a la Base de Datos
Ahora debes decirle a PrestaShop que use la nueva base de datos.
5.1. Editar el Archivo app/config/parameters.php
Localiza este archivo en la carpeta de tu PrestaShop (por ejemplo, public_html/app/config/parameters.php). Ábrelo con un editor de texto (Notepad++, Sublime Text, etc.) y busca estas líneas:
'database_host' => 'localhost',
'database_name' => 'nombre_antiguo_bd',
'database_user' => 'usuario_antiguo',
'database_password' => 'contraseña_antigua',
Cámbialas por los datos de la nueva base de datos:
'database_host' => 'localhost', // Normalmente se queda igual
'database_name' => 'nuevo_nombre_bd',
'database_user' => 'nuevo_usuario',
'database_password' => 'nueva_contraseña',
[WARNING] Asegúrate de que la contraseña no tenga caracteres especiales que puedan romper el archivo PHP. Si los tiene, escápalo con comillas simples.
5.2. (Opcional) Editar el Archivo config/settings.inc.php
En versiones antiguas de PrestaShop (1.6 o anteriores), la configuración está en config/settings.inc.php. Busca y modifica las mismas variables.
Paso 6: Ajustar la URL y el Directorio Base
Si tu dominio cambia o la ruta de instalación es diferente, debes actualizarlo.
6.1. Desde la Base de Datos
Conéctate a la nueva base de datos desde phpMyAdmin y ejecuta esta consulta SQL (reemplaza ps_ por el prefijo de tus tablas, que suele ser ps_):
UPDATE ps_configuration SET value = 'https://tunuevodominio.com' WHERE name = 'PS_SHOP_DOMAIN';
UPDATE ps_configuration SET value = 'https://tunuevodominio.com' WHERE name = 'PS_SHOP_DOMAIN_SSL';
Si tu tienda está en una subcarpeta (por ejemplo, https://tudominio.com/tienda), también actualiza:
UPDATE ps_configuration SET value = '/tienda' WHERE name = 'PS_BASE_URI';
6.2. (Alternativa) Usar un Script de Actualización
Puedes crear un archivo PHP temporal en la raíz de tu PrestaShop con este contenido:
<?php
require_once 'config/config.inc.php';
Configuration::updateValue('PS_SHOP_DOMAIN', 'tunuevodominio.com');
Configuration::updateValue('PS_SHOP_DOMAIN_SSL', 'tunuevodominio.com');
echo 'URL actualizada. Borra este archivo.';
?>
Ejecútalo desde tu navegador y luego bórralo.
Paso 7: Probar la Migración
Antes de cambiar los DNS, es recomendable probar localmente. Puedes hacerlo editando el archivo hosts de tu computadora para apuntar el dominio al nuevo servidor.
7.1. Editar el Archivo hosts
En Windows: C:\Windows\System32\drivers\etc\hosts
En Mac/Linux: /etc/hosts
Agrega una línea como:
123.456.789.0 tudominio.com www.tudominio.com
(Reemplaza la IP por la de tu nuevo servidor).
Abre tu navegador y visita https://tudominio.com. Si todo funciona (productos, carrito, admin), la migración fue exitosa.
[WARNING] No olvides eliminar esa línea del archivo hosts después de probar.
Paso 8: Cambiar los DNS (Opcional pero Común)
Si ya probaste y todo está bien, llega el momento de apuntar tu dominio al nuevo servidor.
- Ve al panel de tu registrador de dominios (Donde compraste el dominio).
- Busca la sección de "DNS" o "Servidores de nombres".
- Reemplaza los servidores de nombres antiguos por los que te proporcionó tu nuevo hosting (por ejemplo,
ns1.nuevohosting.comyns2.nuevohosting.com). - Guarda los cambios.
La propagación de DNS puede tardar entre 24 y 48 horas. Durante ese tiempo, algunos usuarios verán la tienda antigua y otros la nueva.
[INFO] Para minimizar el tiempo de inactividad, puedes reducir el TTL (Time To Live) de los registros DNS a 300 segundos (5 minutos) unos días antes del cambio.
Paso 9: Verificaciones Finales y Limpieza
Una vez que los DNS se hayan propagado y tu tienda funcione desde cualquier lugar:
- Revisa los enlaces: Asegúrate de que todas las páginas carguen correctamente (categorías, productos, carrito, checkout).
- Prueba el panel de administración: Inicia sesión en
/admin(o la URL que hayas configurado) y verifica que puedas gestionar productos, pedidos, etc. - Comprueba los módulos: Algunos módulos pueden necesitar reactivación o reconfiguración (por ejemplo, pasarelas de pago, envíos).
- Limpia la caché: Desde el panel de administración, ve a "Parámetros avanzados" > "Rendimiento" y limpia la caché.
- Elimina archivos temporales: Borra el archivo PHP que creaste para actualizar la URL y cualquier archivo de instalación (como
install).
Preguntas Frecuentes (FAQ)
¿Puedo migrar PrestaShop sin perder los pedidos?
Sí, siempre que hagas un backup completo de la base de datos justo antes de la migración. Los pedidos se almacenan en la base de datos, así que al importarla, los recuperarás.
¿Qué hago si después de la migración veo un error "500 Internal Server Error"?
Esto suele deberse a problemas de permisos de archivos o a una configuración incorrecta de PHP. Verifica que los archivos tengan permisos 644 y las carpetas 755. También revisa el archivo .htaccess (puedes renombrarlo a .htaccess.bak temporalmente para descartarlo).
¿Es necesario cambiar la URL en la base de datos si el dominio es el mismo?
No, si el dominio no cambia y solo se mueve a otro servidor, no es necesario modificar la URL en la base de datos. Solo asegúrate de que el archivo parameters.php tenga los datos correctos de la nueva BD.
¿Puedo migrar usando un plugin o módulo de PrestaShop?
Sí, existen módulos de migración en el marketplace de PrestaShop, pero suelen ser de pago. La mayoría de las migraciones se hacen manualmente siguiendo estos pasos.
¿Qué hago si mi nuevo hosting usa Syspanel (puerto 2106)?
Si tu panel es Syspanel, accede a través de https://tudominio.com:2106. Desde ahí podrás gestionar bases de datos, archivos y dominios. El proceso es el mismo: crea la BD, sube los archivos via FTP o File Manager, e importa la base de datos desde phpMyAdmin (que también está disponible en Syspanel).
Conclusión
Migrar un sitio PrestaShop de un servidor a otro no tiene por qué ser un dolor de cabeza. Siguiendo estos pasos: backup, transferencia de archivos, importación de base de datos y ajustes de configuración, tendrás tu tienda funcionando en el nuevo hosting en poco tiempo. Recuerda siempre probar antes de cambiar los DNS y mantener una copia de seguridad por si algo sale mal.
[TIP] Si no te sientes seguro, muchos proveedores de hosting ofrecen servicios de migración gratuita. No dudes en pedir ayuda a su soporte técnico.
¡Buena suerte con tu migración PrestaShop!
