Cómo transferir PrestaShop a otro servidor (cPanel o Plesk) sin perder datos
Mudarse de servidor puede sonar aterrador, especialmente si tienes una tienda online funcionando. Pero no te preocupes: migrar PrestaShop es un proceso mecánico que, si se sigue paso a paso, no tiene pérdida (literalmente). En esta guía te explico cómo transferir PrestaShop a otro servidor (cPanel o Plesk) sin perder datos, pensado para que lo entiendas aunque nunca hayas tocado un archivo de configuración.
Vamos a dividir el proceso en fases: preparación, respaldo, copia de archivos, exportación de base de datos, importación y ajustes finales. Al final, añado una sección de preguntas frecuentes (FAQ) para resolver esas dudas que siempre surgen.
Fase 1: Preparación antes de mover PrestaShop
Antes de tocar un solo archivo, necesitas tener claro el destino. No puedes improvisar porque podrías dejar la tienda caída durante horas.
Elige tu nuevo hosting
Si ya tienes el servidor contratado, perfecto. Si no, asegúrate de que cumpla con los requisitos de PrestaShop (PHP 7.4 o superior, MySQL 5.6+, SSL gratuito, etc.). Tanto cPanel como Plesk son paneles muy comunes y el proceso es similar, aunque en esta guía te doy los pasos para ambos.
Consigue los datos de acceso
Anota en un papel o en un bloc de notas:
- Del servidor actual: usuario y contraseña de FTP, acceso a phpMyAdmin (o similar) y credenciales de la base de datos (nombre, usuario, contraseña y host).
- Del servidor nuevo: lo mismo que arriba, pero del panel de control (cPanel o Plesk).
[INFO] Si tu hosting actual usa una IP dedicada o un puerto especial para FTP, asegúrate de tenerlo a mano. Este dato suele aparecer en el correo de bienvenida del hosting.
Desactiva la tienda temporalmente (opcional pero recomendado)
Para evitar que se generen pedidos o cambios en la base de datos mientras copias los archivos, puedes poner la tienda en modo mantenimiento. En PrestaShop 1.7 y 1.8: Parámetros avanzados > Rendimiento > Modo mantenimiento. Actívalo y guarda. Esto no borra nada, solo muestra un cartel a los visitantes.
Fase 2: Haz un respaldo completo (backup)
Este es el paso más importante. Un backup mal hecho es la causa del 90% de los problemas al cambiar hosting PrestaShop.
2.1. Respaldo de archivos (código fuente)
Conéctate al servidor antiguo mediante FTP (FileZilla es gratuito y fácil) o desde el administrador de archivos de cPanel/Plesk.
- Descarga la carpeta raíz de PrestaShop (normalmente llamada
public_html,httpdocsohtdocs). - Asegúrate de que la descarga incluya carpetas ocultas como
.htaccess(en algunos FTP tienes que activar "mostrar archivos ocultos"). - No te olvides de la carpeta
img(las fotos de productos) yvar/cache(si existe).
[WARNING] No borres nada del servidor antiguo hasta que la tienda nueva esté funcionando al 100%. Ten el backup en tu ordenador y, si puedes, en la nube.
2.2. Exportar la base de datos
La base de datos contiene productos, clientes, pedidos y configuración. Sin ella, tu tienda es un cascarón vacío.
- Ve a phpMyAdmin en el servidor antiguo (suele estar en cPanel > Bases de datos > phpMyAdmin, o en Plesk > Bases de datos > phpMyAdmin).
- Selecciona la base de datos de PrestaShop (la que aparece en tu archivo
app/config/parameters.phpoconfig/settings.inc.phpen versiones antiguas). - Haz clic en la pestaña Exportar.
- Elige el método Rápido y formato SQL. Si te pide opciones, marca "Enviar" y descarga el archivo
.sql.
[TIP] Si la base de datos es muy grande (más de 100 MB), puede ser mejor exportarla con "Personalizado" y activar la compresión gzip. Así el archivo pesa menos y es más fácil de subir al nuevo servidor.
Fase 3: Crear la base de datos en el nuevo servidor
Ahora pasamos al panel nuevo (cPanel o Plesk). Aquí es donde muchos se lían, pero es muy sencillo.
En cPanel
- Entra en cPanel > Bases de datos MySQL.
- Crea una base de datos nueva (por ejemplo,
mipresta_db). - Crea un usuario MySQL (por ejemplo,
mipresta_user) con una contraseña segura. - Añade el usuario a la base de datos y asígnale TODOS LOS PRIVILEGIOS.
- Anota el nombre de la base, el usuario y la contraseña. Los necesitarás para importar.
En Plesk
- Ve a Bases de datos y haz clic en Agregar base de datos.
- Ponle un nombre (por ejemplo,
mipresta). - Crea un usuario y contraseña para esa base.
- Pulsa aceptar. Plesk crea la base y el usuario automáticamente.
Importar la base de datos
- En cPanel, dentro de la base de datos recién creada, busca phpMyAdmin.
- Selecciona la base de datos (debe estar vacía).
- Ve a Importar y sube el archivo
.sqlque descargaste antes. - Espera a que termine. Si el archivo es grande, puede tardar varios minutos.
[WARNING] No importes en una base de datos que ya tenga tablas. Si lo haces, dará error de duplicados. Siempre importa en una base vacía.
Fase 4: Subir los archivos de PrestaShop al nuevo servidor
Esta es la parte más tediosa pero simple. Usa FTP o el administrador de archivos del panel.
4.1. Subir la carpeta de archivos
- Conéctate al nuevo servidor por FTP (mismo método que usaste para descargar, pero con los datos del hosting nuevo).
- Sube todo el contenido de la carpeta raíz de PrestaShop a la carpeta raíz del nuevo servidor (
public_htmlen cPanel,httpdocsen Plesk). - Si usas FileZilla, puedes arrastrar la carpeta completa. Ten paciencia: si son muchos archivos, tardará.
[TIP] Si tienes acceso SSH al servidor nuevo, puedes usar rsync o wget para copiar los archivos mucho más rápido. Pero si no sabes qué es eso, FTP es perfectamente válido.
4.2. Ajustar permisos de carpetas
PrestaShop necesita permisos de escritura en ciertas carpetas. En cPanel/Plesk, selecciona las carpetas var/cache, img, config (a veces) y modules y dales permiso 755 (o 775 en algunos servidores). Si no sabes cómo, la mayoría de las veces el propio PrestaShop los configura automáticamente al acceder, pero es mejor asegurarse.
Fase 5: Conectar PrestaShop con la nueva base de datos
Aquí es donde se produce el "milagro". Si no haces este paso, tu tienda mostrará un error de conexión.
En PrestaShop 1.7 y 1.8
- Busca el archivo
app/config/parameters.phpen el servidor nuevo. - Ábrelo con un editor de texto (Bloc de notas, Notepad++, etc.).
- Verás algo como esto:
'database_host' => 'localhost',
'database_name' => 'nombre_bd',
'database_user' => 'usuario_bd',
'database_password' => 'contraseña',
- Cambia los valores por los de la base de datos que creaste en el servidor nuevo.
- Guarda el archivo y súbelo de nuevo al servidor (si lo editaste en local).
En PrestaShop 1.6 (o versiones antiguas)
El archivo es config/settings.inc.php y las variables son _DB_SERVER_, _DB_NAME_, _DB_USER_ y _DB_PASSWD_.
[INFO] El database_host casi siempre es localhost, pero en algunos hostings de pago puede ser una URL tipo mysql.midominio.com. Revisa el correo de bienvenida del hosting nuevo.
Fase 6: Ajustes finales y pruebas (no te saltes esto)
Ya has subido archivos y base de datos. Pero falta el toque final.
6.1. Limpiar la caché de PrestaShop
La caché antigua puede guardar rutas del servidor anterior y causar errores raros.
- Entra en el panel de administración de PrestaShop (en el nuevo servidor). Si te da error al cargar, borra manualmente el contenido de la carpeta
var/cache(en PrestaShop 1.7+) ocache(en 1.6). - En el panel, ve a Parámetros avanzados > Rendimiento y pulsa "Vaciar la caché".
6.2. Regenerar el .htaccess
El archivo .htaccess es específico del servidor. Si no funciona bien, puede dar errores 404 o de redirección.
- En el panel de administración, ve a Parámetros avanzados > URL y guarda de nuevo (sin cambiar nada). Esto fuerza la regeneración del
.htaccess. - Si no tienes acceso al panel, borra el
.htaccessdel servidor nuevo y vuelve a subir el que tenías en el backup. Luego intenta acceder a la tienda.
6.3. Cambiar la URL en la base de datos (si cambiaste de dominio o subcarpeta)
Si vas a usar el mismo dominio, no hace falta. Pero si cambias de dominio o de subcarpeta (por ejemplo, antes estaba en midominio.com/tienda y ahora en midominio.com), debes actualizar las URLs en la base de datos.
- Ve a phpMyAdmin en el servidor nuevo.
- Ejecuta estas consultas SQL (cambiando
midominio.compor tu URL):
UPDATE ps_shop_url SET domain='midominio.com', domain_ssl='midominio.com';
UPDATE ps_configuration SET value='midominio.com' WHERE name='PS_SHOP_DOMAIN';
UPDATE ps_configuration SET value='midominio.com' WHERE name='PS_SHOP_DOMAIN_SSL';
[WARNING] Si no haces esto, las imágenes y los enlaces seguirán apuntando al servidor antiguo y se verán rotos.
6.4. Probar todo
- Accede a la tienda (front office) y comprueba que se ve bien.
- Entra al panel de administración (
/admino la URL que hayas configurado). - Revisa que los productos, pedidos y clientes están.
- Haz un pedido de prueba (puedes desactivar el pago real) para verificar que el carrito funciona.
- Comprueba que los correos electrónicos se envían (puedes usar un plugin de test de SMTP).
6.5. Cambiar el DNS (si aplica)
Si cambias de servidor pero mantienes el mismo dominio, tendrás que apuntar el DNS al nuevo servidor.
- Ve a tu proveedor de dominios (donde compraste el dominio) y cambia los registros A (o los nameservers) a la IP del nuevo hosting.
- Ten en cuenta que la propagación DNS puede tardar entre 24 y 48 horas.
Fase 7: Desactivar el modo mantenimiento y celebrar
Cuando todo funcione, desactiva el modo mantenimiento desde Parámetros avanzados > Rendimiento. Tu tienda ya está operativa en el nuevo servidor.
No borres los archivos del servidor antiguo hasta pasados unos días, por si acaso. Y si algo falla, siempre puedes volver a importar el backup.
Preguntas frecuentes (FAQ) sobre migrar PrestaShop
¿Cuánto tarda el proceso de transferencia?
Depende del tamaño de tu tienda. Una tienda pequeña (menos de 500 MB) puede estar lista en 1-2 horas. Una tienda grande (varios GB) puede llevar medio día. La mayor parte del tiempo se va en subir archivos por FTP.
¿Puedo hacerlo sin conocimientos técnicos?
Sí, pero con cuidado. Si sigues esta guía paso a paso, es factible. Eso sí, si tu tienda tiene módulos de pago muy complejos o una base de datos enorme, quizás sea mejor contratar a un profesional.
¿Qué pasa si me equivoco en la base de datos?
Nada grave. Simplemente repite la importación en una base nueva. No se dañan los archivos del servidor antiguo si no los has borrado.
¿Perderé los pedidos o clientes?
No, si haces el backup correctamente. La base de datos contiene toda esa información y se migra tal cual.
¿Necesito cambiar algo en los módulos de pago?
Sí, a veces. Los módulos de pago (PayPal, Stripe, etc.) suelen estar vinculados a una URL. Deberás actualizar las URLs de retorno en las cuentas de los proveedores de pago.
¿Qué hago si aparece un error 500 después de migrar?
Es muy común. Suele ser por permisos de carpetas incorrectos o por una versión de PHP incompatible. Revisa los permisos (755) y la versión de PHP en el panel del hosting. Si no lo ves claro, mira el log de errores en var/logs (PrestaShop 1.7+) o logs (1.6).
¿Y si uso Syspanel (antes HestiaCP) en el servidor nuevo?
Si tu hosting usa Syspanel, el proceso es el mismo que con cPanel, pero el acceso al panel se hace a través del puerto 2106 (por ejemplo, https://tu-servidor:2106). La gestión de bases de datos y archivos se hace desde la sección "Base de datos" y "Administrador de archivos". En Syspanel, la carpeta raíz suele ser public_html y el acceso a phpMyAdmin está dentro de la base de datos.
¿Puedo migrar sin interrumpir el servicio?
Si tienes una tienda con mucho tráfico, puedes hacer la migración en horas de baja afluencia y con el modo mantenimiento activado. No hay forma de hacerlo en caliente sin herramientas avanzadas, así que acepta una pequeña ventana de inactividad.
Consejos finales para una migración sin sustos
- Haz siempre dos backups: uno en local y otro en la nube.
- Anota todo (contraseñas, nombres de bases de datos) en un lugar seguro. No los guardes en el mismo archivo que subes al servidor.
- No borres nada del servidor antiguo hasta que la tienda nueva funcione perfectamente durante 72 horas.
- Actualiza PrestaShop después de migrar, si es posible. A veces la migración resuelve problemas de versiones antiguas.
- Si algo falla, respira. Con el backup siempre puedes volver a empezar.
migrar PrestaShop no es un misterio, es un proceso ordenado. Sigue estos pasos y tu tienda estará en el nuevo servidor sin perder ni un solo dato. Si te atascas, busca ayuda en foros de PrestaShop o en el soporte de tu hosting. ¡Mucha suerte!
