Cómo migrar PrestaShop a otro servidor (cPanel a Plesk o viceversa)
Antes de empezar: ¿Qué significa migrar PrestaShop?
Migrar tu tienda PrestaShop a otro servidor es un proceso que consiste en trasladar todos los archivos (el código de la tienda) y la base de datos (donde están tus productos, pedidos y clientes) de un hosting a otro.
Puede sonar complicado, pero con esta guía paso a paso, incluso si no eres un experto técnico, podrás hacerlo de forma segura.
La migración puede ser entre paneles de control diferentes, como cPanel (muy común en hosting compartido) y Plesk (también muy popular). Aunque cambie la interfaz, el proceso lógico es el mismo: empaquetar, subir, importar y configurar.
Vamos a dividir el proceso en fases claras para que no te pierdas. No te saltes ningún paso, especialmente los de copia de seguridad.
Fase 1: Preparación y copia de seguridad (lo más importante)
Antes de tocar nada en tu servidor actual, necesitas tener una copia de seguridad completa y verificada. Esta es tu red de seguridad. Si algo sale mal, podrás volver atrás.
¿Qué necesitas tener a mano?
Anota estos datos, los necesitarás más adelante:
- Datos de acceso a tu hosting actual (cPanel o Plesk): usuario y contraseña.
- Datos de acceso a tu nuevo hosting: usuario y contraseña del panel (cPanel o Plesk).
- Credenciales de la base de datos actual: nombre de la BD, usuario y contraseña.
- Credenciales de la base de datos del nuevo hosting: la crearás o te la facilitará tu nuevo proveedor.
- Versión de PHP que usa tu tienda. Puedes verla en la configuración de tu hosting actual.
Paso 1: Copia de seguridad de los archivos de PrestaShop
- Accede al Administrador de archivos de tu panel actual (cPanel o Plesk).
- Busca la carpeta donde está instalada tu tienda. Normalmente se llama
public_html,htdocso una carpeta personalizada comotienda. - Selecciona todos los archivos y carpetas dentro de esa ruta. No te olvides de la carpeta
config,img,var(ocache),modulesythemes. - Usa la opción "Comprimir" o "Archivar" para crear un archivo
.zipo.tar.gz. Esto facilita la descarga y la subida posterior. - Descarga ese archivo comprimido a tu ordenador. No lo subas al nuevo servidor todavía.
Paso 2: Copia de seguridad de la base de datos
La base de datos es el cerebro de tu tienda. Necesitas una copia exacta.
- En tu panel actual, busca la sección "Bases de datos MySQL" o "phpMyAdmin".
- Entra en phpMyAdmin.
- En el panel izquierdo, selecciona la base de datos que usa tu PrestaShop (el nombre suele empezar con el prefijo de tu usuario, ej.
usuario_prestashop). - Haz clic en la pestaña "Exportar" en el menú superior.
- Elige el método "Rápido" y formato "SQL".
- Haz clic en "Continuar" o "Exportar". Se descargará un archivo
.sql. - Guarda este archivo junto al .zip de los archivos. Son tu salvavidas.
[WARNING]
Si tu tienda es grande (más de 1 GB), la exportación desde phpMyAdmin puede fallar o tardar mucho. En ese caso, usa herramientas como mysqldump desde la terminal SSH de tu hosting o los plugins de copia de seguridad de PrestaShop. Si no sabes qué es SSH, contacta con tu soporte de hosting actual para que te ayuden a exportar la base de datos.
Fase 2: Preparar el nuevo servidor (el destino)
Ahora que tienes tu red de seguridad, vamos a preparar la nueva casa de tu tienda.
Paso 1: Crear la base de datos en el nuevo hosting
- Accede al panel de control de tu nuevo hosting (ya sea cPanel o Plesk).
- Busca la sección de "Bases de datos MySQL".
- Crea una nueva base de datos. Anota el nombre que le pongas (ej.
nuevo_prestashop). - Crea un usuario para esa base de datos y una contraseña segura. Anota ambos datos.
- Asigna ese usuario a la base de datos con todos los privilegios (en cPanel suele ser un checkbox "TODOS LOS PRIVILEGIOS", en Plesk se selecciona en un menú).
Paso 2: Importar la base de datos al nuevo servidor
- En el nuevo panel, busca y abre phpMyAdmin.
- Selecciona la base de datos que acabas de crear (en el panel izquierdo).
- Haz clic en la pestaña "Importar".
- Haz clic en "Elegir archivo" y selecciona el archivo
.sqlque descargaste en la Fase 1. - Haz clic en "Continuar" o "Importar".
- Espera a que aparezca un mensaje de éxito. No cierres la página mientras se importa.
[TIP]
Si el archivo.sqles muy grande y la importación falla, puedes usar la herramienta "Importar" de Plesk o cPanel directamente (sin phpMyAdmin), que suele ser más tolerante con archivos grandes. Otra opción es usar un cliente FTP para subir el.sqla una carpeta y luego importarlo desde la terminal, pero eso ya es más técnico.
Fase 3: Subir los archivos de PrestaShop
Esta es la parte más pesada, pero no es difícil. Solo hay que tener paciencia.
Opción A: Usando el Administrador de archivos del panel (recomendado para principiantes)
- En tu nuevo panel, abre el Administrador de archivos.
- Navega a la carpeta raíz de tu nuevo hosting. En cPanel suele ser
public_html. En Plesk, la ruta es normalmentehttpdocsohtdocs. - Sube el archivo
.zipque descargaste en la Fase 1. Usa la opción "Subir" y espera a que termine. No lo subas dentro de una subcarpeta. - Una vez subido, verás el archivo
.zipen la lista de archivos. Haz clic derecho sobre él y selecciona "Extraer" o "Descomprimir". - Espera a que se extraigan todos los archivos. Esto puede tardar varios minutos.
- Una vez extraído, elimina el archivo
.zipdel servidor para mantenerlo limpio.
Opción B: Usando un cliente FTP (FileZilla)
- Descarga e instala FileZilla (es gratuito).
- Conecta con los datos FTP de tu nuevo hosting (servidor, usuario, contraseña y puerto 21).
- En el panel derecho (el servidor), navega a
public_htmlohttpdocs. - En el panel izquierdo (tu ordenador), navega a donde tienes la carpeta descomprimida de tu tienda.
- Selecciona todos los archivos de la carpeta local y arrástralos al panel derecho. Espera a que termine la subida.
[INFO]
Si usas FileZilla, asegúrate de subir los archivos dentro depublic_htmlohttpdocs, no la carpeta que los contiene. Es decir, si tienes una carpeta llamadatiendaen tu ordenador, abre esa carpeta y sube su contenido, no la carpetatiendaen sí, a menos que quieras que tu tienda esté entudominio.com/tienda.
Fase 4: Configurar la conexión a la base de datos
Ahora viene el paso más delicado: decirle a tu PrestaShop que use la base de datos del nuevo servidor.
- En el nuevo servidor, ve al Administrador de archivos.
- Navega a la carpeta donde has subido los archivos (la raíz de tu tienda).
- Busca la carpeta
app/config. - Dentro, encontrarás un archivo llamado
parameters.php. - Haz clic derecho sobre él y selecciona "Editar" o "Edit".
- Busca las líneas que empiezan por
'database_host','database_name','database_user'y'database_password'. - Modifica los valores con los datos de la base de datos que creaste en el nuevo hosting:
'database_host' => 'localhost', // Normalmente es localhost, pero verifica con tu hosting
'database_name' => 'nuevo_prestashop',
'database_user' => 'nuevo_usuario_bd',
'database_password' => 'tu_contraseña_segura',
- Guarda los cambios y cierra el archivo.
[WARNING]
A veces, el archivoparameters.phpno tiene permisos de escritura. Si no puedes editarlo, cambia los permisos del archivo a 644 (o 666 temporalmente) desde el Administrador de archivos (clic derecho -> "Permisos" o "Change Permissions"). Después de editarlo, vuelve a ponerlo a 644.
Fase 5: Ajustes finales y verificación
Ya casi lo tienes. Ahora hay que hacer algunos ajustes para que todo funcione a la perfección.
Paso 1: Modificar el archivo .htaccess (si existe)
PrestaShop genera un archivo .htaccess en la raíz para las URLs amigables. A veces necesita regenerarse.
- En el Administrador de archivos, busca el archivo
.htaccessen la raíz de tu tienda. - No lo edites manualmente si no sabes qué estás haciendo. El método más seguro es eliminarlo.
- PrestaShop lo regenerará automáticamente la próxima vez que accedas a la tienda o al panel de administración.
Paso 2: Probar la tienda
- Abre tu dominio en el navegador (ej.
www.tudominio.com). - Si todo ha ido bien, verás tu tienda funcionando.
- Si ves un error de conexión a la base de datos, revisa el paso 4 de nuevo, especialmente el nombre de la base de datos y el usuario.
- Si ves un error de "carpeta de caché no escribible", ve a la carpeta
var/cache(ocacheen versiones antiguas) y dale permisos 755 o 777 temporalmente.
Paso 3: Probar el panel de administración
- Accede a tu panel de administración (ej.
www.tudominio.com/admin12345). - Entra con tus credenciales habituales.
- Ve a Parámetros avanzados -> Rendimiento.
- Haz clic en "Vaciar la caché" para que todo se regenere con los nuevos datos.
Paso 4: Regenerar las URLs amigables
- En el panel de administración, ve a Parámetros avanzados -> SEO y URLs.
- Haz clic en el botón "Guardar" (aunque no cambies nada). Esto regenera el
.htaccesscorrectamente.
[TIP]
Si tu tienda usa SSL/HTTPS (debería), asegúrate de que el certificado SSL está activo en el nuevo hosting. Puedes activarlo desde el panel de control (suele ser gratis con Let's Encrypt). Si no lo activas, la tienda dará un aviso de "no seguro" y los pagos pueden fallar.
Fase 6: Migración de cPanel a Plesk (o viceversa) – Diferencias clave
Aunque el proceso es el mismo, hay pequeñas diferencias entre los paneles que debes conocer:
De cPanel a Plesk
- Ruta de archivos: En cPanel es
public_html. En Plesk eshttpdocsohtdocs. Asegúrate de subir los archivos a la ruta correcta. - Base de datos: En cPanel, el nombre de la BD suele tener el prefijo de tu usuario (ej.
usuario_bd). En Plesk, el nombre es libre. No olvides ajustar elparameters.php. - phpMyAdmin: En Plesk, el acceso a phpMyAdmin está en "Bases de datos" y luego en el icono de la BD. La interfaz es similar.
De Plesk a cPanel
- Ruta de archivos: En Plesk es
httpdocs. En cPanel espublic_html. Sube los archivos apublic_html. - Base de datos: En Plesk, el usuario de la BD puede ser distinto al de la base de datos. En cPanel, el usuario y la BD suelen tener un prefijo común. Ajusta el
parameters.phpcon los nuevos nombres. - Permisos: En cPanel, los permisos de archivos y carpetas son más estrictos. Asegúrate de que las carpetas tienen permisos 755 y los archivos 644.
[INFO]
Si tu hosting actual usa Syspanel (antes conocido como HestiaCP), el proceso es el mismo que con cPanel o Plesk. La diferencia es que para acceder a la gestión de archivos y bases de datos, tendrás que entrar por el puerto 2106 (ej.https://tudominio:2106). Una vez dentro, busca las secciones de "Archivos" y "Bases de datos".
Fase 7: Actualizar el DNS (el paso final)
Este es el momento de la verdad. Hasta ahora, has estado trabajando "en local" en el nuevo servidor sin que nadie más lo vea. Ahora hay que apuntar tu dominio al nuevo hosting.
- No hagas esto hasta que la tienda funcione perfectamente en el nuevo servidor. Puedes probarlo temporalmente editando el archivo
hostsde tu ordenador o usando herramientas online, pero eso es más técnico. - Ve a tu proveedor de dominio (donde compraste tu dominio, ej. GoDaddy, Namecheap, etc.).
- Busca la sección de "DNS" o "Nameservers".
- Cambia los nameservers por los que te haya proporcionado tu nuevo hosting. Normalmente son dos (ej.
ns1.nuevohosting.comyns2.nuevohosting.com). - Guarda los cambios.
[WARNING]
El cambio de DNS puede tardar entre 24 y 72 horas en propagarse por todo el mundo. No te preocupes si ves la tienda en el hosting antiguo desde algunos dispositivos y en el nuevo desde otros. Es normal durante la transición. No borres nada del hosting antiguo hasta que hayan pasado al menos 72 horas y todo funcione correctamente en el nuevo.
Preguntas Frecuentes (FAQ)
¿Puedo migrar PrestaShop sin perder los pedidos y clientes?
Sí, siempre que hagas una copia de seguridad completa de la base de datos y la importes correctamente en el nuevo servidor. Los pedidos, clientes, productos y configuraciones están todos en la base de datos.
¿Qué hago si después de migrar veo un error "La conexión con la base de datos no se ha podido establecer"?
Este es el error más común. Casi siempre es por un fallo en el archivo app/config/parameters.php. Revisa que el nombre de la base de datos, el usuario y la contraseña sean exactamente los que creaste en el nuevo hosting. También verifica que el database_host sea localhost (a menos que tu hosting te diga lo contrario).
¿Necesito cambiar algo en el archivo settings.inc.php?
En versiones antiguas de PrestaShop (1.6 y anteriores), el archivo era config/settings.inc.php. En versiones modernas (1.7 y 8.x), es app/config/parameters.php. Si tu archivo es settings.inc.php, edítalo con los mismos datos
