Cómo migrar PrestaShop a un nuevo servidor (cPanel o Plesk) sin pérdida de datos
Mudarte de servidor puede parecer una tarea titánica, pero con la guía adecuada, es un proceso completamente manejable. Si estás leyendo esto, es probable que hayas decidido cambiar hosting PrestaShop por mejores prestaciones, mayor velocidad o un soporte más eficiente. La buena noticia es que migrar PrestaShop servidor es un procedimiento muy común y documentado, siempre que sigas los pasos en el orden correcto.
El objetivo de esta guía es que realices una migración PrestaShop sin sustos, sin pérdidas de pedidos, clientes o configuración. Vamos a desglosar el proceso para dos de los paneles de control más utilizados en el mercado: cPanel y Plesk. Aunque la interfaz cambia, la lógica interna es la misma: mover archivos, exportar la base de datos, importarla y ajustar la configuración.
Prepárate un café, tómate tu tiempo y sigue esta guía paso a paso. Al final, tendrás tu tienda funcionando en el nuevo servidor como si nada hubiera pasado.
1. Preparación Previa: La Clave del Éxito
Antes de tocar un solo archivo, necesitas tener un plan claro. No se trata solo de copiar y pegar; se trata de hacerlo de forma segura. La preparación evitará el 90% de los problemas comunes.
1.1. Haz una Copia de Seguridad Completa (Backup)
Este es el paso más importante de todo el proceso. Si algo sale mal, tu salvación será esta copia. Necesitas dos cosas: los archivos de tu tienda y la base de datos.
- Archivos: Accede a tu panel de control actual (el antiguo). Busca la opción de "Administrador de archivos" o usa un cliente FTP como FileZilla. Descarga la carpeta raíz de tu PrestaShop (normalmente
public_htmlohttpdocs) completa a tu ordenador. - Base de Datos: Ve a la sección de bases de datos MySQL. En cPanel, busca "phpMyAdmin". En Plesk, también lo encontrarás en la sección de bases de datos. Selecciona tu base de datos de PrestaShop y elige la opción "Exportar". Asegúrate de exportar en formato SQL y con la opción "Completa" o "Todos los registros".
[WARNING] No continúes hasta tener ambos archivos (el comprimido de archivos y el .SQL) en tu ordenador. Verifica que el archivo SQL no tenga un tamaño de 0 KB y que el comprimido de archivos contenga las carpetas config, img, modules, etc.
1.2. Pon tu Tienda en Modo Mantenimiento
Para evitar que se generen pedidos o cambios en la base de datos durante la migración, es crucial poner tu tienda en mantenimiento.
- Entra al panel de administración de tu PrestaShop.
- Ve a "Parámetros avanzados" > "Mantenimiento".
- Activa el modo mantenimiento (pon el interruptor en "Sí").
- Puedes añadir tu IP para seguir viendo la tienda, pero para el resto del mundo será una página de "en construcción".
Esto garantiza que la copia que hagas sea una "foto" estática y consistente de tu negocio.
1.3. Revisa los Requisitos del Nuevo Servidor
Tu nuevo hosting debe ser compatible con la versión de PrestaShop que tienes. Comprueba la versión de PHP, MySQL y si necesitas extensiones específicas (como curl, gd, etc.). Puedes ver esto en "Parámetros avanzados" > "Información" en tu back-office actual. Si tu nuevo servidor no cumple los requisitos, la migración fallará o dará errores extraños.
2. Migrar los Archivos de tu Tienda
Ahora que tienes la copia de seguridad, vamos a trabajar en el nuevo servidor. El proceso es similar en cPanel y Plesk, solo cambia la interfaz.
2.1. Crear la Base de Datos en el Nuevo Servidor
Primero, creamos el "contenedor" donde vivirá la información.
- En cPanel: Ve a "Bases de datos MySQL". Crea una nueva base de datos, un nuevo usuario y asígnale todos los privilegios. Anota el nombre de la base, el usuario y la contraseña.
- En Plesk: Ve a "Bases de datos". Haz clic en "Agregar base de datos". Ponle un nombre y crea un usuario con contraseña. Anota estos datos.
[INFO] A menudo, el nombre de la base de datos en cPanel lleva un prefijo con el nombre de tu cuenta (ej. usuario_prestashop). Asegúrate de anotarlo exactamente como aparece.
2.2. Subir los Archivos (FTP o Administrador de Archivos)
Ahora subimos la carpeta que descargaste antes.
- Método FTP: Usa un cliente FTP (FileZilla es el más popular) y conéctate a tu nuevo servidor con las credenciales FTP que te haya dado tu nuevo proveedor. Sube todos los archivos a la carpeta raíz (
public_htmlohttpdocs). - Método Administrador de Archivos: En cPanel o Plesk, usa el administrador de archivos. Sube el archivo comprimido (el .zip o .tar.gz que descargaste) y luego haz clic derecho sobre él y selecciona "Extraer".
[TIP] Si usas el método de extracción en el servidor, evita subir archivos uno a uno, ya que es muy lento. Comprime todo en tu ordenador, sube el .zip y extráelo en el destino. Es mucho más rápido y eficiente.
2.3. Importar la Base de Datos
El siguiente paso es llenar la base de datos que creamos.
- En cPanel: Ve a phpMyAdmin. Selecciona la base de datos que creaste (debe estar vacía). Haz clic en la pestaña "Importar". Selecciona el archivo
.sqlque descargaste y haz clic en "Continuar". - En Plesk: Ve a la sección de tu base de datos y busca el icono de phpMyAdmin (o "Administrar"). Una vez dentro, sigue el mismo proceso: pestaña "Importar", selecciona el archivo y ejecuta.
Este proceso puede tardar unos minutos si la base de datos es grande. No cierres la ventana hasta que veas el mensaje de éxito.
3. Configurar la Conexión y Actualizar Parámetros
Hemos movido los muebles, pero ahora hay que decirle a PrestaShop dónde están las llaves (la base de datos).
3.1. Editar el Archivo de Configuración (parameters.php)
Este es el archivo que conecta tu tienda con la base de datos. Está en la carpeta app/config/.
- Abre el archivo
parameters.phpcon un editor de texto (como el Bloc de notas o Notepad++). - Busca las líneas que dicen
database_host,database_name,database_userydatabase_password. - Sustitúyelas por los datos de la nueva base de datos que creaste en el paso 2.1.
'database_host' => 'localhost',
'database_name' => 'tu_nueva_base',
'database_user' => 'tu_nuevo_usuario',
'database_password' => 'tu_nueva_contraseña',
[WARNING] Guarda el archivo con la codificación UTF-8 sin BOM. Un error aquí provocará el famoso "Error de conexión a la base de datos".
3.2. Limpiar la Carpeta Cache
A veces, la caché guarda rutas antiguas. Para evitar problemas, borra el contenido de las carpetas var/cache/ (o cache/ en versiones antiguas) y var/logs/. No borres las carpetas en sí, solo su contenido. Esto fuerza a PrestaShop a regenerar la caché con las nuevas rutas.
3.3. Actualizar la URL de la Tienda
Si tu dominio no cambia, este paso no es necesario. Pero si estás usando un dominio temporal (ej. tudominio.com a servidor-nuevo.com), debes actualizarlo.
- Entra a tu back-office en el nuevo servidor. Puede que necesites editar el archivo
config/settings.inc.php(en versiones antiguas) o usar un truco con SQL. - El método más fiable es ejecutar una consulta SQL en phpMyAdmin. Ve a la base de datos importada y ejecuta:
UPDATE ps_configuration SET value = 'http://tu-nuevo-dominio.com' WHERE name IN ('PS_SHOP_DOMAIN', 'PS_SHOP_DOMAIN_SSL');
Reemplaza ps_ por tu prefijo de tabla (si lo cambiaste) y http://tu-nuevo-dominio.com por tu URL real. También debes actualizar las tablas ps_shop_url.
UPDATE ps_shop_url SET domain = 'tu-nuevo-dominio.com', domain_ssl = 'tu-nuevo-dominio.com';
4. Proceso Específico para cPanel vs Plesk
Aunque los pasos son similares, hay matices.
4.1. Migrar PrestaShop servidor con cPanel
cPanel es muy visual. La ventaja es que suele tener la opción de "Migraciones" en el propio panel, pero para una sola tienda, es más fiable hacerlo manualmente como hemos descrito.
- Copias de seguridad: cPanel tiene una herramienta de "Copia de seguridad" que te permite descargar un archivo comprimido con todo el contenido de
public_htmly las bases de datos de forma separada. Úsala si te resulta más cómodo. - Subdominio temporal: Si tu dominio principal aún apunta al servidor antiguo, crea un subdominio como
prueba.tudominio.comen cPanel y apunta su raíz a la carpeta donde subiste los archivos. Así podrás testear la tienda sin afectar a la actual.
4.2. Transferir PrestaShop a un servidor Plesk
Plesk es un poco más restrictivo con los permisos de archivos, pero igual de potente.
- Permisos: Asegúrate de que los archivos y carpetas tengan los permisos correctos (normalmente 755 para carpetas y 644 para archivos). En Plesk, puedes seleccionar todo y cambiar los permisos en bloque.
- Panel de archivos: Plesk tiene un gestor de archivos muy completo. Puedes subir un archivo comprimido de gran tamaño sin problemas.
- Syspanel (HestiaCP): Si tu proveedor usa Syspanel (HestiaCP) en lugar de cPanel o Plesk, el proceso es igual de sencillo. El acceso se realiza a través del puerto 2106 (ej.
https://tu-servidor:2106). Dentro, busca la sección de "Web" para gestionar archivos y "Base de datos" para importar tu SQL. La lógica es la misma: subir archivos, importar SQL y editarparameters.php.
[INFO] Si usas Syspanel, recuerda que el puerto de acceso es el 2106. No intentes entrar por el puerto 8443 o 2083, no funcionará.
5. Solución de Problemas Comunes y Preguntas Frecuentes (FAQ)
Aquí tienes las dudas más habituales que surgen durante una migración PrestaShop.
5.1. "Error de conexión a la base de datos" después de migrar
Causa: Los datos en parameters.php son incorrectos o la base de datos no se importó bien.
Solución: Revisa tres veces el nombre de la base de datos, el usuario y la contraseña. Asegúrate de que el usuario tenga todos los privilegios sobre la base de datos (en cPanel/Plesk, a veces hay que asignarlos después de crearlos). Verifica que el archivo parameters.php no tenga caracteres extraños.
5.2. "Archivo no encontrado" o errores 404 en todas las páginas
Causa: El archivo .htaccess (para Apache) o la configuración de Nginx no se ha regenerado.
Solución: Entra al back-office de PrestaShop (si puedes) y ve a "Parámetros avanzados" > "Rendimiento". Haz clic en "Regenerar" en la sección de "URLs amigables". Si no puedes entrar, borra el archivo .htaccess de la raíz. PrestaShop lo regenerará automáticamente al acceder.
5.3. Las imágenes no cargan (aparecen rotas)
Causa: Las rutas de las imágenes están cacheadas o la carpeta img no se subió correctamente.
Solución: Borra el contenido de la carpeta var/cache (o cache). Si el problema persiste, es que la carpeta img está incompleta. Revisa que el archivo img/cache exista. En PrestaShop 1.7+, puedes regenerar las miniaturas desde "Parámetros avanzados" > "Rendimiento" > "Regenerar miniaturas".
5.4. ¿Puedo cambiar el nombre de la base de datos durante la migración?
Sí, puedes. De hecho, es recomendable para que el nombre sea más descriptivo. Solo asegúrate de actualizar el nombre en el archivo parameters.php.
5.5. ¿Qué pasa si mi tienda es muy grande (más de 5 GB)?
Para tiendas grandes, el método FTP manual puede fallar o tardar horas. Te recomiendo usar la función de "Copia de seguridad" de cPanel y luego restaurarla en el nuevo servidor si tu proveedor lo permite. Si no, usa SSH (si tienes acceso) con comandos como rsync o wget para transferir los archivos directamente entre servidores, evitando pasar por tu ordenador.
5.6. ¿Es necesario cambiar los DNS después de la migración?
Sí. Una vez que todo esté funcionando en el nuevo servidor, debes cambiar los servidores DNS de tu dominio en el registrador donde lo compraste. Este cambio puede tardar entre 24 y 72 horas en propagarse globalmente. Hasta entonces, algunos usuarios verán la tienda antigua y otros la nueva.
[TIP] Para probar tu tienda antes de cambiar los DNS, puedes editar el archivo hosts de tu ordenador local. Añade una línea con la IP de tu nuevo servidor y el nombre de tu dominio. Así verás la nueva tienda solo en tu PC, sin afectar al resto del mundo.
6. Pasos Finales y Verificación Completa
Has hecho el trabajo duro. Ahora toca la revisión final.
6.1. Verificación de Funcionalidad
- Front-office: Revisa que la página principal cargue, que las categorías funcionen, que las imágenes se vean y que el carrito de compra añada productos sin errores.
- Back-office: Entra al panel de administración. Comprueba que puedes ver pedidos, clientes y módulos.
- Pagos: Si usas pasarelas de pago (PayPal, Stripe, etc.), ve a la configuración y revisa que las claves API sean correctas. A veces, las URL de retorno o los webhooks deben actualizarse con la nueva URL si cambiaste de dominio.
6.2. Desactivar el Modo Mantenimiento
Una vez que todo esté verificado y funcionando, ve a "Parámetros avanzados" > "Mantenimiento" y desactiva el modo mantenimiento. Tu tienda vuelve a estar operativa para el público.
6.3. Actualizar y Limpiar
- Caché: Después de desactivar el mantenimiento, vuelve a limpiar la caché para asegurarte de que no hay restos de la configuración antigua.
- Módulos: Ve a "Módulos" > "Administrador de módulos" y haz clic en "Actualizar todo" si hay actualizaciones disponibles. A veces, los módulos necesitan una actualización menor para adaptarse al nuevo entorno.
6.4. Monitorización Post-Migración
Durante los primeros días, revisa los logs de errores del servidor y de PrestaShop (en var/logs/). Si ves errores recurrentes, búscalos en foros especializados. Es normal que aparezcan pequeños avisos, pero un error crítico (como un "500 Internal Server Error") requiere atención inmediata.
Conclusión
Migrar PrestaShop servidor no es un misterio, es un procedimiento metódico. Siguiendo esta guía, has transferido todos tus archivos, tu base de datos y has ajustado la configuración para que
