Guía paso a paso: Migrar PrestaShop de un servidor a otro
Mudar tu tienda PrestaShop a un nuevo servidor puede sonar a tarea de expertos, pero si sigues esta guía paso a paso, verás que es más sencillo de lo que parece. Vamos a desglosar todo el proceso para que puedas hacerlo sin perder datos ni dejar tu tienda offline más tiempo del necesario.
¿Por qué migrar PrestaShop?
Puede que tu tienda haya crecido y necesites más recursos, o quizás tu proveedor actual no te da el soporte que esperabas. Sea cual sea el motivo, el cambio de servidor es una operación que, bien hecha, te dará un mejor rendimiento y tranquilidad.
[INFO] Esta guía está pensada para usuarios que ya tienen acceso a su servidor actual y al nuevo. Si usas un panel de control como Syspanel (accesible por el puerto 2106), los pasos serán aún más visuales.
Paso 1: Prepara el nuevo servidor
Antes de tocar nada, asegúrate de que tu nuevo servidor cumple con los requisitos de PrestaShop. Necesitarás:
- PHP (versión 7.4 o superior, mejor 8.0+).
- MySQL o MariaDB (versión 5.6 o superior).
- Apache o Nginx con mod_rewrite habilitado.
- Extensión GD y cURL activadas en PHP.
Si usas Syspanel, puedes instalar estos componentes desde el panel de administración. Ve a la sección de Servicios y activa las versiones que necesites.
[TIP] Si no estás seguro de los requisitos exactos, consulta la documentación oficial de PrestaShop para tu versión concreta.
Paso 2: Haz un backup completo de tu tienda actual
Este es el paso más importante. No puedes arriesgarte a perder tus productos, clientes o pedidos. Un backup completo incluye dos partes: los archivos y la base de datos.
2.1 Backup de archivos (FTP o panel de control)
Conéctate a tu servidor actual mediante FTP (con FileZilla, por ejemplo) o desde el panel de archivos de tu hosting.
- Navega hasta la carpeta donde está instalado PrestaShop (normalmente
public_htmlowww). - Selecciona todos los archivos y carpetas (Ctrl+A).
- Descárgalos a tu ordenador. Esto puede tardar varios minutos si tu tienda tiene muchas imágenes.
[INFO] Si tu panel de control tiene opción de "Comprimir carpeta", úsala para crear un
.zipo.tar.gz. Luego descargas solo ese archivo. Es mucho más rápido.
2.2 Backup de la base de datos (phpMyAdmin o línea de comandos)
La base de datos guarda toda la información de tu tienda: productos, clientes, pedidos, configuraciones, etc.
Desde phpMyAdmin:
- Entra a phpMyAdmin desde el panel de tu hosting actual.
- Selecciona la base de datos de PrestaShop (la que uses).
- Haz clic en la pestaña Exportar.
- Elige el método Rápido y formato SQL.
- Haz clic en Continuar y se descargará un archivo
.sql.
Desde línea de comandos (si tienes acceso SSH):
mysqldump -u usuario -p nombre_base_datos > backup_prestashop.sql
Te pedirá la contraseña. El archivo se guardará en el directorio actual.
[WARNING] Guarda el archivo SQL en un lugar seguro. No lo subas a la carpeta pública de tu web, porque cualquiera podría descargarlo.
Paso 3: Sube los archivos al nuevo servidor
Ahora que tienes tu backup, toca llevarlo al nuevo hogar de tu tienda.
3.1 Sube los archivos via FTP o panel
- Conéctate al nuevo servidor mediante FTP o desde el explorador de archivos de tu panel (Syspanel incluido).
- Navega hasta la carpeta raíz de tu dominio (normalmente
public_htmlowww). - Sube todos los archivos que descargaste en el paso 2.1. Si comprimiste la carpeta, primero súbela y luego descomprímela desde el panel.
[TIP] Si usas Syspanel, ve a Archivos → Subir y luego selecciona el archivo comprimido. Después haz clic derecho sobre él y elige Extraer.
3.2 Crea la base de datos en el nuevo servidor
Necesitas un lugar donde importar tus datos. Desde tu panel de control:
- Ve a la sección de Bases de datos o MySQL.
- Crea una nueva base de datos con un nombre descriptivo (ej:
prestashop_nuevo). - Crea un usuario para esa base y asígnale todos los privilegios.
- Anota el nombre de la base, el usuario y la contraseña.
[INFO] En Syspanel, esta opción está en Bases de datos → Añadir base de datos. Te generará automáticamente un usuario y contraseña.
3.3 Importa la base de datos
Desde phpMyAdmin en el nuevo servidor:
- Entra a phpMyAdmin y selecciona la base de datos que acabas de crear.
- Haz clic en la pestaña Importar.
- Selecciona el archivo
.sqlque descargaste en el paso 2.2. - Haz clic en Continuar. Espera a que termine la importación (puede tardar unos minutos si la base es grande).
Desde línea de comandos:
mysql -u usuario_nuevo -p nombre_base_nueva < backup_prestashop.sql
Paso 4: Ajusta la configuración de PrestaShop
Ahora tu tienda está en el nuevo servidor, pero todavía no sabe que ha cambiado de casa. Hay que decirle dónde está ahora.
4.1 Modifica el archivo parameters.php
Este archivo contiene la configuración de conexión a la base de datos y las URLs de la tienda.
- Localiza el archivo en
/app/config/parameters.php(en PrestaShop 1.7 y superiores) o/config/settings.inc.php(en versiones anteriores). - Ábrelo con un editor de texto (Bloc de notas, Sublime Text, etc.).
- Busca estas líneas y cámbialas por los datos de tu nueva base de datos:
'database_host' => 'localhost',
'database_name' => 'nombre_base_nueva',
'database_user' => 'usuario_nuevo',
'database_password' => 'contraseña_nueva',
[WARNING] Si tu nuevo servidor usa un host de base de datos diferente a
localhost(por ejemplo,sql.mihosting.com), cámbialo también. Normalmente eslocalhosten servidores compartidos.
4.2 Actualiza las URLs en la base de datos (si cambias de dominio)
Si también cambias el dominio (por ejemplo, de tutienda.com a tutienda.midominio.com), necesitas actualizar las URLs guardadas en la base de datos.
Opción 1: Consulta SQL directa
Entra a phpMyAdmin en el nuevo servidor, selecciona tu base de datos y ejecuta esta consulta:
UPDATE ps_configuration SET value = 'https://nuevodominio.com' WHERE name IN ('PS_SHOP_DOMAIN', 'PS_SHOP_DOMAIN_SSL');
Opción 2: Usa la herramienta de PrestaShop
PrestaShop incluye una herramienta para cambiar la URL. Después de migrar, si accedes a tu tienda y ves errores, puedes ejecutar este script:
- Crea un archivo llamado
cambiar_url.phpen la raíz de tu PrestaShop. - Pega este código:
<?php
define('_PS_ADMIN_DIR_', getcwd());
include(dirname(__FILE__).'/config/config.inc.php');
include(dirname(__FILE__).'/init.php');
$nueva_url = 'https://nuevodominio.com'; // Cambia por tu nueva URL
Configuration::updateValue('PS_SHOP_DOMAIN', $nueva_url);
Configuration::updateValue('PS_SHOP_DOMAIN_SSL', $nueva_url);
echo 'URL actualizada correctamente';
- Accede a
https://nuevodominio.com/cambiar_url.phpdesde tu navegador. - Borra el archivo después de ejecutarlo.
[INFO] Si no cambias de dominio, no necesitas hacer este paso. Las URLs se mantienen igual.
Paso 5: Prueba la tienda antes de cambiar los DNS
Antes de que todo el mundo vea tu tienda en el nuevo servidor, es buena idea probarla en local.
5.1 Configura un host temporal en tu ordenador
Para que tu PC "vea" el nuevo servidor sin cambiar los DNS globales, edita el archivo hosts de tu sistema:
En Windows: C:\Windows\System32\drivers\etc\hosts
En Mac/Linux: /etc/hosts
Añade una línea al final:
123.456.789.000 tudominio.com
(Reemplaza 123.456.789.000 por la IP real de tu nuevo servidor).
Ahora, cuando escribas tudominio.com en tu navegador, verás la tienda en el nuevo servidor.
5.2 Verifica que todo funciona
- Página principal: ¿Se ve correctamente?
- Productos: ¿Las imágenes cargan? ¿Los precios son correctos?
- Carrito: ¿Puedes añadir productos y llegar al checkout?
- Backoffice: ¿Puedes acceder a
/admincon tus credenciales?
[WARNING] Si ves errores 500 o páginas en blanco, activa el modo debug. En el archivo
/config/defines.inc.php, cambia_PS_MODE_DEV_atrue. Te mostrará los errores específicos.
Paso 6: Cambia los DNS y finaliza la migración
Cuando todo funcione, es hora de que el mundo vea tu tienda en el nuevo servidor.
- Ve al panel de tu registrador de dominios (donde compraste el dominio).
- Localiza la sección de Servidores DNS o Name Servers.
- Cámbialos por los que te haya proporcionado tu nuevo hosting.
- Guarda los cambios.
[INFO] La propagación de DNS puede tardar entre 1 y 48 horas. Durante ese tiempo, algunos usuarios verán la tienda vieja y otros la nueva. Es normal.
6.1 Mantén el servidor viejo activo unos días
No des de baja el viejo hosting inmediatamente. Deja la tienda funcionando allí al menos 48 horas. Así, si algún usuario todavía está siendo redirigido al servidor viejo, no se encontrará con una página de error.
Preguntas frecuentes (FAQ)
¿Qué pasa si me olvido de cambiar el parameters.php?
Tu tienda no podrá conectarse a la base de datos y verás un error de conexión. Simplemente edita el archivo con los datos correctos y vuelve a cargar la página.
¿Puedo migrar sin usar FTP?
Sí, si tu panel de control tiene opción de copia de seguridad automática y restauración en el nuevo servidor. En Syspanel, puedes usar la función Copias de seguridad → Restaurar en otro servidor.
¿Pierdo los pedidos que se hagan durante la migración?
Si la migración es rápida (menos de 1 hora), el riesgo es bajo. Para evitar pérdidas, haz la migración en un momento de baja actividad (por la noche o en fin de semana) y pon tu tienda en modo mantenimiento durante el proceso.
¿Necesito conocimientos de programación?
No. Con seguir estos pasos al pie de la letra, cualquier persona con acceso a su panel de hosting puede hacerlo. Eso sí, ten paciencia y verifica cada paso.
[TIP] Si algo sale mal, siempre puedes volver al servidor viejo restaurando el backup que hiciste al principio. Por eso es tan importante guardarlo.
Conclusión
Migrar PrestaShop de un servidor a otro no tiene por qué ser una pesadilla. Con un backup completo, un nuevo servidor bien configurado y siguiendo estos pasos, tu tienda estará funcionando en su nuevo hogar en menos de lo que crees. Recuerda: la clave está en la preparación y en probar todo antes de hacer el cambio definitivo.
Si usas Syspanel, el proceso es aún más visual y sencillo, ya que muchas tareas (como crear bases de datos o subir archivos) se hacen con unos pocos clics desde el panel, accesible por el puerto 2106.
Ahora ya sabes cómo hacerlo. ¡Manos a la obra y mucha suerte con tu tienda!
