Cómo migrar PrestaShop de un hosting a otro (cPanel)
Mudarse de casa es estresante, pero mudar una tienda online puede ser un dolor de cabeza si no se hace con calma. Si estás leyendo esto, probablemente te hayas hartado de tu hosting actual por lentitud, caídas o soporte deficiente, o quizás necesitas más recursos. La buena noticia es que migrar PrestaShop de un hosting a otro (cPanel) es un proceso totalmente factible, incluso si no eres un experto en informática. En esta guía extensa y paso a paso, te voy a explicar, como si estuvieras hablando con un amigo técnico, cómo hacer el cambio hosting PrestaShop sin perder ventas, datos ni cordura.
Vamos a desglosarlo en fases muy claras: preparación, copia de seguridad, creación de la base de datos, subida de archivos, configuración final y verificación. Al final, tendrás tu tienda funcionando en el nuevo servidor como si nada hubiera pasado.
Fase 1: Preparación y Planificación (La Clave del Éxito)
Antes de tocar nada, respira hondo. La improvisación es tu peor enemiga aquí. Una migración exitosa requiere un plan. No se trata solo de copiar y pegar archivos; hay que entender qué hace funcionar a PrestaShop: los archivos de código (PHP, imágenes, temas, módulos) y la base de datos (donde están tus productos, clientes y pedidos). Ambos deben viajar juntos y en perfecta sincronía.
1.1. Elige el Momento Perfecto
Elige una hora de bajo tráfico para tu tienda. Idealmente, un día entre semana por la madrugada. Si tienes una tienda global, intenta buscar un hueco donde las ventas sean mínimas. Esto reduce el riesgo de perder pedidos en el proceso y te da margen para solucionar imprevistos sin que los clientes se quejen.
1.2. Reúne tus Credenciales
Necesitarás tener a mano:
- Del hosting actual (origen): Acceso a cPanel (usuario y contraseña) y acceso a phpMyAdmin.
- Del hosting nuevo (destino): Acceso a cPanel (usuario y contraseña), acceso a phpMyAdmin y los datos de acceso FTP (FileZilla o similar) o el Administrador de Archivos del cPanel.
- Datos de la tienda: Acceso al panel de administración de PrestaShop (para ponerla en modo mantenimiento).
1.3. Activa el Modo Mantenimiento (Crucial)
Este paso es obligatorio. No quieres que un cliente compre mientras estás moviendo los archivos, porque la tienda estará inestable o incompleta.
- Accede a tu panel de administración de PrestaShop (normalmente en
tudominio.com/admin). - Ve a Parámetros avanzados > Rendimiento (en versiones nuevas) o busca la opción Preferencias > Mantenimiento (en versiones antiguas).
- Activa el Modo mantenimiento (pon el interruptor en "Sí").
- Guarda los cambios.
[TIP] Aprovecha para poner un mensaje bonito en la pantalla de mantenimiento: "Estamos mejorando para servirte mejor". Así los clientes que lleguen no se asustarán.
Fase 2: Crear una Copia de Seguridad Completa (Tu Red de Seguridad)
Ahora viene la parte técnica, pero no te preocupes, es más fácil de lo que parece. Necesitas dos copias: una de los archivos y otra de la base de datos. Esta es tu red de seguridad. Si algo sale mal en el destino, siempre puedes volver al origen.
2.1. Copia de Seguridad de la Base de Datos (La Mente de tu Tienda)
La base de datos contiene toda la información crítica: productos, clientes, pedidos, precios, etc. Es el corazón de PrestaShop.
- Entra en el cPanel de tu hosting actual.
- Busca la sección Bases de Datos y haz clic en phpMyAdmin.
- En el panel izquierdo, verás una lista de bases de datos. Haz clic en el nombre de la base de datos de tu PrestaShop (suele tener un prefijo como
presta_oshop_). - Arriba, verás una pestaña que dice Exportar. Haz clic en ella.
- En el método de exportación, elige Rápido y asegúrate de que el formato sea SQL. Haz clic en Continuar.
- Se descargará un archivo con extensión
.sql. Guárdalo en un lugar seguro de tu ordenador. ¡Este archivo es oro puro!
2.2. Copia de Seguridad de los Archivos (El Cuerpo de tu Tienda)
Ahora necesitas copiar todos los archivos de tu tienda: fotos, temas, módulos, código PHP... Todo.
- Vuelve al cPanel de tu hosting actual.
- Ve a la sección Archivos y haz clic en Administrador de Archivos.
- Navega hasta la carpeta
public_html(owww, dependiendo del hosting). Dentro de ella estarán todos los archivos de tu PrestaShop. - Selecciona todos los archivos y carpetas (puedes usar Ctrl+A o el botón de seleccionar todo). Es importante que selecciones el contenido, no la carpeta
public_htmlen sí, para que luego la estructura encaje bien. - Haz clic en Comprimir y elige el formato Zip. Se creará un archivo
.zipcon todos tus archivos. - Espera a que termine la compresión. Dependiendo del tamaño de tu tienda, puede tardar unos minutos.
- Descarga ese archivo
.zipa tu ordenador.
[WARNING] Nunca subas el archivo
.zipdirectamente a tu nuevo hosting sin descomprimirlo. PrestaShop no funcionará si los archivos están comprimidos.
Fase 3: Preparar el Nuevo Hosting (El Destino)
Ahora vamos a trabajar en tu nuevo hosting. La idea es dejar la casa lista para recibir a los nuevos inquilinos.
3.1. Crear la Base de Datos en el Nuevo Hosting
Necesitamos una base de datos vacía donde importaremos la que acabamos de exportar.
- Entra en el cPanel de tu nuevo hosting.
- Ve a la sección Bases de Datos y haz clic en Bases de Datos MySQL.
- Crea una nueva base de datos con un nombre descriptivo (ej:
presta_shop_nueva). - También necesitarás crear un usuario MySQL y asignarle una contraseña segura. Haz clic en Usuarios MySQL y crea uno nuevo (ej:
presta_user). - Ahora, ve a Añadir Usuario a Base de Datos. Selecciona tu nueva base de datos y tu nuevo usuario. En los privilegios, elige Todos los privilegios (o "TODOS LOS PRIVILEGIOS"). Esto es esencial para que PrestaShop funcione correctamente.
3.2. Importar la Base de Datos Antigua
- En el cPanel nuevo, haz clic en phpMyAdmin.
- Selecciona la base de datos que acabas de crear (en el panel izquierdo).
- Ve a la pestaña Importar.
- Haz clic en Elegir archivo y selecciona el archivo
.sqlque descargaste antes. - Haz clic en Continuar. Espera a que el proceso termine. Si la base de datos es muy grande, puede tardar un poco.
[INFO] Si la importación falla por tamaño, puede que necesites aumentar el límite de subida de PHP en tu cPanel. Busca la opción "MultiPHP INI Editor" o similar, y sube el valor de
upload_max_filesizeypost_max_sizea, por ejemplo, 128M.
Fase 4: Subir y Descomprimir los Archivos
Esta es la parte más pesada, pero no es complicada. Tienes dos opciones: usar el Administrador de Archivos del cPanel o un cliente FTP como FileZilla.
4.1. Opción A: Usando el Administrador de Archivos (Más Sencillo)
- En el cPanel nuevo, ve a Archivos > Administrador de Archivos.
- Navega hasta la carpeta
public_html. - Importante: Si hay archivos por defecto (como
index.htmlocgi-bin), bórralos para dejar la carpeta limpia. - Haz clic en Subir y selecciona el archivo
.zipque descargaste. - Una vez subido, verás el archivo
.zipen el listado. Haz clic derecho sobre él y selecciona Extraer (o Extract). - El sistema descomprimirá todos los archivos en la carpeta
public_html. Esto puede tardar unos minutos. Espera a que termine.
4.2. Opción B: Usando FTP (FileZilla) (Más Control)
- Descarga e instala FileZilla en tu ordenador.
- Conéctate a tu nuevo hosting usando el host (normalmente
ftp.tudominio.como la IP del servidor), el usuario y la contraseña FTP que te dio tu proveedor. - En el panel derecho (servidor), navega hasta
public_html. - En el panel izquierdo (local), navega hasta donde tienes el archivo
.zip. - No subas el
.zip. Arrastra los archivos ya descomprimidos desde tu ordenador al servidor. Si no los has descomprimido, hazlo localmente primero. - Sube todo el contenido. Este proceso es más lento, pero te permite ver el progreso archivo por archivo.
[WARNING] Asegúrate de que la estructura de carpetas quede correcta:
public_html/config/,public_html/img/,public_html/modules/, etc. No debe haber una carpeta extra dentro depublic_html.
Fase 5: Configuración Final y Ajustes (Los Detalles que Importan)
Ahora viene la parte más delicada: conectar los archivos a la nueva base de datos y ajustar las URLs.
5.1. Modificar el Archivo de Configuración (parameters.php)
PrestaShop guarda los datos de conexión a la base de datos en un archivo concreto. Tenemos que decirle que ahora se conecte a la nueva base de datos.
- En el Administrador de Archivos del nuevo hosting, navega a
public_html/app/config/. - Busca el archivo parameters.php.
- Haz clic derecho sobre él y selecciona Editar (o Edit).
- Verás un código PHP con datos como
'database_host','database_name','database_user'y'database_password'. - Modifica estos valores con los datos de tu nueva base de datos (la que creaste en el paso 3.1).
'database_host'suele serlocalhost, pero si tu hosting usa un host remoto, te lo indicarán.'database_name'es el nombre de tu nueva base de datos.'database_user'es el usuario que creaste.'database_password'es la contraseña de ese usuario.
- Guarda los cambios y cierra el editor.
[WARNING] Este archivo es muy sensible. Si lo editas mal, la tienda no cargará. Hazlo con cuidado y guarda una copia de seguridad del archivo original por si acaso.
5.2. Verificar y Actualizar las URLs en la Base de Datos
Es muy probable que tu tienda tenga URLs absolutas (ej: http://www.tudominio.com/...) guardadas en la base de datos. Si tu dominio no cambia, no tendrás que hacer nada. Pero si estás probando en un dominio temporal o una IP, tendrás que actualizarlas.
- Ve a phpMyAdmin en tu nuevo hosting.
- Selecciona tu nueva base de datos.
- Haz clic en la pestaña SQL.
- Ejecuta la siguiente consulta SQL (reemplaza
tudominio.compor tu dominio real ypresta_por el prefijo de tus tablas):
También puedes usar una consulta más global para reemplazar en todas las tablas:UPDATE presta_shop_url SET domain='tudominio.com', domain_ssl='tudominio.com' WHERE main=1;
Nota: Ajusta el prefijoUPDATE presta_configuration SET value = REPLACE(value, 'http://www.tudominio.com', 'https://www.tudominio.com');presta_al tuyo real (lo puedes ver en el nombre de las tablas en el panel izquierdo).
[INFO] Si tu tienda usaba HTTP y ahora usas HTTPS, o viceversa, es crucial que actualices estas URLs. De lo contrario, los recursos (imágenes, CSS, JS) se cargarán desde la URL antigua y darán error.
5.3. Limpiar la Carpeta var/cache
PrestaShop guarda archivos de caché que pueden causar conflictos con la nueva configuración.
- En el Administrador de Archivos, navega a
public_html/var/cache/(opublic_html/cache/en versiones antiguas). - Selecciona todos los archivos y carpetas dentro de esa carpeta y bórralos. No borres la carpeta
cacheen sí, solo su contenido. - Si no puedes borrarlos, haz clic derecho y cambia los permisos a 755 o 777 temporalmente.
Fase 6: Probar, Probar y Probar
Este es el momento de la verdad. No des de alta el servicio en el hosting antiguo hasta que estés 100% seguro de que todo funciona.
6.1. Prueba el Front Office (La Tienda)
- Escribe tu dominio en el navegador (si has cambiado las DNS) o usa la URL temporal.
- Comprueba que la página de inicio carga correctamente.
- Navega por varias categorías y productos. Haz clic en las imágenes para ver si cargan.
- Añade un producto al carrito y pasa por el proceso de checkout (sin pagar, solo para ver si llega a la pasarela de pago).
- Prueba el buscador interno.
6.2. Prueba el Back Office (El Panel de Administración)
- Accede a
tudominio.com/admin. - Inicia sesión con tus credenciales.
- Ve a Catálogo > Productos y comprueba que aparecen todos.
- Ve a Clientes > Clientes y verifica que los datos están ahí.
- Ve a Pedidos y mira si el historial está completo.
- Prueba a desactivar el modo mantenimiento desde Parámetros avanzados > Rendimiento.
6.3. Verifica los Correos Electrónicos
PrestaShop envía correos (confirmaciones de pedido, recuperación de contraseñas). Asegúrate de que el envío de correos funciona.
- Ve a Parámetros avanzados > E-mail.
- Envía un correo de prueba para verificar que la configuración SMTP es correcta o que la función
mail()de PHP está activa.
Fase 7: Migrar el Dominio y Dar de Baja el Hosting Antiguo
Si tu dominio ya apunta al nuevo hosting, genial. Si no, tendrás que cambiar los Servidores DNS (Nameservers) de tu dominio en el registrador donde lo compraste (GoDaddy, Namecheap, etc.). Este cambio puede tardar entre 24 y 48 horas en propagarse a nivel mundial.
Pasos finales:
- Actualiza las DNS: Pide a tu nuevo proveedor los servidores DNS (suelen ser algo como
ns1.nuevohosting.comyns2.nuevohosting.com). Ve al registrador de tu dominio y cámbialos. - Espera: Una vez que el dominio apunte al nuevo servidor, la tienda funcionará desde allí.
- Desactiva el Modo Mantenimiento: Cuando todo esté verificado, desactiva el modo mantenimiento en el nuevo panel de administración.
- No canceles el hosting antiguo inmediatamente. Mant
