Cómo migrar una web de PrestaShop a otro servidor con cPanel
Mudar una tienda online puede parecer una tarea titánica, sobre todo si dependes de ella para vivir. Pero tranquilo, migrar PrestaShop cPanel es un proceso muy mecánico que, siguiendo los pasos correctos, se completa en menos de una hora. No necesitas ser un gurú de la programación; solo necesitas orden, paciencia y esta guía que he preparado para ti.
Vamos a desglosar el proceso de migración PrestaShop en fases muy claras: preparación, copia de seguridad, subida de archivos, importación de base de datos y ajustes finales. Al final, tendrás tu web funcionando en el nuevo servidor sin perder ni un solo pedido.
Antes de Empezar: Preparación y Requisitos
Antes de tocar nada, debemos asegurarnos de que tenemos las herramientas adecuadas. No queremos empezar a mover archivos a ciegas.
Requisitos indispensables
Para mover PrestaShop servidor necesitarás:
- Acceso al panel de control antiguo (normalmente cPanel, Plesk o similar) para generar las copias.
- Acceso al nuevo cPanel (el destino) con credenciales de FTP o Administrador de archivos.
- Un editor de texto plano (como el Bloc de notas o Notepad++). Evita Word porque corrompe archivos de configuración.
- Cliente FTP (como FileZilla) o el Administrador de archivos de cPanel.
- Acceso a phpMyAdmin en ambos servidores.
Comprobar la compatibilidad de versiones
Este punto es crítico. Si tu tienda usa PrestaShop 1.6 y el nuevo servidor tiene PHP 8.0, tendrás problemas. Verifica la versión de PHP que requiere tu PrestaShop y configúrala en el nuevo servidor antes de migrar.
[WARNING] No intentes migrar una tienda muy antigua (PrestaShop 1.5 o inferior) a un PHP demasiado moderno. Verás pantallas blancas o errores de compatibilidad. Si es tu caso, contacta con tu proveedor de hosting para que te asesore.
Crear una cuenta de correo temporal (opcional pero útil)
Si cambias de servidor, es probable que los registros MX (correo) tarden en propagarse. Para evitar perder correos de pedidos durante la migración, puedes crear una cuenta de correo temporal en el nuevo hosting y redirigir allí el correo de la tienda. Esto es un extra, pero te ahorrará dolores de cabeza.
Paso 1: Realizar la Copia de Seguridad Completa en el Origen
El primer paso para migrar PrestaShop cPanel es empaquetar toda tu tienda en un solo archivo. Esto incluye el código fuente (archivos PHP, imágenes, temas) y la base de datos (pedidos, clientes, productos).
1.1. Copia de seguridad de los archivos
Accede al cPanel antiguo y busca la sección "Archivos" > "Administrador de archivos".
- Navega hasta la carpeta
public_html(owww, o la carpeta donde esté instalada tu tienda). - Selecciona todos los archivos dentro de esa carpeta (Ctrl+A o Cmd+A).
- Haz clic derecho y elige "Comprimir".
- Selecciona el formato Zip y crea el archivo. Se llamará algo así como
archivos.zip.
[INFO] Si tu tienda es muy grande (más de 2 GB), es mejor comprimir por partes o usar el comando
tardesde la terminal SSH si tu hosting lo permite. La compresión desde el panel puede agotar el tiempo de ejecución.
1.2. Copia de seguridad de la base de datos
Ahora vamos a por la base de datos. Sin ella, tu tienda es solo un cascarón vacío.
- En el cPanel antiguo, busca la sección "Bases de datos" > "phpMyAdmin".
- En el panel izquierdo, selecciona la base de datos de tu PrestaShop (normalmente empieza con el prefijo de tu usuario, ej:
usuario_prestashop). - Haz clic en la pestaña "Exportar" en la parte superior.
- Elige el método "Rápido" y formato "SQL".
- Haz clic en "Continuar" y descarga el archivo
.sqlresultante.
Importante: Anota el nombre de la base de datos y el usuario, ya que lo necesitarás más adelante.
Paso 2: Subir Archivos al Nuevo Servidor (cPanel)
Ahora que tenemos nuestro archivos.zip y basededatos.sql, es hora de llevar todo al nuevo hogar.
2.1. Subir y descomprimir el archivo ZIP
En el nuevo cPanel, accede al Administrador de archivos.
- Navega a la carpeta
public_html. Si está vacía, perfecto. Si no, asegúrate de que no haya nada importante. - Haz clic en "Subir" y selecciona tu
archivos.zip. - Una vez subido, busca el archivo en el listado, haz clic derecho sobre él y selecciona "Extraer".
- Espera a que se complete la extracción. Esto puede tardar unos minutos.
[TIP] Si el Administrador de archivos se queda congelado, usa un cliente FTP como FileZilla para subir el ZIP y luego descomprímelo desde el Administrador de archivos de cPanel. Es más estable.
2.2. Crear la base de datos y el usuario en el nuevo cPanel
Este es un paso que muchos olvidan. Tu tienda necesita una base de datos nueva en el servidor destino.
- En el nuevo cPanel, busca la sección "Bases de datos MySQL".
- Crea una nueva base de datos (ej:
nuevo_prestashop). - Crea un nuevo usuario (ej:
nuevo_admin) y asígnale una contraseña segura. - Añade el usuario a la base de datos y otórgale TODOS LOS PRIVILEGIOS.
Paso 3: Importar la Base de Datos y Editar la Configuración
Ya tenemos los archivos en su sitio. Ahora toca el "cerebro" de la tienda.
3.1. Importar el archivo SQL
- Ve a phpMyAdmin en el nuevo cPanel.
- Selecciona la base de datos que acabas de crear (la vacía).
- Haz clic en la pestaña "Importar".
- Selecciona tu archivo
basededatos.sqly haz clic en "Continuar". - Espera a que termine. Si la base de datos es grande, puede tardar. Si da error de tiempo de espera, pide a tu hosting que aumente el
max_execution_time.
3.2. Modificar el archivo de configuración (parameters.php)
Este es el archivo que conecta tu tienda con la base de datos. Es la clave para trasladar PrestaShop correctamente.
- En el Administrador de archivos del nuevo cPanel, navega hasta
public_html/config/. - Busca el archivo
parameters.phpy haz clic en "Editar". - Deberías ver algo como esto:
'database_host' => 'localhost',
'database_name' => 'usuario_viejo_basededatos',
'database_user' => 'usuario_viejo_admin',
'database_password' => 'contraseña_vieja',
- Cambia estos valores por los de la nueva base de datos que creaste en el paso 2.2.
- Guarda el archivo.
[WARNING] Si tu nuevo hosting usa un host de base de datos distinto a
localhost(a veces esmysql.tudominio.com), deberás cambiarlo aquí también. Lo verás en los datos de bienvenida de tu hosting.
Paso 4: Actualizar la URL de la Tienda
Si has cambiado de dominio o de subdirectorio (por ejemplo, de tudominio.com/tienda a tudominio.com), necesitas actualizar la configuración en la base de datos.
4.1. Si el dominio es el mismo
Si mantienes el mismo dominio, puedes saltarte este paso. Pero si tu dominio es temporal (como una IP o un dominio provisional), tendrás que hacerlo.
4.2. Si el dominio cambia
- Ve a phpMyAdmin en el nuevo servidor.
- Selecciona tu base de datos importada.
- Haz clic en la pestaña "SQL" y ejecuta la siguiente consulta, reemplazando las URLs:
UPDATE ps_shop_url SET domain='tudominionuevo.com', domain_ssl='tudominionuevo.com' WHERE id_shop=1;
Reemplaza ps_ por el prefijo de tus tablas (si lo tienes personalizado) y tudominionuevo.com por tu dominio real.
[TIP] También puedes buscar y reemplazar la URL antigua en toda la base de datos con herramientas como "Search Replace DB" (un script PHP) o mediante consultas SQL adicionales para las tablas
ps_configurationyps_shop_url. Si no te sientes cómodo con SQL, busca en Google "buscar reemplazar prestashop base de datos".
Paso 5: Limpiar Cache y Ajustes Finales
Tu tienda está casi lista. Ahora hay que "despertarla" correctamente.
5.1. Eliminar la carpeta de caché y compilación
PrestaShop guarda archivos temporales que pueden causar errores si se quedan obsoletos.
- En el Administrador de archivos, navega a
public_html/var/cache/(para PrestaShop 1.7+) opublic_html/cache/(para 1.6). - Elimina todo el contenido de las carpetas
devyprod(oclass_index.phpycache.phpen versiones antiguas). - También borra el contenido de
public_html/var/logs/si existe.
5.2. Activar el modo Debug (para detectar errores)
Si al abrir la web ves una pantalla blanca, activa el modo debug para ver el error exacto.
- En
config/defines.inc.php, busca la líneadefine('_PS_MODE_DEV_', false);y cámbiala atrue. - Recarga la web, anota el error, y luego vuelve a ponerla en
false.
5.3. Configurar el .htaccess
PrestaShop genera un archivo .htaccess automáticamente, pero a veces no se regenera al migrar.
- Ve a
public_html/y busca el archivo.htaccess. - Si no existe, ve al back-office de tu tienda (
/admin123o la URL que uses) y en Parámetros avanzados > Rendimiento activa y desactiva la opción "Reescribir URL" (o "URLs amigables"). Esto forzará la regeneración del archivo.
Solución de Problemas Comunes (FAQ)
Aquí te dejo las dudas más habituales cuando hablamos de cPanel migrar web con PrestaShop.
¿Por qué veo una página de "Error de conexión a la base de datos"?
Esto significa que el archivo parameters.php tiene datos incorrectos o que la base de datos no fue importada correctamente. Revisa los nombres de usuario, contraseña y el host de la base de datos.
¿Por qué mi tienda carga pero no se ven las imágenes?
Esto es un problema de permisos o de URLs. Primero, asegúrate de que las carpetas img, themes y modules tengan permisos 755 (o 644 para archivos). Luego, ve a Preferencias > Imágenes y haz clic en "Regenerar miniaturas".
¿Debo cambiar los servidores DNS para migrar PrestaShop?
Sí, pero no al principio. Primero migra todo y prueba con un archivo hosts local o un dominio temporal. Cuando estés seguro de que todo funciona, cambia los DNS en tu registrador de dominios. La propagación puede tardar de 24 a 48 horas.
¿Puedo usar un plugin o módulo para la migración?
Existen módulos de pago como "PrestaShop Migration" que automatizan el proceso, pero para una migración puntual, hacerlo manual como te he explicado es muy fiable y gratis.
¿Y si mi web usa HTTPS?
Asegúrate de tener el certificado SSL instalado en el nuevo servidor antes de cambiar los DNS. Luego, en la base de datos, verifica que las URLs en ps_shop_url tengan domain_ssl configurado.
¿Qué pasa con los correos electrónicos de la tienda?
Si usas el correo de tu dominio, tendrás que crear las cuentas de correo en el nuevo cPanel y exportar/importar los buzones si quieres conservar los mensajes antiguos. Otra opción es usar el módulo SMTP de PrestaShop para enviar correos a través de un servicio externo (como Gmail o SendGrid).
Conclusión y Verificación Final
Una vez completados todos los pasos, es hora de la prueba de fuego.
- Recorre tu tienda como si fueras un cliente: mira productos, añade al carrito, intenta hacer un pedido de prueba.
- Revisa el back-office: entra como administrador y navega por los menús.
- Comprueba los logs de errores en el nuevo servidor (cPanel > "Errores de software" o el archivo
logs/de PrestaShop).
Si todo va bien, ya tienes tu tienda migrada y funcionando. Si algo falla, respira hondo y revisa los pasos anteriores. El 90% de los errores de migración PrestaShop se deben a un error tipográfico en el parameters.php o a permisos incorrectos.
[TIP] No borres la copia de seguridad del servidor antiguo hasta que no hayan pasado al menos 72 horas desde el cambio de DNS. Así podrás revertir si surge algún problema imprevisto.
Migrar es un proceso delicado, pero una vez que lo haces, te das cuenta de que es como cambiar de casa: empaquetas, mueves y desempacas. Con esta guía ya tienes el plano. ¡Buena suerte con tu traslado PrestaShop!
